다음을 통해 공유


.NET, Node.js, Python 및 Java 애플리케이션용 Azure 앱 Service에서 애플리케이션 모니터링 사용

런타임 모니터링이라고도 하는 자동 침입은 코드 변경이나 고급 구성 없이도 Azure 앱 Service에 Application Insights를 사용하도록 설정하는 가장 쉬운 방법입니다. 특정 시나리오에 따라 수동 계측을 통해 고급 모니터링이 필요한지 여부를 평가합니다.

참고 항목

2025년 3월 31일에 계측 키 수집에 대한 지원이 종료됩니다. 계측 키 수집은 계속 작동하지만 더 이상 기능에 대한 업데이트 또는 지원을 제공하지 않습니다. 연결 문자열로 전환하여 새로운 기능을 활용합니다.

Application Insights 사용

Important

자동 침입 모니터링 및 수동 SDK 기반 계측이 모두 감지되면 수동 계측 설정만 적용됩니다. 이 배열은 중복 데이터가 전송되는 것을 방지합니다. 자세한 내용은 문제 해결을 참조 하세요.

참고 항목

Azure Portal의 자동 침입

  1. 앱 서비스의 왼쪽 탐색 메뉴에서 Application Insights를 선택한 다음 사용을 선택합니다.

     사용이 선택된 Application Insights 탭을 보여 주는 스크린샷

  2. 새 리소스를 만들거나 이 애플리케이션에 대한 기존 Application Insights 리소스를 선택합니다.

    참고 항목

    확인을 선택하여 새 리소스를 만들면 모니터링 설정 적용 메시지가 표시됩니다. 계속을 선택하면 새 Application Insights 리소스가 앱 서비스에 연결됩니다. 그러면 앱 서비스가 다시 시작됩니다.

    리소스 변경 드롭다운을 보여 주는 스크린샷

  3. 사용할 리소스를 지정한 후 Application Insights에서 애플리케이션에 대한 플랫폼별 데이터를 수집하는 방법을 선택할 수 있습니다. ASP.NET Core 컬렉션 옵션은 권장 또는 사용 안 함입니다.

    애플리케이션 계측 섹션을 보여 주는 스크린샷

모니터링 확장/에이전트 수동 업그레이드

버전 2.8.9 이상에서 업그레이드

버전 2.8.9에서 업그레이드는 추가 작업 없이 자동으로 수행됩니다. 새 모니터링 비트는 백그라운드에서 대상 앱 서비스로 전달되고 애플리케이션을 다시 시작할 때 선택됩니다.

실행 중인 확장의 버전을 확인하려면 https://yoursitename.scm.azurewebsites.net/ApplicationInsights로 이동합니다.

실행되는 확장의 버전을 확인하기 위한 URL 경로를 보여 주는 스크린샷

버전 1.0.0~2.6.5에서 업그레이드

버전 2.8.9부터 미리 설치된 사이트 확장이 사용됩니다. 이전 버전을 사용 중인 경우 다음 두 가지 방법 중 하나로 업데이트할 수 있습니다.

  • Azure Portal을 통해 사용하도록 설정하여 업그레이드: App Service용 Application Insights 확장이 설치되어 있더라도 UI에는 사용 단추만 표시됩니다. 백그라운드에서 이전 개인 사이트 확장이 제거됩니다.

  • PowerShell을 통해 업그레이드:

    1. 애플리케이션 설정을 설정하여 미리 설치된 사이트 확장 ApplicationInsightsAgent를 사용하도록 설정합니다. 자세한 내용은 PowerShell을 통해 사용을 참조하세요.
    2. Azure App Service의 Application Insights 확장이라는 프라이빗 사이트 확장을 수동으로 제거합니다.

2.5.1 이전 버전에서 업그레이드가 완료되면 DLL이 ApplicationInsights 애플리케이션 bin 폴더에서 제거되었는지 확인합니다. 자세한 내용은 문제 해결을 참조하십시오.

모니터링 확장/에이전트 구성

