다음을 통해 공유


Azure VM(가상 머신) 및 가상 머신 확장 집합에 대한 Application Insights

Azure Virtual Machines 및 Azure Virtual Machine Scale Sets에서 IIS(인터넷 정보 서버) 호스팅 ASP.NET 및 ASP.NET Core 애플리케이션에 대한 자동 침입을 통해 Azure MonitorApplication Insights 모니터링을 사용하도록 설정합니다. 가상 머신 확장을 사용하여 Application Insights 에이전트를 배포합니다. 에이전트는 SDK와 동일한 종속성 신호를 자동으로 수집합니다. PowerShell을 사용하여 대규모 배포를 자동화합니다.

참고

지원되는 자동 계측 시나리오의 전체 목록은 지원되는 환경, 언어 및 리소스 공급자를 참조하세요.

필수 조건

Application Insights 에이전트 확장을 설치하기 전에 연결 문자열이 필요합니다. 새 Application Insights 리소스를 만들 거나 기존 리소스에서 연결 문자열을 복사합니다.

가상 머신에 대한 모니터링 사용

Azure Portal 또는 PowerShell을 사용하여 VM에 대한 모니터링을 사용하도록 설정할 수 있습니다.

  1. Azure Portal에서, Application Insights 리소스로 이동합니다. 연결 문자열을 클립보드에 복사합니다.

    연결 문자열을 표시하는 스크린샷.

  2. 가상 머신으로 이동합니다. 왼쪽 메뉴의 설정 섹션에서 확장 + 애플리케이션>추가를 선택합니다.

    추가 버튼이 있는 확장 + 애플리케이션 창을 표시하는 스크린샷.

  3. Application Insights 에이전트>다음을 선택합니다.

    다음 버튼이 있는 확장 설치 창을 표시하는 스크린샷.

  4. 1단계에서 복사한 연결 문자열을 붙여넣고 검토 + 만들기를 선택합니다.

    검토 + 만들기 버튼이 있는 만들기 탭을 표시하는 스크린샷.

instrumentationKeyMap(확장 설정)

중요합니다

InstrumentationKeyMap은 동일한 컴퓨터의 IIS(인터넷 정보 서비스) 앱을 Application Insights 리소스에 매핑하는 고급 라우팅 기능입니다. 이 기능은 Application Insights 에이전트가 자동으로 설치하는 IIS 호스팅 ASP.NET 및 ASP.NET Core 앱에 적용됩니다.

일치의 작동 방식

  • 맵은 명명 filters된 규칙의 순서가 지정된 목록을 정의합니다. 첫 번째 일치 규칙이 적용됩니다. 특정 규칙을 먼저 배치하고 catch-all 규칙으로 마칩니다.
  • 각 규칙은 일치하는 앱에 다른 Application Insights 리소스를 할당할 수 있습니다. 계측 키는 레거시이므로 지원되는 시나리오에서 연결 문자열을 사용하는 것이 좋습니다.

사용 가능한 필터

  • MachineFilter 또는 machineFilter: 컴퓨터 또는 VM(가상 머신) 이름과 일치하는 C# 정규식입니다. .* 는 모든 이름과 일치합니다.
  • AppFilter 또는 appFilter: IIS 사이트 이름(HostingEnvironment.SiteName)과 일치하는 C# 정규식입니다. 이 필터는 제공되지 않을 때 VirtualPathFiltervirtualPathFilter 필요합니다.
  • VirtualPathFilter 또는 virtualPathFilter: IIS 가상 경로(HostingEnvironment.ApplicationVirtualPath)와 일치하는 C# 정규식입니다. 이 필터를 사용하여 사이트 아래에 있는 단일 앱을 대상으로 지정합니다.

용어 매핑

  • PowerShell cmdlet은 MachineFilter, AppFilterVirtualPathFilter.
  • Azure VM 및 Virtual Machine Scale Sets 확장 JSON은 리소스를 사용하고 machineFilterappFiltervirtualPathFilter리소스를 instrumentationSettings설정합니다.

팁 (조언)

같은 .*모든 앱과 일치하는 최종 규칙을 포함하고 기본 리소스를 적용하여 동작을 명시적으로 만듭니다.

VM 및 Virtual Machine Scale Sets 확장을 위한 위치

VM, Virtual Machine Scale Sets의 경우 확장의 공용 설정redfieldConfiguration.instrumentationKeyMap.filters 아래에 -SettingString 맵을 배치합니다-Setting. 속성 이름은 낙타 대/소문자보다 낮습니다. 를 사용하여 규칙당 대상 리소스를 instrumentationSettings.connectionString설정합니다.

{
  "redfieldConfiguration": {
    "instrumentationKeyMap": {
      "filters": [
        {
          "machineFilter": ".*",
          "appFilter": ".*",
          "instrumentationSettings": {
            "connectionString": "<your-APPLICATIONINSIGHTS_CONNECTION_STRING>"
          }
        }
      ]
    }
  }
}

가상 머신 확장 집합에 대한 모니터링 사용

Azure Portal 또는 PowerShell을 사용하여 가상 머신 확장 집합에 대한 모니터링을 사용하도록 설정할 수 있습니다.

VM에 대한 이전 단계를 수행하지만 VM 대신 가상 머신 확장 집합으로 이동합니다.

문제 해결

Application Insights 모니터링 에이전트 확장에 대한 이러한 문제 해결 팁을 사용합니다. 팁은 Azure Virtual Machines 및 Azure Virtual Machine Scale Sets의 .NET 애플리케이션에 적용됩니다.

확장을 배포하는 데 문제가 있는 경우 확장이 다음 디렉터리에 있는 파일에 기록하는 실행 출력을 검토합니다.

C:\WindowsAzure\Logs\Plugins\Microsoft.Azure.Diagnostics.ApplicationMonitoringWindows\<version>\

확장이 성공적으로 배포되었지만 원격 분석을 볼 수 없는 경우 에이전트 문제 해결에서 다루는 다음 문제 중 하나일 수 있습니다.

  • 앱의 bin 디렉터리에서 DLL(동적 링크 라이브러리) 충돌
  • IIS 공유 구성과 충돌

애플리케이션 호스트와 수집 서비스 간의 연결 테스트

Application Insights SDK 및 에이전트는 수집 엔드포인트에 대한 REST 호출로 수집하기 위해 원격 분석을 보냅니다. PowerShell 또는 curl 명령의 원시 REST 클라이언트를 사용하여 웹 서버 또는 애플리케이션 호스트 컴퓨터에서 수집 서비스 엔드포인트로의 연결을 테스트할 수 있습니다. Azure Monitor Application Insights에서 누락된 애플리케이션 원격 분석 문제 해결을 참조하세요.

릴리스 정보

2.8.44

  • Application Insights .NET/.NET Core SDK를 2.20.1로 업데이트함 - 빨간색 필드
  • SQL 쿼리 컬렉션을 사용하도록 설정했습니다.
  • Microsoft Entra 인증에 대한 지원을 사용하도록 설정했습니다.

2.8.42

Application Insights .NET/.NET Core SDK를 2.18.1로 업데이트함 - 빨간색 필드

2.8.41

ASP.NET Core 자동 계측 기능이 추가되었습니다.

다음 단계