앱 서비스의 왼쪽 탐색 메뉴에서 Application Insights를 선택한 다음 사용을 선택합니다.
새 리소스를 만들거나 이 애플리케이션에 대한 기존 Application Insights 리소스를 선택합니다.
참고 항목
확인을 선택하여 새 리소스를 만들면 모니터링 설정 적용 메시지가 표시됩니다. 계속을 선택하면 새 Application Insights 리소스가 앱 서비스에 연결됩니다. 그러면 앱 서비스가 다시 시작됩니다.
Important
자동 침입 모니터링 및 수동 SDK 기반 계측이 모두 감지되면 수동 계측 설정만 적용됩니다. 이 배열은 중복 데이터가 전송되는 것을 방지합니다. 자세한 내용은 문제 해결 섹션을 참조하세요.
참고 항목
App Service Environment 변수 블레이드에서 환경 변수를 APPLICATIONINSIGHTS_CONFIGURATION_CONTENT 사용하여 자동으로 연결된 에이전트를 구성할 수 있습니다. 이 환경 변수를 통해 전달할 수 있는 구성 옵션에 대한 자세한 내용은 Node.js 구성을 참조하세요.
Node.js용 Application Insights는 코드 기반 및 사용자 지정 컨테이너의 경우 모두 Azure App Service on Linux와 통합되고 코드 기반 앱의 경우 App Service on Windows와 통합됩니다. 통합은 퍼블릭 미리 보기 상태입니다.
Azure Portal의 자동 침입
앱 서비스의 왼쪽 탐색 메뉴에서 Application Insights를 선택한 다음 사용을 선택합니다.
새 리소스를 만들거나 이 애플리케이션에 대한 기존 Application Insights 리소스를 선택합니다.
참고 항목
확인을 선택하여 새 리소스를 만들면 모니터링 설정 적용 메시지가 표시됩니다. 계속을 선택하면 새 Application Insights 리소스가 앱 서비스에 연결됩니다. 그러면 앱 서비스가 다시 시작됩니다.
Azure Monitor OpenTelemetry 배포판 또는 Azure Monitor OpenTelemetry 내보내기 같은 코드에서 OpenTelemetry의 수동 계측을 사용하지 않는 경우에만 App Service에서 자동 침입을 사용합니다. 이를 통해 중복 데이터가 전송되는 것을 방지합니다. 이 기능에 관한 자세한 내용은 이 문서의 문제 해결 섹션을 확인하세요.
Python용 Application Insights는 코드 기반 Linux Azure App Service와 통합됩니다. 통합은 공개 미리 보기로 제공되며 GA에 있는 Python SDK를 추가합니다. 코드에서 인기 있는 Python 라이브러리를 계측하여 종속성, 로그 및 메트릭을 자동으로 수집하고 상관 관계를 지정할 수 있습니다. 수집되는 호출 및 메트릭을 보려면 Python 라이브러리를 참조 하세요.
로깅 원격 분석은 루트 로거 수준에서 수집됩니다. Python의 네이티브 로깅 계층 구조에 대해 자세히 알아보려면 Python 로깅 설명서를 참조하세요.
필수 조건
Python 버전 3.11 이하.
App Service는 코드로 배포되어야 합니다. 사용자 지정 컨테이너는 지원되지 않습니다.
Azure Portal의 자동 침입
앱 서비스의 왼쪽 탐색 메뉴에서 Application Insights를 선택한 다음 사용을 선택합니다.
새 리소스를 만들거나 이 애플리케이션에 대한 기존 Application Insights 리소스를 선택합니다.
참고 항목
확인을 선택하여 새 리소스를 만들면 모니터링 설정 적용 메시지가 표시됩니다. 계속을 선택하면 새 Application Insights 리소스가 앱 서비스에 연결됩니다. 그러면 앱 서비스가 다시 시작됩니다.
b. 다음으로, 여기의 지침에 따라 최신 버전의 Application Insights Java 에이전트를 가져옵니다.
c. 그런 다음, az webapp deploy --src-path applicationinsights-agent-{VERSION_NUMBER}.jar --target-path java/applicationinsights-agent-{VERSION_NUMBER}.jar --type static --resource-group {YOUR_RESOURCE_GROUP} --name {YOUR_APP_SVC_NAME} 명령을 사용하여 Java 에이전트 jar 파일을 App Service에 배포합니다. 또는 이 가이드를 사용하여 Maven 플러그 인을 통해 에이전트를 배포할 수 있습니다.
Azure Portal의 Application Insights 탭을 통해 Application Insights를 사용하지 않도록 설정합니다.
에이전트 jar 파일이 업로드되면 App Service 구성으로 이동합니다. Linux용 시작 명령을 사용해야 하는 경우 JVM 인수를 포함합니다.
시작 명령은 JavaSE의 경우 JAVA_OPTS 또는 Tomcat의 경우 CATALINA_OPTS에 적용되지 않습니다.
시작 명령을 사용하지 않는 경우 값 -javaagent:{PATH_TO_THE_AGENT_JAR}/applicationinsights-agent-{VERSION_NUMBER}.jar를 사용하여 JavaSE의 경우 JAVA_OPTS, Tomcat의 경우 CATALINA_OPTS의 새 환경 변수를 만듭니다.
변경 내용을 적용하려면 앱을 다시 시작합니다.
참고 항목
JavaSE 또는 CATALINA_OPTS Tomcat 환경 변수에 대해 설정하는 JAVA_OPTS 경우 Azure Portal에서 Application Insights를 사용하지 않도록 설정해야 합니다. 또는 Azure Portal에서 Application Insights를 사용하도록 설정하려는 경우 App Service 구성 설정에서 JavaSE 또는 CATALINA_OPTS Tomcat 변수에 대해 설정 JAVA_OPTS 하지 않았는지 확인합니다.
Application Insights Node.js 버전은 App Service 업데이트의 일부로 자동으로 업데이트되며 수동으로 업데이트할 수 없습니다.
최신 버전의 Application Insights SDK에서 해결된 문제가 발생하는 경우 자동 침입을 제거하고 최신 SDK 버전으로 애플리케이션을 수동으로 계측할 수 있습니다.
Application Insights Python 버전은 App Service 업데이트의 일부로 자동으로 업데이트되며 수동으로 업데이트할 수 없습니다.
최신 버전의 Application Insights SDK에서 해결된 문제가 발생하는 경우 자동 침입을 제거하고 최신 SDK 버전으로 애플리케이션을 수동으로 계측할 수 있습니다.
이전에 applicationinsights.config 파일을 통해 제어할 수 있었던 샘플링을 구성하려면 이제 해당 접두사 MicrosoftAppInsights_AdaptiveSamplingTelemetryProcessor를 사용하여 애플리케이션 설정을 통해 샘플링과 상호 작용할 수 있습니다.
예를 들어, 초기 샘플링 비율을 변경하기 위해 MicrosoftAppInsights_AdaptiveSamplingTelemetryProcessor_InitialSamplingPercentage와 100 값으로 된 애플리케이션 설정을 만들 수 있습니다.
샘플링을 사용하지 않도록 설정하려면 MicrosoftAppInsights_AdaptiveSamplingTelemetryProcessor_MinSamplingPercentage를 100 값으로 설정합니다.
지원되는 적응 샘플링 원격 분석 프로세서 설정 및 정의 목록은 코드 및 샘플링 설명서를 참조하세요.
사용할 리소스를 지정한 후 Java 에이전트를 구성할 수 있습니다. Java 에이전트를 구성하지 않으면 기본 구성이 적용됩니다.
전체 구성 집합을 사용할 수 있습니다. 유효한 json 파일을 붙여넣기만 하면 됩니다. 미리 보기에 있는 연결 문자열 및 구성 제외 - 현재 미리 보기에 있는 항목이 일반 공급되면 추가할 수 있습니다.
Azure APPLICATIONINSIGHTS_CONFIGURATION_FILE Portal을 통해 구성을 수정하면 환경 변수가 자동으로 채워지고 App Service 설정 패널에 표시됩니다. 이 변수에는 Java 앱에 대한 Azure Portal 구성 텍스트 상자에 붙여넣은 전체 json 콘텐츠가 포함됩니다.
Node.js 에이전트는 JSON을 사용하여 구성할 수 있습니다. APPLICATIONINSIGHTS_CONFIGURATION_CONTENT 환경 변수를 JSON 문자열로 설정하거나 APPLICATIONINSIGHTS_CONFIGURATION_FILE 환경 변수를 JSON을 포함하는 파일 경로로 설정합니다.
None으로 설정하면 메트릭 원격 분석의 컬렉션 및 내보내기가 사용하지 않도록 설정됩니다.
OTEL_TRACES_EXPORTER
None으로 설정하면 분산 추적 원격 분석의 컬렉션 및 내보내기가 사용하지 않도록 설정됩니다.
OTEL_BLRP_SCHEDULE_DELAY
로깅 내보내기 간격을 밀리초 단위로 지정합니다. 기본값은 5000입니다.
OTEL_BSP_SCHEDULE_DELAY
분산 추적 내보내기 간격을 밀리초 단위로 지정합니다. 기본값은 5000입니다.
OTEL_TRACES_SAMPLER_ARG
샘플링할 분산 추적 원격 분석의 비율을 지정합니다. 수락되는 값의 범위는 0~1입니다. 기본값은 1.0이며, 이는 원격 분석이 샘플링되지 않음을 의미합니다.
OTEL_PYTHON_DISABLED_INSTRUMENTATIONS
사용하지 않도록 설정할 OpenTelemetry 계측을 지정합니다. 사용하지 않도록 설정되면 계측이 자동 계측의 일부로 실행되지 않습니다. 쉼표로 구분된 소문자 라이브러리 이름 목록을 허용합니다. 예를 들어, Psycopg2 및 FastAPI 계측을 사용하지 않도록 설정하려면 이를 "psycopg2,fastapi"로 설정합니다. 기본값은 빈 목록으로, 지원되는 모든 계측을 사용하도록 설정합니다.
ASP.NET Core 앱에만 해당합니다. Application Insights SDK와 상호 운용을 사용하도록 설정합니다. 확장을 SDK와 함께 로드하고 이를 사용하여 원격 분석을 보냅니다. (Application Insights SDK를 사용하지 않도록 설정합니다.)
1
애플리케이션 설정 정의
앱 설정 이름
정의
값
ApplicationInsightsAgent_EXTENSION_VERSION
런타임 모니터링을 제어하는 기본 확장입니다.
~2
XDT_MicrosoftApplicationInsights_Mode
기본 모드에서는 최적의 성능을 보장하기 위해 필수 기능만 사용하도록 설정됩니다.
default 또는 recommended
InstrumentationEngine_EXTENSION_VERSION
이진 재작성 엔진 InstrumentationEngine 이 켜져 있는지 여부를 제어합니다. 이 설정은 성능에 영향을 미치며 콜드 부팅/작동 시간에 영향을 미칩니다.
~1
XDT_MicrosoftApplicationInsights_BaseExtensions
SQL 및 Azure 테이블 텍스트가 종속성 호출과 함께 캡처되는지를 제어합니다. 성능 경고: 애플리케이션 콜드 시작 시간이 영향을 받습니다. 이 설정에는 InstrumentationEngine이 필요합니다.
~1
애플리케이션 설정 정의
앱 설정 이름
정의
값
ApplicationInsightsAgent_EXTENSION_VERSION
런타임 모니터링을 제어하는 기본 확장입니다.
~2 Windows 또는 ~3 Linux
XDT_MicrosoftApplicationInsights_Java
Java 에이전트 포함 여부를 제어하는 플래그입니다.
0 또는 1 (Windows에서만 적용 가능)
참고 항목
Java 애플리케이션에는 스냅샷 디버거를 사용할 수 없습니다.
애플리케이션 설정 정의
앱 설정 이름
정의
값
ApplicationInsightsAgent_EXTENSION_VERSION
런타임 모니터링을 제어하는 기본 확장입니다.
~2 Windows 또는 ~3 Linux
XDT_MicrosoftApplicationInsights_NodeJS
Node.js 에이전트가 포함되어 있는지 제어하는 플래그입니다.
0 또는 1 (Windows에서만 적용 가능)
참고 항목
스냅샷 디버거는 Node.js 애플리케이션에 사용할 수 없습니다.
애플리케이션 설정 정의
앱 설정 이름
정의
값
APPLICATIONINSIGHTS_CONNECTION_STRING
Application Insights 리소스에 대한 연결 문자열입니다.
예: abcd1234-ab12-cd34-abcd1234abcd
ApplicationInsightsAgent_EXTENSION_VERSION
런타임 모니터링을 제어하는 기본 확장입니다.
~3
참고 항목
Python 애플리케이션에는 스냅샷 디버거를 사용할 수 없습니다.
Azure Resource Manager를 사용한 App Service 애플리케이션 설정
Azure App Service에 대한 애플리케이션 설정은 Azure Resource Manager 템플릿으로 관리 및 구성할 수 있습니다. Resource Manager 자동화를 사용하여 새 App Service 리소스를 배포하거나 기존 리소스의 설정을 수정할 때 이 방법을 사용할 수 있습니다.
Application Insights 리소스 만들기를 자동화하고 새로 만든 App Service 리소스에 연결합니다.
기본 Application Insights 설정을 사용하여 Resource Manager 템플릿을 만들려면 Application Insights를 사용하도록 설정하여 새 웹앱을 만들려는 것처럼 프로세스를 시작합니다.
원하는 웹앱 정보로 새 App Service 리소스를 만듭니다. 모니터링 탭에서 Application Insights를 사용하도록 설정합니다.
검토 + 만들기를 선택합니다. 그런 다음 자동화용 템플릿 다운로드를 선택합니다.
이 옵션은 모든 필수 설정이 구성된 최신 Resource Manager 템플릿을 생성합니다.
다음 샘플에서 AppMonitoredSite의 모든 인스턴스를 사이트 이름으로 바꿉니다.
참고 항목
Windows를 사용하는 경우 ApplicationInsightsAgent_EXTENSION_VERSION을(를) ~2(으)로 설정합니다. Linux를 사용하는 경우 ApplicationInsightsAgent_EXTENSION_VERSION을(를) ~3(으)로 설정합니다.
PowerShell을 통해 애플리케이션 모니터링을 사용하도록 설정하려면 기본 애플리케이션 설정만 변경해야 합니다. 다음 샘플은 리소스 그룹 AppMonitoredRG에서 AppMonitoredSite라는 웹 사이트에 대한 애플리케이션 모니터링을 사용하도록 설정합니다. 012345678-abcd-ef01-2345-6789abcd 계측 키로 전송되는 데이터를 구성합니다.
웹 애플리케이션용 Application Insights API: 서버에서 원격 분석을 보내는 데 사용
JavaScript 애플리케이션용 Application Insights API: 클라이언트에서 원격 분석을 보내는 데 사용
패키지에 어셈블리를 포함합니다.
Microsoft.ApplicationInsights
Microsoft.ApplicationInsights.Platform
항목을 다음 항목에 삽입합니다.
Web.config
packages.config
클라이언트 및 서버 코드에 코드 조각을 삽입하여 Application Insights 리소스 ID로 해당 코드를 초기화합니다. 예를 들어 MVC 앱에서 기본 페이지 Views/Shared/_Layout.cshtml에 코드가 삽입됩니다. 새 프로젝트의 경우에만 기존 프로젝트에 Application Insights를 수동으로 추가합니다.
Application Insights의 표준 메트릭과 Azure App Service 메트릭의 차이점은 무엇인가요?
Application Insights는 애플리케이션에 대한 요청에 대한 원격 분석을 수집합니다. WebApps/WebServer에서 오류가 발생했고 요청이 사용자 애플리케이션에 도달하지 못한 경우 Application Insights는 이에 대한 원격 분석을 하지 않습니다.
Application Insights에서 계산한 serverresponsetime의 기간은 Web Apps에서 관찰한 서버 응답 시간과 반드시 일치하지는 않습니다. 이 동작은 Application Insights가 요청이 실제로 사용자 애플리케이션에 도달하는 기간만 계산하기 때문입니다. 요청이 WebServer에서 멈추거나 대기 중인 경우 대기 시간은 Web Apps 메트릭에 포함되지만 Application Insights 메트릭에는 포함되지 않습니다.
문제 해결
애플리케이션 호스트와 수집 서비스 간의 연결 테스트
Application Insights SDK 및 에이전트는 수집 엔드포인트에 대한 REST 호출로 수집하기 위해 원격 분석을 보냅니다. PowerShell 또는 curl 명령의 원시 REST 클라이언트를 사용하여 웹 서버 또는 애플리케이션 호스트 컴퓨터에서 수집 서비스 엔드포인트로의 연결을 테스트할 수 있습니다. Azure Monitor Application Insights에서 누락된 애플리케이션 원격 분석 문제 해결을 참조하세요.
상태 원본이 존재하고 Status source D:\home\LogFiles\ApplicationInsights\status\status_RD0003FF0317B6_4248_1.json과 같이 표시되는지 확인합니다.
유사한 값이 없으면 애플리케이션이 현재 실행되고 있지 않거나 지원되지 않는다는 의미입니다. 애플리케이션이 실행 중인지 확인하려면 런타임 정보를 사용할 수 있도록 하는 애플리케이션 URL/애플리케이션 엔드포인트를 수동으로 방문해 보세요.
IKeyExists가 True인지 확인합니다. False인 경우 ikey GUID를 사용하여 애플리케이션 설정에 APPINSIGHTS_INSTRUMENTATIONKEY 및 APPLICATIONINSIGHTS_CONNECTION_STRING을 추가합니다.
애플리케이션이 Application Insights 패키지를 참조하는 경우 App Service 통합을 사용하도록 설정하면 적용되지 않을 수 있으며 Application Insights에 데이터가 표시되지 않을 수 있습니다. 예를 들어 이전에 ASP.NET Core SDK를 사용하여 앱을 계측하거나 계측하려고 시도한 경우입니다. 이 문제를 해결하려면 Azure Portal에서 Application Insights SDK를 사용하여 Interop을 켭니다.
Important
이 기능은 미리 보기 상태입니다.
Application Insights SDK가 원래 사용되었거나 사용하려고 하더라도 데이터는 코드 없는 방법을 사용하여 전송됩니다.
Important
애플리케이션이 Application Insights SDK를 사용하여 원격 분석을 보낸 경우 원격 분석이 사용하지 않도록 설정됩니다. 즉, 사용자 지정 원격 분석(예: Track*() 메서드) 및 사용자 지정 설정(예: 샘플링)이 사용하지 않도록 설정됩니다.
Linux
ApplicationInsightsAgent_EXTENSION_VERSION 앱 설정이 ~3 값으로 설정되어 있는지 확인합니다.
https://your site name.scm.azurewebsites.net/ApplicationInsights으로 이동합니다.
이 사이트 내에서 다음을 확인합니다.
상태 원본이 존재하며 Status source /var/log/applicationinsights/status_abcde1234567_89_0.json과 같이 표시됩니다.
Auto-Instrumentation enabled successfully 값이 표시됩니다. 유사한 값이 없으면 애플리케이션이 실행되고 있지 않거나 지원되지 않는다는 의미입니다. 애플리케이션이 실행 중인지 확인하려면 런타임 정보를 사용할 수 있도록 하는 애플리케이션 URL/애플리케이션 엔드포인트를 수동으로 방문해 보세요.
IKeyExists는 True입니다. False인 경우 ikey GUID를 사용하여 애플리케이션 설정에 APPINSIGHTS_INSTRUMENTATIONKEY 및 APPLICATIONINSIGHTS_CONNECTION_STRING을 추가합니다.
웹앱으로 배포된 기본 웹 사이트에서 자동 클라이언트 쪽 모니터링을 지원하지 않음
App Services에서 ASP.NET Core 런타임으로 웹앱을 만들면 단일 정적 HTML 페이지를 시작 웹 사이트로 배포합니다. 또한 정적 웹 페이지는 IIS에서 ASP.NET 관리형 웹 파트를 로드합니다. 이 동작을 통해 코드리스 서버 쪽 모니터링을 테스트할 수 있지만 자동 클라이언트 쪽 모니터링은 지원하지 않습니다.
App Service 웹앱에서 ASP.NET Core에 대한 코드리스 서버 및 클라이언트 쪽 모니터링을 테스트하려면 ASP.NET Core 웹앱을 만들기 위한 공식 가이드를 따르는 것이 좋습니다. 그 후 현재 문서의 지침을 사용하여 모니터링을 사용하도록 설정합니다.
PHP 및 WordPress는 지원되지 않음
PHP 및 WordPress 사이트는 지원되지 않습니다. 현재 이 워크로드의 서버 쪽 모니터링에 대해 공식적으로 지원되는 SDK/에이전트는 없습니다. PHP 또는 WordPress 사이트에서 클라이언트 쪽 트랜잭션을 추적하려면 JavaScript SDK를 사용하여 웹 페이지에 클라이언트 쪽 JavaScript를 추가합니다.
다음 표에서는 해당 값의 의미, 근본 원인 및 권장 수정 사항에 대한 설명을 제공합니다.
문제 값
설명
Fix
AppAlreadyInstrumented:true
이 값은 확장이 애플리케이션에 이미 있는 SDK의 일부 측면을 감지하고 백오프했음을 나타냅니다. 이 값에 대한 Microsoft.ApplicationInsights.AspNetCore 참조이거나 Microsoft.ApplicationInsights 발생할 수 있습니다.
참조를 제거합니다. 이러한 참조 중 일부는 기본적으로 특정 Visual Studio 템플릿에서 추가됩니다. 이전 버전의 Visual Studio는 Microsoft.ApplicationInsights를 참조합니다.
AppAlreadyInstrumented:true
이전 배포의 Microsoft.ApplicationsInsights 앱 폴더에 DLL이 있으면 이 값도 발생할 수 있습니다.
앱 폴더를 정리하여 이 DLL이 제거되도록 합니다. 로컬 앱의 bin 디렉터리와 App Service의 wwwroot 디렉터리를 둘 다 확인합니다. (App Service 웹앱의 wwwroot 디렉터리를 확인하려면 고급 도구(Kudu)>디버그 콘솔>CMD>home\site\wwwroot를 선택합니다.)
IKeyExists:false
이 값은 APPINSIGHTS_INSTRUMENTATIONKEY 앱 설정에 계측 키가 없음을 나타냅니다. 가능한 원인으로는 실수로 값을 제거했거나 자동화 스크립트에서 값을 설정하는 것을 잊어버린 경우가 있습니다.
설정이 App Service 애플리케이션 설정에 있는지 확인합니다.
참고 항목
App Services에서 ASP.NET 런타임으로 웹앱을 만들면 단일 정적 HTML 페이지를 시작 웹 사이트로 배포합니다. 기본 템플릿으로 문제를 해결하는 것은 권장하지 않습니다. 문제를 해결하기 전에 애플리케이션을 배포합니다.
원격 분석 누락
ApplicationInsightsAgent_EXTENSION_VERSION 앱 설정이 ~2 값으로 설정되어 있는지 확인합니다.
상태 원본이 존재하고 Status source D:\home\LogFiles\ApplicationInsights\status\status_RD0003FF0317B6_4248_1.json과 같이 표시되는지 확인합니다.
유사한 값이 없으면 애플리케이션이 현재 실행되고 있지 않거나 지원되지 않는다는 의미입니다. 애플리케이션이 실행 중인지 확인하려면 런타임 정보를 사용할 수 있도록 하는 애플리케이션 URL/애플리케이션 엔드포인트를 수동으로 방문해 보세요.
IKeyExists가 true인지 확인합니다.
그렇지 않은 경우 계측 키 GUID와 함께 APPINSIGHTS_INSTRUMENTATIONKEY 및 APPLICATIONINSIGHTS_CONNECTION_STRING을 애플리케이션 설정에 추가합니다.
AppAlreadyInstrumented, AppContainsDiagnosticSourceAssembly, AppContainsAspNetTelemetryCorrelationAssembly에 해당하는 항목이 없는지 확인합니다.
해당 항목이 있는 경우 애플리케이션에서 Microsoft.ApplicationInsights, System.Diagnostics.DiagnosticSource, Microsoft.AspNet.TelemetryCorrelation 패키지를 제거합니다.
웹앱으로 배포된 기본 웹 사이트에서 자동 클라이언트 쪽 모니터링을 지원하지 않음
App Service에서 ASP.NET 런타임을 사용하여 웹앱을 만들 때 단일 정적 HTML 페이지를 시작 웹 사이트로 배포합니다. 또한 정적 웹 페이지는 IIS에서 ASP.NET 관리형 웹 파트를 로드합니다. 이 페이지를 통해 코드리스 서버 쪽 모니터링을 테스트할 수 있지만 자동 클라이언트 쪽 모니터링은 지원하지 않습니다.
App Service 웹앱에서 ASP.NET 대한 코드리스 서버 및 클라이언트 쪽 모니터링을 테스트하려면 ASP.NET Framework 웹앱을 만들기 위한 공식 가이드를 따르는 것이 좋습니다. 그 후 현재 문서의 지침을 사용하여 모니터링을 사용하도록 설정합니다.
APPINSIGHTS_JAVASCRIPT_ENABLED 및 urlCompression이 지원되지 않음
콘텐츠가 인코딩된 경우 APPINSIGHTS_JAVASCRIPT_ENABLED=true를 사용하면 다음과 같은 오류가 발생할 수 있습니다.
500 URL 다시 쓰기 오류입니다.
"HTTP 응답의 콘텐츠를 인코딩('gzip')하면 아웃바운드 다시 쓰기 규칙을 적용할 수 없다"는 메시지와 관련된 500.53 URL 다시 쓰기 모듈 오류입니다.
APPINSIGHTS_JAVASCRIPT_ENABLED 애플리케이션 설정이 true로 설정되어 있고 콘텐츠 인코딩이 동시에 존재하기 때문에 오류가 발생합니다. 이 시나리오는 아직 지원되지 않습니다. 해결 방법은 애플리케이션 설정에서 APPINSIGHTS_JAVASCRIPT_ENABLED를 제거하는 것입니다. 안타깝게도 클라이언트/브라우저 쪽 JavaScript 계측이 여전히 필요한 경우 웹 페이지에 대한 수동 SDK 참조가 필요합니다. JavaScript SDK를 사용한 수동 계측에 관한 지침을 따릅니다.
Application Insights 에이전트/확장에 대한 최신 정보는 릴리스 정보를 참조하세요.
PHP 및 WordPress는 지원되지 않음
PHP 및 WordPress 사이트는 지원되지 않습니다. 현재 이 워크로드의 서버 쪽 모니터링에 대해 공식적으로 지원되는 SDK/에이전트는 없습니다. PHP 또는 WordPress 사이트에서 클라이언트 쪽 트랜잭션을 추적하려면 JavaScript SDK를 사용하여 웹 페이지에 클라이언트 쪽 JavaScript를 추가합니다.
다음 표에서는 해당 값의 의미, 근본 원인 및 권장 수정 사항에 대한 설명을 제공합니다.
문제 값
설명
Fix
AppAlreadyInstrumented:true
이 값은 확장이 애플리케이션에 이미 있는 SDK의 일부 측면을 감지하고 백오프했음을 나타냅니다. 에 Microsoft.AspNet.TelemetryCorrelation대한 System.Diagnostics.DiagnosticSource참조이거나 Microsoft.ApplicationInsights 이 값을 발생시킬 수 있습니다.
참조를 제거합니다. 이러한 참조 중 일부는 기본적으로 특정 Visual Studio 템플릿에서 추가됩니다. 이전 버전의 Visual Studio에서는 Microsoft.ApplicationInsights에 대한 참조를 추가할 수 있습니다.
AppAlreadyInstrumented:true
이전 배포의 앱 폴더에 이전 DLL이 있으면 이 값도 발생할 수 있습니다.
앱 폴더를 정리하여 이 DLL이 제거되도록 합니다. 로컬 앱의 bin 디렉터리와 App Service 리소스의 wwwroot 디렉터리를 둘 다 확인합니다. (App Service 웹앱의 wwwroot 디렉터리를 확인하려면 고급 도구(Kudu)>디버그 콘솔>CMD>home\site\wwwroot를 선택합니다.)
이 값은 확장이 애플리케이션에서 참조를 Microsoft.AspNet.TelemetryCorrelation 검색하고 백오프했음을 나타냅니다.
참조를 제거합니다.
AppContainsDiagnosticSourceAssembly**:true
이 값은 확장이 애플리케이션에서 참조를 System.Diagnostics.DiagnosticSource 검색하고 백오프했음을 나타냅니다.
ASP.NET의 경우 참조를 제거합니다.
IKeyExists:false
이 값은 APPINSIGHTS_INSTRUMENTATIONKEY 앱 설정에 계측 키가 없음을 나타냅니다. 가능한 원인은 값이 실수로 제거되었거나 자동화 스크립트에서 값을 설정하는 것을 잊었을 수 있습니다.
설정이 App Service 애플리케이션 설정에 있는지 확인합니다.
2.8.44 업그레이드 후 System.IO.FileNotFoundException 발생
2.8.44 버전의 자동 계측은 Application Insights SDK를 2.20.0으로 업그레이드합니다. Application Insights SDK에는 System.Diagnostics.DiagnosticSource.dll을 통해 System.Runtime.CompilerServices.Unsafe.dll에 대한 간접 참조가 있습니다. 애플리케이션에 System.Runtime.CompilerServices.Unsafe.dll에 대한 바인딩 리디렉션이 있고 이 라이브러리가 애플리케이션 폴더에 없으면 System.IO.FileNotFoundException이 발생할 수 있습니다.
이 문제를 해결하려면 web.config 파일에서 System.Runtime.CompilerServices.Unsafe.dll에 대한 바인딩 리디렉션 항목을 제거합니다. 애플리케이션이 System.Runtime.CompilerServices.Unsafe.dll을 사용하려는 경우 다음과 같이 바인딩 리디렉션을 설정합니다.
임시 해결 방법으로 앱 설정 ApplicationInsightsAgent_EXTENSION_VERSION을 2.8.37 값으로 설정할 수 있습니다. 이 설정은 이전 Application Insights 확장을 사용하도록 App Service를 트리거합니다. 임시 완화는 임시로만 사용해야 합니다.
원격 분석 누락
앱 설정이 ApplicationInsightsAgent_EXTENSION_VERSION Linux의 ~2 Windows ~3 에서 값으로 설정되어 있는지 확인합니다.
로그 파일을 검사하여 에이전트가 성공적으로 https://yoursitename.scm.azurewebsites.net/시작되었는지 확인합니다. 루트 디렉터리에 대한 SSH 변경에서 로그 파일은 LogFiles/ApplicationInsights 아래에 있습니다.
Java 앱에 대한 애플리케이션 모니터링을 사용하도록 설정한 후 라이브 메트릭을 보고 에이전트가 작동하는지 유효성 검사할 수 있습니다. App Service에 배포하고 앱을 배포하기 전에도 환경의 일부 요청이 표시됩니다. 전체 원격 분석 세트는 앱을 배포하고 실행하는 경우에만 사용할 수 있습니다.
환경 변수를 debug 오류가 표시되지 않고 원격 분석이 없는 경우로 설정합니다APPLICATIONINSIGHTS_SELF_DIAGNOSTICS_LEVEL.
원격 분석 누락
Windows
앱 설정이 ApplicationInsightsAgent_EXTENSION_VERSION 값 ~2으로 설정되어 있는지 확인합니다.