현재 ASP.NET Core에 대한 모니터링 확장을 구성하는 옵션은 제공되지 않습니다.

클라이언트 쪽 모니터링 사용

클라이언트 쪽 모니터링은 앱 설정 APPINSIGHTS_JAVASCRIPT_ENABLED가 있는지 여부에 관계없이 권장 컬렉션을 통해 ASP.NET Core 앱에 대해 기본적으로 사용하도록 설정됩니다.

클라이언트 쪽 모니터링을 사용하지 않도록 설정하려는 경우:

  1. 설정>구성을 선택합니다.

  2. 애플리케이션 설정에서 다음 정보를 사용하여 새 애플리케이션 설정을 만듭니다.

    • 이름: APPINSIGHTS_JAVASCRIPT_ENABLED
    • : false
  3. 설정을 저장합니다. 응용 프로그램을 다시 시작합니다.

모니터링 자동화

Application Insights로 원격 분석 컬렉션을 사용하려면 다음 애플리케이션 설정만 설정하면 됩니다.

Application Insights 설정이 있는 App Service 애플리케이션 설정을 보여 주는 스크린샷

애플리케이션 설정 정의

앱 설정 이름 정의
ApplicationInsightsAgent_EXTENSION_VERSION 런타임 모니터링을 제어하는 기본 확장입니다. Windows의 경우 ~2 또는 Linux의 경우 ~3
XDT_MicrosoftApplicationInsights_Mode 기본 모드에서는 최적의 성능을 보장하기 위해 필수 기능만 사용하도록 설정됩니다. disabled 또는 recommended.
XDT_MicrosoftApplicationInsights_PreemptSdk ASP.NET Core 앱에만 해당합니다. Application Insights SDK와 상호 운용을 사용하도록 설정합니다. 확장을 SDK와 함께 로드하고 이를 사용하여 원격 분석을 보냅니다. (Application Insights SDK를 사용하지 않도록 설정합니다.) 1

Azure Resource Manager를 사용한 App Service 애플리케이션 설정

Azure App Service에 대한 애플리케이션 설정은 Azure Resource Manager 템플릿으로 관리 및 구성할 수 있습니다. Resource Manager 자동화를 사용하여 새 App Service 리소스를 배포하거나 기존 리소스의 설정을 수정할 때 이 방법을 사용할 수 있습니다.

App Service 리소스에 대한 애플리케이션 설정 JSON의 기본 구조:

      "resources": [
        {
          "name": "appsettings",
          "type": "config",
          "apiVersion": "2015-08-01",
          "dependsOn": [
            "[resourceId('Microsoft.Web/sites', variables('webSiteName'))]"
          ],
          "tags": {
            "displayName": "Application Insights Settings"
          },
          "properties": {
            "key1": "value1",
            "key2": "value2"
          }
        }
      ]

Application Insights에 대해 구성된 애플리케이션 설정이 포함된 Resource Manager 템플릿의 예제에서는 이 템플릿이 유용할 수 있습니다. 특히 238행에서 시작하는 섹션을 참조하세요.

기본 Application Insights 설정을 사용하여 Resource Manager 템플릿을 만들려면 Application Insights를 사용하도록 설정하여 새 웹앱을 만들려는 것처럼 프로세스를 시작합니다.

  1. 원하는 웹앱 정보로 새 App Service 리소스를 만듭니다. 모니터링 탭에서 Application Insights를 사용하도록 설정합니다.

  2. 검토 + 만들기를 선택합니다. 그런 다음 자동화용 템플릿 다운로드를 선택합니다.

    App Service 웹앱 만들기 메뉴를 보여 주는 스크린샷

    이 옵션은 모든 필수 설정이 구성된 최신 Resource Manager 템플릿을 생성합니다.

    App Service 웹앱 템플릿을 보여 주는 스크린샷.

다음 샘플에서 AppMonitoredSite의 모든 인스턴스를 사이트 이름으로 바꿉니다.

참고 항목

