다음을 통해 공유


데이터 없음 문제 해결: .NET 및 .NET Core용 Application Insights

이 문서에서는 .NET 및 .NET Core용 Application Insights를 사용할 때 데이터가 없거나 표시되지 않는 경우 문제를 해결하는 데 도움이 되는 문제 해결 정보를 제공합니다.

참고 항목

이 문서는 최근에 Log Analytics 대신 Azure Monitor 로그라는 용어를 사용하도록 업데이트되었습니다. 로그 데이터는 여전히 Log Analytics 작업 영역에 저장되며 동일한 Log Analytics 서비스에서 수집 및 분석됩니다. Azure Monitor에서 로그의 역할을 더 잘 반영하도록 용어를 업데이트하고 있습니다. 자세한 내용은 Azure Monitor 용어 변경을 참조 하세요.

일부 원격 분석이 누락됨

예제 시나리오:

Application Insights에서 내 앱이 생성하는 이벤트의 일부만 표시됩니다.

  • 동일한 부분이 일관되게 표시되는 경우 적응 샘플링때문일 것입니다. 이 원인을 확인하려면 개요>검색을 선택하고 요청 또는 기타 이벤트의 인스턴스를 확인합니다. 전체 속성 세부 정보를 보려면 속성 섹션의 맨 아래에 있는 줄임표(...)를 선택합니다. 요청 수가 1보다 크면 샘플링이 작동합니다.
  • 요금제의 데이터 속도 제한 에 도달한 것일 수 있습니다. 이러한 제한은 분당으로 적용됩니다.

임의로 데이터 손실이 발생합니다.

참고 항목

데이터가 누락된 경우 백 엔드에서 데이터가 거부될 수 있습니다. 이 상황은 다음과 같은 원인을 포함하여 다양한 이유로 발생할 수 있습니다.

  • 필수 필드가 없습니다.
  • 하나 이상의 필드가 크기 제한을 초과합니다.
  • SDK는 예외를 throw하는 대신 자동으로 실패합니다.

Fiddler와 같은 도구 또는 HTTP 트래픽을 검사하는 다른 도구를 사용하여 성공적인 원격 분석 업로드를 확인할 수 있습니다. 백 엔드는 성공적인 업로드를 나타내기 위해 "200 OK" HTTP 상태 코드를 반환합니다. 또는 SDK 로그를 사용하여 백 엔드가 데이터를 거부하는지 확인할 수 있습니다.

앱이 중지되려고 할 때 콘솔 앱 또는 웹앱에서 데이터 손실이 발생합니다.

  • SDK 채널은 원격 분석을 버퍼에 유지하고 일괄 처리로 보냅니다. 애플리케이션이 종료되는 경우 Flush()를 명시적으로 호출해야 할 수 있습니다. 동작은 Flush() 사용되는 실제 채널 에 따라 달라집니다.
  • .NET Core/.NET Framework 콘솔 애플리케이션에 따라 콘솔 앱에서 명시적으로 호출한 다음 절전 모드를 호출 Flush() 해야 합니다.

Application Insights SDK에서 수집된 요청 수가 내 애플리케이션의 IIS 로그 수와 일치하지 않습니다.

iiS(인터넷 정보 서비스)는 IIS에 도달하고 애플리케이션에 도달하는 총 요청과 본질적으로 다를 수 있는 모든 요청의 수를 기록합니다. 이 동작으로 인해 SDK에서 수집한 요청 수가 총 IIS 로그 수와 일치한다고 보장되지는 않습니다.

내 서버에서 데이터 없음

예제 시나리오:

웹 서버에 앱을 설치했는데 이제 원격 분석이 표시되지 않습니다. 내 개발 컴퓨터에서 정상 작동

방화벽 문제가 원인일 가능성이 높습니다. Application Insights에 대한 방화벽 예외를 설정하여 데이터를 전송합니다.

기존 앱을 모니터링하기 위해 웹 서버에 Azure Monitor Application Insights 에이전트를 설치했습니다. 결과가 표시되지 않습니다.

상태 모니터 문제 해결을 참조하세요.

