Azure App Service에서 .NET 앱용 스냅샷 디버거 사용하도록 설정
참고 항목
.NET Core의 미리 보기 버전을 사용하거나 애플리케이션에서 직접 또는 종속 어셈블리를 통해 간접적으로 Application Insights SDK를 참조하는 경우 다른 환경에 스냅샷 디버거 사용의 지침에 따라 애플리케이션과 함께 Microsoft.ApplicationInsights.SnapshotCollector
NuGet 패키지를 포함합니다.
현재 스냅샷 디버거는 Windows 서비스 계획의 Azure App Service에서 실행되는 ASP.NET과 ASP.NET Core 앱을 지원합니다.
스냅샷 디버거를 사용하는 경우 기본 또는 상위 서비스 계층에서 애플리케이션을 실행하는 것이 좋습니다. 대부분의 애플리케이션의 경우:
- 무료 및 공유 서비스 계층에는 스냅샷을 저장할 메모리나 디스크 공간이 충분하지 않습니다.
- 소비 계층은 현재 스냅샷 디버거에서 사용할 수 없습니다.
스냅샷 디버거는 App Services 런타임의 일부로 사전 설치되어 있지만 App Services 앱의 스냅샷을 가져오려면 이를 켜야 합니다. 스냅샷 디버거의 코드 없는 설치는 .NET Core 지원 정책을 따릅니다.
.NET App Services 웹앱을 배포한 후:
Azure Portal에서 App Service로 이동합니다.
왼쪽 메뉴에서 설정>Application Insights를 선택합니다.
Application Insights 켜기를 클릭합니다.
- 사용하려는 기존 Application Insights 리소스가 있는 경우 리소스 변경에서 해당 옵션을 선택합니다.
애플리케이션 계측에서 .NET 탭을 선택합니다.
두 개의 스냅샷 디버거 토글을 모두 켜기로 전환합니다.
스냅샷 디버거가 이제 사용하도록 설정되었습니다.
스냅샷 디버거 사용 안 함
App Services 리소스에 대해 스냅샷 디버거를 사용하지 않도록 설정하려면:
- Azure Portal에서 App Service로 이동합니다.
- 왼쪽 메뉴에서 설정>Application Insights를 선택합니다.
- 스냅샷 디버거 토글을 끄기로 전환합니다.
예외를 트리거할 수 있는 애플리케이션에 대한 트래픽을 생성합니다. 그런 다음, 스냅샷을 10~15분 동안 기다려서 Application Insights 인스턴스로 보내기 시작합니다.
다른 클라우드 지역에 대한 스냅샷 디버거 사용
현재 엔드포인트 수정이 필요한 유일한 지역은 Application Insights 연결 문자열을 통한 Azure Government와 21Vianet에서 운영하는 Microsoft Azure입니다.
연결 문자열 속성 | 미국 정부 클라우드: | 중국 클라우드 |
---|---|---|
SnapshotEndpoint | https://snapshot.monitor.azure.us |
https://snapshot.monitor.azure.cn |
다른 연결 재정의에 대한 자세한 내용은 Application Insights 설명서를 참조하세요.
스냅샷 디버거 구성
스냅샷 수집에 Microsoft Entra 인증 사용
스냅샷 디버거는 스냅샷 수집을 위해 Microsoft Entra 인증을 지원합니다. 애플리케이션의 모든 스냅샷을 수집하려면 애플리케이션을 인증하고 필요한 애플리케이션 설정을 스냅샷 디버거 에이전트에 제공해야 합니다.
현재 스냅샷 디버거는 애플리케이션에서 Application Insights SDK를 사용하여 Microsoft Entra ID를 참조하고 구성할 때만 Microsoft Entra 인증을 지원합니다.
App Services 리소스에서 스냅샷 수집을 위해 Microsoft Entra ID를 켜려면:
Application Insights 리소스를 인증하는 관리 ID를 App Service에 추가합니다. 다음 중 하나를 만들 수 있습니다.
Application Insights 리소스에서 Microsoft Entra ID를 구성하고 켭니다. 자세한 내용은 다음 설명서를 참조하세요.
다음 애플리케이션 설정을 추가합니다. 이 설정은 스냅샷 디버거 에이전트에 사용할 관리 ID를 알려 줍니다.
시스템 할당 ID의 경우:
앱 설정 | 값 |
---|---|
APPLICATIONINSIGHTS_AUTHENTICATION_STRING | Authorization=AD |
사용자가 할당한 ID의 경우:
앱 설정 | 값 |
---|---|
APPLICATIONINSIGHTS_AUTHENTICATION_STRING | Authorization=AD;ClientID={사용자가 할당한 ID의 클라이언트 ID} |
지원되지 않는 시나리오
아래에서 Snapshot Collector가 지원되지 않는 시나리오를 확인할 수 있습니다.
시나리오 | 파생 작업 | 추천 |
---|---|---|
애플리케이션에서 스냅샷 수집기 SDK를 직접 사용하고(.csproj) 고급 옵션 Interop을 사용하도록 설정했습니다. | 로컬 Application Insights SDK(스냅샷 수집기 원격 분석 포함)가 손실되고 사용할 수 있는 스냅샷이 없습니다.System.ArgumentException: telemetryProcessorTypedoes not implement ITelemetryProcessor. 를 사용하여 시작 시 애플리케이션이 크래시할 수 있습니다.Application Insights 기능 Interop에 대해 자세히 알아봅니다. |
고급 옵션 Interop을 사용하는 경우 코드 없는 스냅샷 수집기 주입(Azure Portal을 통해 사용)을 사용합니다. |
다음 단계
- Azure Portal에서 스냅샷을 봅니다.
- 스냅샷 디버거 문제를 해결합니다.