Azure App Service 앱에 Profiler 사용

Application Insights Profiler는 Azure App Service 런타임의 일부로 사전 설치됩니다. 기본 서비스 계층 이상을 사용하여 App Service에서 실행되는 ASP.NET 및 ASP.NET Core 앱에서 Profiler를 실행할 수 있습니다. 빌드 시 애플리케이션에 Application Insights SDK를 포함한 경우에도 다음 단계를 따릅니다.

Linux에서 Profiler를 사용하도록 설정하기 위해 ASP.NET Core Azure Linux 웹앱 지침을 살펴봅니다.

참고 항목

Application Insights Profiler의 코드리스 설치는 .NET Core 지원 정책을 따릅니다. 지원되는 런타임에 관한 자세한 내용은 .NET Core 지원 정책을 참조하세요.

필수 조건

"Always On"이 사용하도록 설정되어 있는지 확인합니다.

  1. Azure Portal에서 App Service 인스턴스로 이동합니다.

  2. 왼쪽 창의 설정에서 구성을 선택합니다.

    Screenshot that shows selecting Configuration on the left pane.

  3. 일반 설정 탭을 선택합니다.

  4. Always On>켜기가 선택되어 있는지 확인합니다.

    Screenshot that shows the General tab on the Configuration pane showing that Always On is enabled.

  5. 변경 내용을 적용한 경우 저장을 선택합니다.

Application Insights 및 Profiler 사용

다음 섹션에서는 동일한 구독 또는 다른 구독에 대해 Application Insights를 사용하도록 설정하는 방법을 보여 줍니다.

동일한 구독의 Application Insights 및 App Service의 경우

Application Insights 리소스가 App Service 인스턴스와 동일한 구독에 있는 경우:

  1. 왼쪽 창의 설정에서 Application Insights를 선택합니다.

    Screenshot that shows selecting Application Insights on the left pane.

  2. Application Insights에서 사용을 선택합니다.

  3. Application Insights 리소스를 앱에 연결했는지 확인합니다.

    Screenshot that shows enabling Application Insights on your app.

  4. 아래로 스크롤하고 앱에 따라 .NET 또는 .NET Core 탭을 선택합니다.

  5. 컬렉션 수준>권장이 선택되어 있는지 확인합니다.

  6. Profiler에서 켜기를 선택합니다.

    이전에 기본 컬렉션 수준을 선택한 경우 Profiler 설정이 사용되지 않습니다.

  7. 적용>를 선택하여 확인합니다.

    Screenshot that shows enabling Profiler on your app.

다른 구독의 Application Insights 및 App Service의 경우

Application Insights 리소스가 App Service 인스턴스와 다른 구독에 있는 경우 App Service 인스턴스에 대한 앱 설정을 만들어 Profiler를 수동으로 사용하도록 설정해야 합니다. 템플릿이나 다른 방법을 사용하여 이러한 설정 만들기를 자동화할 수 있습니다. Profiler를 사용하도록 설정하는 데 필요한 설정은 다음과 같습니다.

앱 설정
APPINSIGHTS_INSTRUMENTATIONKEY Application Insights 리소스용 iKey
APPINSIGHTS_PROFILERFEATURE_VERSION 1.0.0
DiagnosticServices_EXTENSION_VERSION ~3

다음을 사용하여 이러한 값을 설정합니다.

지역별 클라우드에 대해 Profiler 사용

현재 엔드포인트 수정이 필요한 유일한 지역은 Azure Government21Vianet에서 운영하는 Microsoft Azure입니다.

앱 설정 미국 정부 클라우드: 중국 클라우드
ApplicationInsightsProfilerEndpoint https://profiler.monitor.azure.us https://profiler.monitor.azure.cn
ApplicationInsightsEndpoint https://dc.applicationinsights.us https://dc.applicationinsights.azure.cn

프로필 수집에 Microsoft Entra 인증 사용

Application Insights Profiler는 프로필 수집에 대한 Microsoft Entra 인증을 지원합니다. 애플리케이션의 모든 프로필을 수집하려면 애플리케이션을 인증하고 애플리케이션이 Profiler 에이전트에 필수 애플리케이션 설정을 제공해야 합니다.

Profiler는 애플리케이션에서 Application Insights SDK를 사용하여 Microsoft Entra ID를 참조하고 구성할 때만 Microsoft Entra 인증을 지원합니다.

프로필 수집에 Microsoft Entra ID를 사용하도록 설정하려면 다음을 수행합니다.

  1. 관리 ID를 만들고 App Service에 추가하여 Application Insights 리소스에 대해 인증합니다.

    1. 시스템이 할당한 관리 ID 설명서

    2. 사용자가 할당한 관리 ID 설명서

  2. Application Insights 리소스에서 Microsoft Entra ID를 구성하고 사용하도록 설정합니다.

  3. 다음 애플리케이션 설정을 추가하여 Profiler 에이전트가 사용할 관리 ID를 알 수 있도록 합니다.

    • 시스템 할당 ID의 경우:

      앱 설정
      APPLICATIONINSIGHTS_AUTHENTICATION_STRING Authorization=AAD
    • 사용자가 할당한 ID의 경우:

      앱 설정
      APPLICATIONINSIGHTS_AUTHENTICATION_STRING Authorization=AAD;ClientId={Client id of the User-Assigned Identity}

Profiler 사용 안 함

개별 앱의 인스턴스에 대해 Profiler를 중지하거나 다시 시작하려면:

  1. 왼쪽 창의 설정에서 WebJobs를 선택합니다.

    Screenshot that shows selecting web jobs on the left pane.

  2. ApplicationInsightsProfiler3라는 WebJob을 선택합니다.

  3. 중지를 선택합니다.

    Screenshot that shows selecting stop for stopping the webjob.

  4. 를 선택하여 확인합니다.

성능 문제를 가능한 한 빨리 검색하려면 모든 앱에서 Profiler를 사용하도록 설정하는 것이 좋습니다.

WebDeploy를 사용하여 웹 애플리케이션에 변경 내용을 배포할 때 Profiler의 파일을 삭제할 수 있습니다. 배포하는 동안 삭제되지 않도록 App_Data 폴더를 제외하여 삭제를 방지할 수 있습니다.

다음 단계