TLS/SSL 클라이언트 설정 확인(ASP.NET)

Azure 앱 Service 또는 가상 머신의 IIS에서 호스트되는 ASP.NET 애플리케이션이 있는 경우 SSL 보안 프로토콜이 누락되어 애플리케이션이 스냅샷 디버거 서비스에 연결하지 못할 수 있습니다.

스냅샷 디버거 엔드포인트에는 TLS 버전 1.2이 필요함 SSL 보안 프로토콜 집합은 web.config 파일 섹션에서 요소의 targetFramework 특성 값에 <system.web> 의해 <httpRuntime> 활성화되는 단점 중 하나입니다. 대상 프레임워크가 4.5.2 이하인 경우 TLS 1.2는 기본적으로 포함되지 않습니다.

참고 항목

<httpRuntime> 요소의 targetFramework 특성 값은 애플리케이션을 빌드할 때 사용되는 대상 프레임워크와 독립적입니다.

설정을 확인하려면 web.config 파일을 열고 섹션을 찾습니다<system.web>. for <httpRuntime>targetFramework 4.6 이상으로 설정되어 있는지 확인합니다.

<system.web>
  ...
  <httpRuntime targetFramework="4.7.2" />
  ...
</system.web>

참고 항목

요소 값을 targetFramework 수정하면 <httpRuntime> 애플리케이션에 적용되는 런타임 단점이 변경되고 다른 미묘한 동작이 변경될 수 있습니다. 이 변경 후 애플리케이션을 철저히 테스트해야 합니다. 호환성 변경 내용의 전체 목록은 변경 내용 다시 대상 지정을 참조하세요.

대상 프레임워크가 4.7 이상인 경우 Windows는 사용 가능한 프로토콜을 결정합니다. Azure App Service에서는 TLS 1.2를 사용할 수 있습니다. 그러나 사용자 고유의 가상 머신을 사용하는 경우 OS에서 TLS 1.2를 사용하도록 설정해야 할 수 있습니다.

FileNotFoundException: “파일 또는 어셈블리 Microsoft.AspNet TelemetryCorrelation을 로드할 수 없습니다.”

이 오류에 대한 자세한 내용은 GitHub 문제 1610을 참조 하세요.

버전 2.4보다 오래된 Application Insights SDK에서 업그레이드하는 경우 web.config 및 ApplicationInsights.config 파일에 다음 변경 내용이 적용되었는지 확인합니다.

  1. web.config에는 HTTP 모듈이 하나 대신 두 개 있어야 합니다. 일부 시나리오에서는 순서가 중요합니다.

    <system.webServer>
      <modules>
        <add name="TelemetryCorrelationHttpModule"
          type="Microsoft.AspNet.TelemetryCorrelation.TelemetryCorrelationHttpModule, Microsoft.AspNet.TelemetryCorrelation"
          preCondition="integratedMode,managedHandler" />
        <add name="ApplicationInsightsHttpModule"
          type="Microsoft.ApplicationInsights.Web.ApplicationInsightsHttpModule, Microsoft.AI.Web"
          preCondition="managedHandler" />
      </modules>
    </system.webServer>
    
  2. ApplicationInsights.config 외에도 RequestTrackingTelemetryModule다음과 같은 원격 분석 모듈이 있어야 합니다.

    <TelemetryModules>
      <Add Type="Microsoft.ApplicationInsights.Web.AspNetDiagnosticTelemetryModule, Microsoft.AI.Web"/>
    </TelemetryModules>
    

제대로 업그레이드하지 못하면 예기치 않은 예외 또는 원격 분석이 수집되지 않을 수 있습니다.

Visual Studio에 "Application Insights 추가" 옵션이 없음

시나리오 예:

솔루션 탐색기 기존 프로젝트를 마우스 오른쪽 단추로 클릭하면 Application Insights 옵션이 표시되지 않습니다.

  • 도구는 모든 유형의 .NET 프로젝트를 지원하지 않습니다. 웹 및 WCF(Windows Communication Foundation) 프로젝트가 지원됩니다. 데스크톱 또는 서비스 애플리케이션과 같은 다른 프로젝트 형식의 경우 Application Insights SDK를 프로젝트에 수동으로 추가할 수 있습니다.
  • Visual Studio 2013 업데이트 3 이후가 설치되어 있는지 확인하세요. Application Insights SDK를 제공하는 개발자 분석 도구가 사전 설치되어 제공됩니다.
  • 도구>확장 및 업데이트를 선택합니다. 그런 다음 개발자 분석 도구가 설치되고 사용하도록 설정되어 있는지 확인합니다. 설치되고 사용하도록 설정된 경우 업데이트를 선택하여 사용 가능한 업데이트가 있는지 확인합니다 .
  • 새 프로젝트 대화 상자를 열고 ASP.NET 웹 애플리케이션을 선택합니다. Application Insights 옵션이 표시되면 도구가 설치됩니다. 그렇지 않은 경우 개발자 분석 도구를 제거하고 다시 설치합니다.

Application Insights 추가 실패

시나리오 예:

기존 프로젝트에 Application Insights를 추가하려고 하면 오류 메시지가 표시됩니다.

가능한 원인:

Fix:

  • 올바른 Azure 계정에 대한 로그인 자격 증명을 제공했는지 확인합니다.
  • 브라우저에서 Azure 포털에 대한 액세스 권한이 있는지 확인합니다. 설정을 열고 제한이 있는지 확인합니다.
  • 기존 프로젝트에 Application Insights를 추가합니다. 솔루션 탐색기 프로젝트를 마우스 오른쪽 단추로 클릭하고 Application Insights 추가를 선택합니다.

빌드 서버의 "NuGet 패키지가 없습니다."

시나리오 예:

개발 머신에서 디버깅할 때 모든 항목이 정상적으로 빌드되지만 빌드 서버에서 NuGet 오류가 발생합니다.

NuGet 패키지 복원자동 패키지 복원을 참조하세요.

Visual Studio에서 Application Insights를 여는 메뉴 명령 누락

시나리오 예:

프로젝트 솔루션 탐색기 마우스 오른쪽 단추로 클릭하면 Application Insights 명령이 표시되지 않거나 Application Insights 열기 명령이 표시되지 않습니다.

가능한 원인:

  • Application Insights 리소스를 수동으로 만들었습니다.
  • 이 프로젝트는 Application Insights 도구에서 지원하지 않는 형식입니다.
  • 개발자 분석 도구는 Visual Studio 인스턴스에서 사용할 수 없습니다.
  • Visual Studio 버전은 Visual Studio 2013 업데이트 3보다 오래된 버전입니다.

Fix:

  • Visual Studio 버전이 Visual Studio 2013 업데이트 3 이상인지 확인합니다.
  • 도구>확장 및 업데이트를 선택합니다. 개발자 분석 도구설치되고 사용하도록 설정되어 있는지 확인합니다. 설치되고 사용하도록 설정된 경우 업데이트를 선택하여 사용 가능한 업데이트가 있는지 확인합니다 .
  • 솔루션 탐색기에서 프로젝트를 마우스 오른쪽 단추로 클릭합니다. Application Insights Application Insights>구성 명령이 표시되면 Application Insights 서비스의 리소스에 프로젝트를 연결하는 데 사용합니다.

그렇지 않으면 프로젝트가 Developer Analytics Tools에서 바로 지원되지 않는 유형입니다. 원격 분석을 보려면 Azure Portal에 로그인하고 Application Insights를 검색하여 선택하고 애플리케이션을 선택합니다.

Visual Studio에서 Application Insights를 열 때 "액세스 거부됨"

시나리오 예:

"Application Insights 열기" 메뉴 명령은 Azure Portal로 이동하지만 "액세스 거부" 오류가 발생합니다.

기본 브라우저에서 마지막으로 사용한 Microsoft 로그인은 이 앱에 Application Insights를 추가할 때 만들어진 리소스에 대한 액세스 권한을 갖고 있지 않습니다. 다음과 같은 두 가지 원인이 있을 수 있습니다.