Windows를 사용하는 경우 ApplicationInsightsAgent_EXTENSION_VERSION을(를) ~2(으)로 설정합니다. Linux를 사용하는 경우 ApplicationInsightsAgent_EXTENSION_VERSION을(를) ~3(으)로 설정합니다.

{
    "resources": [
        {
            "name": "[parameters('name')]",
            "type": "Microsoft.Web/sites",
            "properties": {
                "siteConfig": {
                    "appSettings": [
                        {
                            "name": "APPINSIGHTS_INSTRUMENTATIONKEY",
                            "value": "[reference('microsoft.insights/components/AppMonitoredSite', '2015-05-01').InstrumentationKey]"
                        },
                        {
                            "name": "APPLICATIONINSIGHTS_CONNECTION_STRING",
                            "value": "[reference('microsoft.insights/components/AppMonitoredSite', '2015-05-01').ConnectionString]"
                        },
                        {
                            "name": "ApplicationInsightsAgent_EXTENSION_VERSION",
                            "value": "~2"
                        }
                    ]
                },
                "name": "[parameters('name')]",
                "serverFarmId": "[concat('/subscriptions/', parameters('subscriptionId'),'/resourcegroups/', parameters('serverFarmResourceGroup'), '/providers/Microsoft.Web/serverfarms/', parameters('hostingPlanName'))]",
                "hostingEnvironment": "[parameters('hostingEnvironment')]"
            },
            "dependsOn": [
                "[concat('Microsoft.Web/serverfarms/', parameters('hostingPlanName'))]",
                "microsoft.insights/components/AppMonitoredSite"
            ],
            "apiVersion": "2016-03-01",
            "location": "[parameters('location')]"
        },
        {
            "apiVersion": "2016-09-01",
            "name": "[parameters('hostingPlanName')]",
            "type": "Microsoft.Web/serverfarms",
            "location": "[parameters('location')]",
            "properties": {
                "name": "[parameters('hostingPlanName')]",
                "workerSizeId": "[parameters('workerSize')]",
                "numberOfWorkers": "1",
                "hostingEnvironment": "[parameters('hostingEnvironment')]"
            },
            "sku": {
                "Tier": "[parameters('sku')]",
                "Name": "[parameters('skuCode')]"
            }
        },
        {
            "apiVersion": "2015-05-01",
            "name": "AppMonitoredSite",
            "type": "microsoft.insights/components",
            "location": "West US 2",
            "properties": {
                "ApplicationId": "[parameters('name')]",
                "Request_Source": "IbizaWebAppExtensionCreate"
            }
        }
    ],
    "parameters": {
        "name": {
            "type": "string"
        },
        "hostingPlanName": {
            "type": "string"
        },
        "hostingEnvironment": {
            "type": "string"
        },
        "location": {
            "type": "string"
        },
        "sku": {
            "type": "string"
        },
        "skuCode": {
            "type": "string"
        },
        "workerSize": {
            "type": "string"
        },
        "serverFarmResourceGroup": {
            "type": "string"
        },
        "subscriptionId": {
            "type": "string"
        }
    },
    "$schema": "https://schema.management.azure.com/schemas/2014-04-01-preview/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0"
}

PowerShell을 통해 사용

PowerShell을 통해 애플리케이션 모니터링을 사용하도록 설정하려면 기본 애플리케이션 설정만 변경해야 합니다. 다음 샘플은 리소스 그룹 AppMonitoredRG에서 AppMonitoredSite라는 웹 사이트에 대한 애플리케이션 모니터링을 사용하도록 설정합니다. 012345678-abcd-ef01-2345-6789abcd 계측 키로 전송되는 데이터를 구성합니다.

참고 항목

Azure Az PowerShell 모듈을 사용하여 Azure와 상호 작용하는 것이 좋습니다. 시작하려면 Azure PowerShell 설치를 참조하세요. Az PowerShell 모듈로 마이그레이션하는 방법에 대한 자세한 내용은 Azure PowerShell을 AzureRM에서 Azure로 마이그레이션을 참조하세요.

참고 항목

