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

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

참고

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

일부 원격 분석이 누락되었습니다.

예제 시나리오:

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

  • 동일한 분수가 일관되게 표시되는 경우 적응 샘플링 때문일 수 있습니다. 이 원인을 확인하려면 개요>Search를 선택하고 요청 또는 기타 이벤트의 instance 확인합니다. 전체 속성 세부 정보를 보려면 속성 섹션의 맨 아래에 있는 줄임표(...)를 선택합니다. 요청 수가 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 App 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>. 에 대한 <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.configApplicationInsights.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.configRequestTrackingTelemetryModule외에도 다음과 같은 원격 분석 모듈이 있어야 합니다.

    <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를 프로젝트에 수동으로 추가할 수 있습니다.
  • 업데이트 3 이상이 Visual Studio 2013 있는지 확인합니다. Application Insights SDK를 제공하는 Developer Analytics 도구와 함께 미리 설치됩니다.
  • 도구>확장 및 업데이트 선택합니다. 그런 다음 Developer Analytics Tools 설치 및 사용 여부를 검사. 설치 및 사용하도록 설정된 경우 업데이트 선택하여 사용 가능한 업데이트가 있는지 확인합니다.
  • 새 프로젝트 대화 상자를 열고 ASP.NET 웹 애플리케이션을 선택합니다. Application Insights 옵션이 표시되면 도구가 설치됩니다. 그렇지 않은 경우 Developer Analytics 도구를 제거하고 다시 설치합니다.

Application Insights 추가 실패

예제 시나리오:

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

다음과 같은 원인이 될 수 있습니다.

수정:

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

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

예제 시나리오:

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

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

Visual Studio에서 Application Insights를 여는 메뉴 명령이 없습니다.

예제 시나리오:

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

다음과 같은 원인이 될 수 있습니다.

  • Application Insights 리소스를 수동으로 만들었습니다.
  • 프로젝트는 Application Insights 도구가 지원하지 않는 형식입니다.
  • Visual Studio의 instance Developer Analytics 도구를 사용할 수 없습니다.
  • Visual Studio 버전이 Visual Studio 2013 업데이트 3보다 오래되었습니다.

수정:

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

그렇지 않으면 프로젝트 유형이 개발자 분석 도구에서 직접 지원되지 않습니다. 원격 분석을 보려면 Azure Portal 로그인하고 Application Insights를 검색하여 선택하고 애플리케이션을 선택합니다.

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

예제 시나리오:

"Application Insights 열기" 메뉴 명령은 나를 Azure Portal 데려다 주지만 "액세스 거부" 오류가 발생합니다.

기본 브라우저에서 마지막으로 사용한 Microsoft 로그인은 Application Insights가 이 앱에 추가되었을 때 생성된 리소스에 액세스할 수 없습니다. 다음과 같은 두 가지 원인이 있을 수 있습니다.

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

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

예제 시나리오:

"Application Insights 열기" 메뉴 명령은 나를 Azure Portal 데려다 주지만 "자산을 찾을 수 없음" 오류가 발생합니다.

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

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

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

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

  • 솔루션 탐색기 프로젝트를 마우스 오른쪽 단추로 클릭하고 Application Insights Application Insights>구성을 선택합니다. 대화 상자에서 기존 리소스에 원격 분석을 보내거나 새 리소스를 만들도록 선택할 수 있습니다.
  • 리소스를 직접 엽니다. Azure Portal 로그인하고 Application Insights를 검색하여 선택한 다음 애플리케이션을 선택합니다.

원격 분석은 어디에서 찾을 수 있나요?

예제 시나리오:

Azure Portal 로그인했고 Azure 홈 dashboard 보고 있습니다. 그렇다면 Application Insights 데이터는 어디에서 찾을 수 있나요?

서버 데이터 없음(또는 데이터가 전혀 없음)

예제 시나리오:

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

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

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

  • Application Insights 포털에서 개요>Search를 선택합니다. 데이터는 일반적으로 여기에 먼저 표시됩니다.

  • 새로 고침을 선택합니다. 창은 주기적으로 새로 고쳐지지만 수동으로 새로 고칠 수도 있습니다. 더 큰 시간 범위의 경우 새로 고침 간격이 더 깁니다.

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

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

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

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

  • 상태 블로그를 확인하세요.

  • 인스턴스 또는 TelemetryContext에서 연결 문자열 변경할 수 있는 서버 쪽 SDKTelemetryClient 대한 코드를 작성했나요? 아니면 너무 많이 필터링할 수 있는 필터 또는 샘플링 구성 을 작성했나요?

  • ApplicationInsights.config편집한 경우 TelemetryInitializers 및 <TelemetryProcessors>> 요소의< 구성을 신중하게 검사. 잘못 명명된 형식 또는 매개 변수로 인해 SDK에서 데이터를 보내지 않을 수 있습니다.

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

예제 시나리오:

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

데이터는 웹 페이지의 스크립트에서 가져옵니다.

  • 기존 웹 프로젝트에 Application Insights를 추가한 경우 스크립트를 직접 추가해야 합니다.
  • 인터넷 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 애플리케이션에서 발생합니다. 유출된 각 instance 두 개의 추가 스레드를 만들어 시간이 지남에 따라 프로세스의 스레드 수가 지속적으로 증가합니다. 점점 더 많은 스레드를 관찰하는 경우 TelemetryConfiguration 개체의 누출을 검사 것이 중요합니다.

TelemetryConfiguration 누수의 일반적인 원인

개체 누수 TelemetryConfiguration 의 두 가지 주요 원인은 다음과 같습니다.

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

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

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

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

예상하는 데이터가 모두 표시되지 않습니다.

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

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

클라이언트 IP 주소는 0.0.0.0입니다.

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

참고

IP 주소의 처음 3개 옥텟이 필요한 경우 원격 분석 이니셜라이저 를 사용하여 사용자 지정 특성을 추가할 수 있습니다. 이 문제는 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. ConfigureServicesStartup.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 피드백 커뮤니티에 제품 피드백을 제출할 수도 있습니다.