원인 해결 방법
둘 이상의 Microsoft 계정(회사 및 개인 Microsoft 계정)이 있습니다. 이 경우 기본 브라우저에서 마지막으로 사용한 로그인은 Application Insights를 프로젝트에 추가할 수 있는 액세스 권한이 있는 계정과 다른 계정에 대한 것입니다. 브라우저 창의 오른쪽 위 모서리에서 이름을 선택하고 로그아웃합니다. 그런 다음 액세스 권한이 있는 계정으로 로그인합니다. Application Insights를 검색하여 선택하고 애플리케이션을 선택합니다.
다른 사용자가 프로젝트에 Application Insights를 추가했고, 사용자가 만든 리소스 그룹에 대한 액세스 권한을 부여하는 것을 잊어버렸습니다. 조직 계정을 사용한 경우 팀에 추가할 수 있습니다. 또는 리소스 그룹에 대한 개별 액세스 권한을 부여할 수 있습니다.

Visual Studio에서 Application Insights를 열 때 "자산을 찾을 수 없음"

시나리오 예:

"Application Insights 열기" 메뉴 명령은 Azure Portal로 이동하지만 "자산을 찾을 수 없음" 오류가 발생합니다.

다음과 같은 두 가지 원인이 있을 수 있습니다.

  • 애플리케이션에 대한 Application Insights 리소스가 삭제되었습니다.
  • 프로젝트 파일을 업데이트하지 않고 ApplicationInsights.config에서 연결 문자열 설정하거나 변경했습니다.

ApplicationInsights.config 파일의 연결 문자열 원격 분석이 전송되는 위치를 제어합니다. 프로젝트 파일의 줄은 Visual Studio에서 명령을 사용할 때 열리는 리소스를 제어합니다.

다음 수정 사항 중 하나를 적용합니다.

내 원격 분석은 어디서 찾을 수 있습니까?

시나리오 예:

Azure Portal에 로그인했고 Azure 홈 대시보드를 보고 있습니다. 내 Application Insights 데이터는 어디서 찾나요?

  • Application Insights를 검색하여 선택하고 애플리케이션을 선택합니다. 선택할 프로젝트가 없는 경우 웹 프로젝트에서 Application Insights를 추가 또는 구성해야 합니다. 요약 차트를 탐색하여 자세한 내용을 볼 수 있습니다.
  • Visual Studio에서 앱을 디버깅하는 동안 Application Insights 단추를 선택합니다.

서버 데이터 없음(데이터가 하나도 없음)

시나리오 예:

내 앱을 실행한 다음 Microsoft Azure에서 Application Insights 서비스를 열었지만 모든 차트에는 "수집하는 방법 알아보기", "구성되지 않음" 또는 페이지 보기 및 사용자 데이터만 표시되지만 서버 데이터는 표시되지 않습니다.

  • Visual Studio의 디버그 모드에서 애플리케이션을 실행합니다(F5). 애플리케이션을 사용하여 일부 원격 분석을 생성합니다. Visual Studio 출력 창에서 기록된 이벤트를 볼 수 있는지 확인합니다.

    Visual Studio에서 디버그 모드로 실행되는 애플리케이션을 보여 주는 스크린샷

  • Application Insights 포털에서 개요>검색을 선택합니다. 일반적으로 데이터는 여기에 처음으로 나타납니다.

  • 새로 고침을 선택합니다. 창은 주기적으로 새로 고쳐지지만 수동으로 새로 고칠 수도 있습니다. 시간 범위가 커지면 새로 고침 간격이 길어집니다.

  • 연결 문자열 일치하는지 확인합니다. Application Insights 포털의 앱에 대한 기본 창의 Essentials 드롭다운 목록에서 연결 문자열을 확인합니다. 그런 다음 Visual Studio의 프로젝트에서 ApplicationInsights.config를 열고 요소를 찾습니다<ConnectionString>. 두 문자열이 같은지 확인합니다. 문자열이 일치하지 않으면 다음 작업 중 하나를 수행합니다.

    Environment 작업
    Azure Portal Application Insights를 검색하여 선택한 다음, 올바른 문자열이 있는 앱 리소스를 찾습니다 .
    Visual Studio Visual Studio 솔루션 탐색기 프로젝트를 마우스 오른쪽 단추로 클릭하고 Application Insights 구성>선택합니다. 올바른 리소스에 원격 분석을 보내도록 앱을 다시 설정합니다.

    일치하는 문자열을 찾을 수 없는 경우 Visual Studio에서 포털에 로그인하는 데 사용하는 것과 동일한 로그인 자격 증명을 사용하고 있는지 확인합니다.

  • Azure Portal에서 Service Health를 검색하고 선택합니다. 맵에 경고 표시가 있는 경우 상태가 될 때까지 기다립니다. 그런 다음 Application Insights 애플리케이션 창을 닫고 다시 엽니다.

  • TelemetryClient 인스턴스 또는 TelemetryContext에서 연결 문자열을 변경할 수 있는 코드를 서버 쪽 SDK에 작성했습니까? 또는 너무 촘촘하게 걸러내는 필터 또는 샘플링 구성을 작성했습니까?

  • ApplicationInsights.config를 편집한 경우 TelemetryInitializers> 및 <TelemetryProcessors> 요소<구성을 주의 깊게 확인합니다. 형식 또는 매개 변수를 잘못 명명하면 SDK에서 빈 데이터를 보내게 될 수 있습니다.