Windows를 사용하는 경우 ApplicationInsightsAgent_EXTENSION_VERSION을 ~2(으)로 설정합니다. Linux를 사용하는 경우 ApplicationInsightsAgent_EXTENSION_VERSION을 ~3(으)로 설정합니다.

$app = Get-AzWebApp -ResourceGroupName "AppMonitoredRG" -Name "AppMonitoredSite" -ErrorAction Stop
$newAppSettings = @{} # case-insensitive hash map
$app.SiteConfig.AppSettings | %{$newAppSettings[$_.Name] = $_.Value} # preserve non Application Insights application settings.
$newAppSettings["APPINSIGHTS_INSTRUMENTATIONKEY"] = "012345678-abcd-ef01-2345-6789abcd"; # set the Application Insights instrumentation key
$newAppSettings["APPLICATIONINSIGHTS_CONNECTION_STRING"] = "InstrumentationKey=012345678-abcd-ef01-2345-6789abcd"; # set the Application Insights connection string
$newAppSettings["ApplicationInsightsAgent_EXTENSION_VERSION"] = "~2"; # enable the ApplicationInsightsAgent
$app = Set-AzWebApp -AppSettings $newAppSettings -ResourceGroupName $app.ResourceGroup -Name $app.Name -ErrorAction Stop

자주 묻는 질문

이 섹션에서는 일반적인 질문에 대한 답변을 제공합니다.

Application Insights에서 내 프로젝트를 어떻게 수정하나요?

세부 정보는 프로젝트의 유형에 따라 달라집니다. 다음 목록은 웹 애플리케이션의 예입니다.

  • 프로젝트에 파일을 추가합니다.

    • ApplicationInsights.config
    • ai.js
  • NuGet 패키지를 설치합니다.

    • Application Insights API: 핵심 API
    • 웹 애플리케이션용 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에서 누락된 애플리케이션 원격 분석 문제 해결을 참조하세요.

참고 항목

App Services에서 ASP.NET Core 런타임으로 웹앱을 만들면 단일 정적 HTML 페이지를 시작 웹 사이트로 배포합니다. 기본 템플릿 관련 문제를 해결하는 것은 권장되지 않습니다. 문제를 해결하기 전에 애플리케이션을 배포합니다.

원격 분석 누락

Windows

  1. ApplicationInsightsAgent_EXTENSION_VERSION 앱 설정이 ~2 값으로 설정되어 있는지 확인합니다.

  2. https://yoursitename.scm.azurewebsites.net/ApplicationInsights으로 이동합니다.

    결과 페이지 위의 링크를 보여 주는 스크린샷

    • Application Insights 확장 상태Pre-Installed Site Extension, version 2.8.x.xxxx, is running.인지 확인합니다.

      실행 중이 아니면 Application Insights 모니터링 사용 섹션의 안내를 따릅니다.

    • 상태 원본이 존재하고 Status source D:\home\LogFiles\ApplicationInsights\status\status_RD0003FF0317B6_4248_1.json과 같이 표시되는지 확인합니다.

      유사한 값이 없으면 애플리케이션이 현재 실행되고 있지 않거나 지원되지 않는다는 의미입니다. 애플리케이션이 실행 중인지 확인하려면 런타임 정보를 사용할 수 있도록 하는 애플리케이션 URL/애플리케이션 엔드포인트를 수동으로 방문해 보세요.

    • IKeyExistsTrue인지 확인합니다. False인 경우 ikey GUID를 사용하여 애플리케이션 설정에 APPINSIGHTS_INSTRUMENTATIONKEYAPPLICATIONINSIGHTS_CONNECTION_STRING을 추가합니다.

    • 애플리케이션이 Application Insights 패키지를 참조하는 경우 App Service 통합을 사용하도록 설정하면 적용되지 않을 수 있으며 Application Insights에 데이터가 표시되지 않을 수 있습니다. 예를 들어 이전에 ASP.NET Core SDK를 사용하여 앱을 계측하거나 계측하려고 시도한 경우입니다. 이 문제를 해결하려면 Azure Portal에서 Application Insights SDK를 사용하여 Interop을 켭니다.

      Important

      이 기능은 미리 보기 상태입니다.

      사용하도록 설정된 Interop을 보여 주는 스크린샷

      Application Insights SDK가 원래 사용되었거나 사용하려고 하더라도 데이터는 코드 없는 방법을 사용하여 전송됩니다.

      Important

      애플리케이션이 Application Insights SDK를 사용하여 원격 분석을 보낸 경우 원격 분석이 사용하지 않도록 설정됩니다. 즉, 사용자 지정 원격 분석(예: Track*() 메서드) 및 사용자 지정 설정(예: 샘플링)이 사용하지 않도록 설정됩니다.