페이지 보기, 브라우저 및 사용량에 대한 데이터 없음

시나리오 예:

서버 응답 시간 및 서버 요청 차트에 데이터가 표시되지만 페이지 보기 로드 시간 또는 브라우저 또는 사용량 창에 데이터가 없습니다.

데이터는 웹 페이지의 스크립트에서 비롯됩니다.

  • 기존 웹 프로젝트에 Application Insights를 추가한 경우 스크립트를 직접 추가해야 합니다.
  • Internet Explorer가 호환성 모드에서 사이트를 표시하고 있는지 확인합니다.
  • 브라우저의 디버그 기능(일부 브라우저에서 F12, 네트워크 선택)을 사용하여 데이터가 전송되고 있는지 확인합니다dc.services.visualstudio.com.

종속성 또는 예외 데이터 없음

종속성 원격 분석예외 원격 분석을 참조하세요.

성능 데이터 없음

CPU 및 I/O 속도와 같은 성능 데이터는 설정>서버에서 다음 환경에 사용할 수 있습니다.

내 서버에 앱을 게시한 이후로 (서버) 데이터가 없음

  • 와 함께 Microsoft.Diagnostics.Instrumentation.Extensions.Intercept.dll서버에 모든 Microsoft.ApplicationInsights DLL을 복사한 것을 확인합니다.
  • 방화벽에서 일부 TCP 포트를 열어야할 수 있습니다.
  • 프록시를 사용하여 회사 네트워크에서 보내야 하는 경우 web.config에서 defaultProxy> 요소를 설정합니다<.

Application Insights를 사용하도록 설정할 때 성능에 미치는 영향

애플리케이션에서 Application Insights SDK를 사용하도록 설정하면 높은 CPU 사용량, 메모리 누수, 스레드 누수 또는 TCP 포트 소모와 같은 성능 문제가 발생할 수 있습니다. 이러한 문제는 일반적으로 개체를 누수하는 애플리케이션에서 발생합니다 Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration . 유출된 각 인스턴스는 두 개의 추가 스레드를 만들어 시간이 지남에 따라 프로세스의 스레드 수가 지속적으로 증가합니다. 스레드 수가 증가하는 것을 관찰하는 경우 TelemetryConfiguration 개체의 누수를 확인하는 것이 중요합니다.

TelemetryConfiguration 누수의 일반적인 원인