Linux

  1. ApplicationInsightsAgent_EXTENSION_VERSION 앱 설정이 ~3 값으로 설정되어 있는지 확인합니다.

  2. https://your site name.scm.azurewebsites.net/ApplicationInsights으로 이동합니다.

  3. 이 사이트 내에서 다음을 확인합니다.

    • 상태 원본이 존재하며 Status source /var/log/applicationinsights/status_abcde1234567_89_0.json과 같이 표시됩니다.
    • Auto-Instrumentation enabled successfully 값이 표시됩니다. 유사한 값이 없으면 애플리케이션이 실행되고 있지 않거나 지원되지 않는다는 의미입니다. 애플리케이션이 실행 중인지 확인하려면 런타임 정보를 사용할 수 있도록 하는 애플리케이션 URL/애플리케이션 엔드포인트를 수동으로 방문해 보세요.
    • IKeyExistsTrue입니다. False인 경우 ikey GUID를 사용하여 애플리케이션 설정에 APPINSIGHTS_INSTRUMENTATIONKEYAPPLICATIONINSIGHTS_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 애플리케이션 설정에 있는지 확인합니다.

릴리스 정보

이 섹션에는 Application Insights를 사용한 런타임 계측을 위한 ANT 릴리스를 기반으로 하는 Azure 앱 Service에 대한 릴리스 정보가 포함되어 있습니다.

현재 사용 중인 확장의 버전을 찾으려면 https://<yoursitename>.scm.azurewebsites.net/ApplicationInsights로 이동합니다.

2.8.44

2.8.43

  • .NET/.NET Core, Java 및 Node.js 패키지를 다른 App Service Windows 사이트 확장으로 구분합니다.

2.8.42

  • .NET 시작 후크를 사용하여 자체 포함 배포 및 .NET 6.0 지원이 추가되었습니다.

2.8.41

  • 지원되지 않는 버전(2.1)이 제거되었습니다. 지원되는 버전은 3.1 및 5.0입니다.

2.8.39

  • .NET Core 5.0 지원이 추가되었습니다.

2.8.38

  • 지원되지 않는 버전(2.0, 2.2, 3.0)이 제거되었습니다. 지원되는 버전은 2.1 및 3.1입니다.

2.8.37

  • AppSvc Windows 확장: .NET Core를 모든 버전의 System.Diagnostics.DiagnosticSource.dll과 함께 작동할 수 있게 되었습니다.

2.8.36

  • AppSvc Windows 확장: .NET Core에서 AI SDK와의 상호 운용을 사용하도록 설정했습니다.

2.8.35

  • AppSvc Windows 확장: .NET Core 3.1 지원이 추가되었습니다.

2.8.33

  • .NET, .NET Core, Java 및 Node.js 에이전트 및 Windows 확장: 소버린 클라우드를 지원합니다. 연결 문자열을 사용하여 소버린 클라우드로 데이터를 보낼 수 있습니다.

2.8.31

  • ASP.NET Core 에이전트는 Application Insights SDK의 문제가 해결되었습니다. 런타임이 System.Diagnostics.DiagnosticSource.dll의 잘못된 버전을 로드한 경우 코드 없는 확장이 애플리케이션을 중단하지 않고 백오프합니다. 이 문제를 해결하려면 고객은 bin 폴더에서 System.Diagnostics.DiagnosticSource.dll을 제거하거나 ApplicationInsightsAgent_EXTENSIONVERSION=2.8.24를 설정하여 이전 버전의 확장을 사용해야 합니다. 그렇지 않으면 애플리케이션 모니터링이 사용하도록 설정되지 않습니다.