개체 누수의 주요 원인은 두 가지입니다.TelemetryConfiguration

  • 코드에서 명시적 만들기: 코드 내에서 개체를 만드는 TelemetryConfiguration 경우 웹 요청당 실수로 만들어지지 않았는지 확인합니다. 대신 공유 전역 인스턴스를 사용합니다. .NET Framework 애플리케이션의 TelemetryConfiguration.Active경우 . .NET Core 애플리케이션의 경우 기본 구성을 가져오는 데 사용합니다 TelemetryConfiguration.CreateDefault() .

  • 부적절한 서비스 공급자 사용: .NET Core 애플리케이션 services.BuildServiceProvider() 에서 .ConfigureServices BuildServiceProvider 메서드는 구성을 초기화하고 읽는 새 서비스 공급자를 만들어 매번 새 TelemetryConfiguration 개체를 만듭니다. 이러한 패턴은 누출로 이어질 수 있으며 이 코딩 방법에 대한 Visual Studio 경고설명된 대로 권장되지 않습니다.

데이터를 보는 데 사용했지만 중지되었습니다.

데이터 요소의 월간 할당량에 도달했습니까? 설정>할당량 및 가격 책정을 열어 확인합니다. 그렇다면 계획을 업그레이드하거나 더 많은 용량을 지불할 수 있습니다. 가격 체계를 참조하세요.

기대한 모든 데이터가 표시되지 않는 경우

애플리케이션이 상당한 데이터를 보내고 ASP.NET 버전 2.0.0-beta3 이상 에 Application Insights SDK를 사용하는 경우 적응 샘플링 기능이 작동하고 원격 분석의 비율만 보낼 수 있습니다.

사용하지 않도록 설정할 수 있지만 사용하지 않는 것이 좋습니다. 샘플링은 관련 원격 분석이 진단 목적으로 올바르게 전송되도록 설계되었습니다.

클라이언트 IP 주소는 0.0.0.0

2018년 2월 5일에 클라이언트 IP 주소의 로깅을 제거했다고 발표했습니다. 이 권장 사항은 지리적 위치에 영향을 주지 않습니다.

참고 항목

IP 주소의 처음 3개 8진수가 필요한 경우 원격 분석 이니셜라이저사용하여 사용자 지정 특성을 추가할 수 있습니다. 이 문제는 2018년 2월 5일 이전에 수집된 데이터에 영향을 주지 않습니다.

사용자 원격 분석에 잘못된 지리적 데이터

도시 및 국가/지역 차원은 IP 주소에서 파생되며 항상 정확하지는 않습니다. 이러한 IP 주소를 먼저 위치에 대해 처리한 다음, 저장할 위치를 0.0.0.0으로 변경합니다.

Azure Cloud Services에서 실행할 때의 "메서드를 찾을 수 없음" 예외

.NET LTS(장기 지원)를 위해 빌드했나요? 이전 버전은 Azure Cloud Services 역할에서 자동으로 지원되지 않습니다. 앱을 실행하기 전에 각 역할에 LTS를 설치합니다.

로그 문제 해결

프레임워크에 대한 문제 해결 로그를 캡처하려면 다음 지침을 따릅니다.

.NET Framework

참고 항목

버전 2.14 부터 Microsoft.AspNet.ApplicationInsights.HostingStartup 패키지는 더 이상 필요하지 않습니다. 이제 SDK 로그가 Microsoft.ApplicationInsights 패키지로 수집됩니다 . 다른 패키지는 필요하지 않습니다.

  1. 다음 XML 코드를 포함하도록 ApplicationInsights.config 파일을 수정합니다.

    <TelemetryModules>
      <Add Type="Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.FileDiagnosticsTelemetryModule, Microsoft.ApplicationInsights">
        <Severity>Verbose</Severity>
        <LogFileName>mylog.txt</LogFileName>
        <LogFilePath>C:\\SDKLOGS</LogFilePath>
      </Add>
    </TelemetryModules>
    

    애플리케이션에 구성된 위치에 대한 쓰기 권한이 있어야 합니다.

  2. SDK에서 이러한 새 설정을 선택할 수 있도록 프로세스를 다시 시작합니다.

  3. 완료되면 이러한 변경 내용을 되돌립니다.

.NET Core

  1. NuGet에서 ASP.NET Core용 Application Insights SDK NuGet 패키지를 설치합니다. 설치한 버전이 현재 설치된 Microsoft.ApplicationInsights 버전과 같아야 합니다.

    최신 버전은 Microsoft.ApplicationInsights.AspNetCore 2.14.0이며 버전 2.14.0을 Microsoft.ApplicationInsights 나타냅니다. 이러한 이유로 설치할 버전은 Microsoft.ApplicationInsights.AspNetCore 2.14.0이어야 합니다.

  2. ConfigureServices Startup.cs 클래스에서 메서드를 수정합니다.

    services.AddSingleton<ITelemetryModule, FileDiagnosticsTelemetryModule>();
    services.ConfigureTelemetryModule<FileDiagnosticsTelemetryModule>( (module, options) => {
        module.LogFilePath = "C:\\SDKLOGS";
        module.LogFileName = "mylog.txt";
        module.Severity = "Verbose";
    } );
    

    애플리케이션에 구성된 위치에 대한 쓰기 권한이 있어야 합니다.

  3. SDK에서 이러한 새 설정을 선택할 수 있도록 프로세스를 다시 시작합니다.

  4. 완료되면 이러한 변경 내용을 되돌립니다.

PerfView를 사용하여 로그 수집

PerfView는 CPU, 메모리 및 기타 문제를 격리하는 데 도움이 되는 무료 도구입니다.

Application Insights SDK 로그 EventSource 에는 PerfView에서 캡처할 수 있는 자체 문제 해결 로그가 있습니다.

로그를 수집하려면 PerfView를 다운로드하고 다음 명령을 실행합니다.

PerfView.exe collect -MaxCollectSec:300 -NoGui /onlyProviders=*Microsoft-ApplicationInsights-Core,*Microsoft-ApplicationInsights-Data,*Microsoft-ApplicationInsights-WindowsServer-TelemetryChannel,*Microsoft-ApplicationInsights-Extensibility-AppMapCorrelation-Dependency,*Microsoft-ApplicationInsights-Extensibility-AppMapCorrelation-Web,*Microsoft-ApplicationInsights-Extensibility-DependencyCollector,*Microsoft-ApplicationInsights-Extensibility-HostingStartup,*Microsoft-ApplicationInsights-Extensibility-PerformanceCollector,*Microsoft-ApplicationInsights-Extensibility-EventCounterCollector,*Microsoft-ApplicationInsights-Extensibility-PerformanceCollector-QuickPulse,*Microsoft-ApplicationInsights-Extensibility-Web,*Microsoft-ApplicationInsights-Extensibility-WindowsServer,*Microsoft-ApplicationInsights-WindowsServer-Core,*Microsoft-ApplicationInsights-LoggerProvider,*Microsoft-ApplicationInsights-Extensibility-EventSourceListener,*Microsoft-ApplicationInsights-AspNetCore,*Redfield-Microsoft-ApplicationInsights-Core,*Redfield-Microsoft-ApplicationInsights-Data,*Redfield-Microsoft-ApplicationInsights-WindowsServer-TelemetryChannel,*Redfield-Microsoft-ApplicationInsights-Extensibility-AppMapCorrelation-Dependency,*Redfield-Microsoft-ApplicationInsights-Extensibility-AppMapCorrelation-Web,*Redfield-Microsoft-ApplicationInsights-Extensibility-DependencyCollector,*Redfield-Microsoft-ApplicationInsights-Extensibility-PerformanceCollector,*Redfield-Microsoft-ApplicationInsights-Extensibility-EventCounterCollector,*Redfield-Microsoft-ApplicationInsights-Extensibility-PerformanceCollector-QuickPulse,*Redfield-Microsoft-ApplicationInsights-Extensibility-Web,*Redfield-Microsoft-ApplicationInsights-Extensibility-WindowsServer,*Redfield-Microsoft-ApplicationInsights-LoggerProvider,*Redfield-Microsoft-ApplicationInsights-Extensibility-EventSourceListener,*Redfield-Microsoft-ApplicationInsights-AspNetCore

필요에 따라 다음 매개 변수를 수정할 수 있습니다.