2.8.26

  • 업데이트된 Application Insights SDK와 관련된 문제가 해결되었습니다. ApplicationInsights.dll이 이미 bin 폴더에 있는 경우 에이전트가 AiHostingStartup 로드를 시도하지 않습니다. 이렇게 하면 Assembly<AiHostingStartup>. GetTypes()를 통해 리플렉션과 관련된 문제가 해결됩니다.

  • 알려진 문제: 다른 버전의 DiagnosticSourcedll이 로드되면 System.IO.FileLoadException: Could not load file or assembly 'System.Diagnostics.DiagnosticSource, Version=4.0.4.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' 예외가 throw될 수 있습니다. 예를 들어 게시 폴더에 System.Diagnostics.DiagnosticSource.dll이 있는 경우 이런 상황이 발생할 수 있습니다. 해결하려면 앱 서비스 ApplicationInsightsAgent_EXTENSIONVERSION=2.8.24에서 앱 설정을 지정하여 이전 버전의 확장을 사용합니다.

2.8.24

  • 다시 패키지된 2.8.21 버전입니다.

2.8.23

  • ASP.NET Core 3.0 코드리스 모니터링 지원이 추가되었습니다.

  • 런타임 버전 2.1, 2.2 및 3.0의 ASP.NET Core SDK가 2.8.0으로 업데이트되었습니다. .NET Core 2.0을 대상으로 하는 앱은 계속 SDK 2.1.1을 사용합니다.

2.8.14

  • .NET Core 2.1, 2.2를 대상으로 하는 앱의 경우 ASP.NET Core SDK 버전이 2.3.0에서 최신 버전(2.6.1)으로 업데이트되었습니다. .NET Core 2.0을 대상으로 하는 앱은 계속 SDK 2.1.1을 사용합니다.

2.8.12

  • ASP.NET Core 2.2 앱을 지원합니다.

  • 애플리케이션이 이미 SDK로 계측된 경우에도 ASP.NET Core 확장에서 SDK를 삽입하는 버그가 수정되었습니다. 2.1 및 2.2 앱의 경우 이제 애플리케이션 폴더에 ApplicationInsights.dll이 있으면 확장이 백오프됩니다. 2.0 앱의 경우 ApplicationInsights가 UseApplicationInsights() 호출을 사용하도록 설정된 경우에만 확장이 백오프됩니다.

  • ASP.NET Core 앱에 대한 불완전한 HTML 응답이 영구적으로 해결되었습니다. 이 수정 사항은 이제 .NET Core 2.2 앱에서 작동하도록 확장되었습니다.

  • ASP.NET Core 앱(APPINSIGHTS_JAVASCRIPT_ENABLED=false appsetting)에 대한 JavaScript 삽입을 해제하는 지원이 추가되었습니다. ASP.NET Core에서 명시적으로 해제하지 않는 한 JavaScript 삽입은 기본적으로 "옵트아웃" 모드에 있습니다. (현재 동작을 유지하기 위해 기본 설정이 수행됩니다.)

  • ikey가 없는 경우에도 삽입을 유발하는 ASP.NET Core 확장 버그가 수정되었습니다.

  • 원격 분석에서 잘못된 SDK 버전을 유발하던 SDK 버전 접두사 논리의 버그가 수정되었습니다.

  • 원격 분석이 수집된 방법을 식별하기 위해 ASP.NET Core 앱에 대한 SDK 버전 접두사가 추가되었습니다.

  • 미리 설치된 확장의 버전을 올바르게 표시하도록 SCM- ApplicationInsights 페이지가 수정되었습니다.

2.8.10

  • ASP.NET Core 앱에 대한 불완전한 HTML 응답이 해결되었습니다.

다음 단계