매개 변수 설명
MaxCollectSec PerfView가 무기한 실행되고 서버의 성능에 영향을 주지 않도록 하려면 이 매개 변수를 설정합니다.
OnlyProviders SDK에서만 로그를 수집하려면 이 매개 변수를 설정합니다. 특정 조사에 따라 이 목록을 사용자 지정할 수 있습니다.
NoGui GUI 없이 로그를 수집하려면 이 매개 변수를 설정합니다.

자세한 내용은 다음을 참조하세요.

dotnet-trace를 사용하여 로그 수집

또는 플랫폼 간 .NET Core 도구인 dotnet-trace를 사용하여 문제 해결에 도움이 될 수 있는 로그를 수집할 수 있습니다. 이 도구는 Linux 기반 환경에 유용할 수 있습니다.

설치 dotnet-trace한 후 bash에서 다음 dotnet-trace collect 명령을 실행합니다.

dotnet-trace collect --process-id <PID> --providers Microsoft-ApplicationInsights-Core,Microsoft-ApplicationInsights-Data,Microsoft-ApplicationInsights-WindowsServer-TelemetryChannel,Microsoft-ApplicationInsights-Extensibility-AppMapCorrelation-Dependency,Microsoft-ApplicationInsights-Extensibility-AppMapCorrelation-Web,Microsoft-ApplicationInsights-Extensibility-DependencyCollector,Microsoft-ApplicationInsights-Extensibility-HostingStartup,Microsoft-ApplicationInsights-Extensibility-PerformanceCollector,Microsoft-ApplicationInsights-Extensibility-EventCounterCollector,Microsoft-ApplicationInsights-Extensibility-PerformanceCollector-QuickPulse,Microsoft-ApplicationInsights-Extensibility-Web,Microsoft-ApplicationInsights-Extensibility-WindowsServer,Microsoft-ApplicationInsights-WindowsServer-Core,Microsoft-ApplicationInsights-LoggerProvider,Microsoft-ApplicationInsights-Extensibility-EventSourceListener,Microsoft-ApplicationInsights-AspNetCore,Redfield-Microsoft-ApplicationInsights-Core,Redfield-Microsoft-ApplicationInsights-Data,Redfield-Microsoft-ApplicationInsights-WindowsServer-TelemetryChannel,Redfield-Microsoft-ApplicationInsights-Extensibility-AppMapCorrelation-Dependency,Redfield-Microsoft-ApplicationInsights-Extensibility-AppMapCorrelation-Web,Redfield-Microsoft-ApplicationInsights-Extensibility-DependencyCollector,Redfield-Microsoft-ApplicationInsights-Extensibility-PerformanceCollector,Redfield-Microsoft-ApplicationInsights-Extensibility-EventCounterCollector,Redfield-Microsoft-ApplicationInsights-Extensibility-PerformanceCollector-QuickPulse,Redfield-Microsoft-ApplicationInsights-Extensibility-Web,Redfield-Microsoft-ApplicationInsights-Extensibility-WindowsServer,Redfield-Microsoft-ApplicationInsights-LoggerProvider,Redfield-Microsoft-ApplicationInsights-Extensibility-EventSourceListener,Redfield-Microsoft-ApplicationInsights-AspNetCore

Application Insights 제거

Visual Studio에서 Application Insights를 제거하려면 Visual Studio에서 Application Insights 제거에 제공된 단계를 따릅니다.

여전히 작동하지 않습니다.

Application Insights에 대한 Microsoft Q&A 페이지를 참조하세요.

타사 정보 고지 사항

이 문서에 나와 있는 다른 공급업체 제품은 Microsoft와 무관한 회사에서 제조한 것입니다. Microsoft는 이들 제품의 성능이나 안정성에 관하여 명시적이든 묵시적이든 어떠한 보증도 하지 않습니다.

도움을 요청하십시오.

질문이 있거나 도움이 필요한 경우 지원 요청을 생성하거나Azure 커뮤니티 지원에 문의하세요. Azure 피드백 커뮤니티에 제품 피드백을 제출할 수도 있습니다.