다음을 통해 공유


Windows 가상 머신 및 확장 집합의 Azure Monitor 에이전트에 대한 문제 해결 지침

Azure Monitor 에이전트 개요

더 읽기 전에 Azure Monitor 에이전트데이터 수집 규칙에에 대해 잘 알고 있어야 합니다.

용어

이름 머리글자어 설명
Azure Monitor 에이전트 AMA 새 Azure Monitor 에이전트
데이터 수집 규칙 DCR 에이전트에서 데이터 수집을 구성하는 규칙(예: 수집할 데이터, 보낼 위치 등)
Azure Monitor 구성 서비스 AMCS Azure에서 호스트되는 지역 서비스는 이 에이전트 및 Azure Monitor의 다른 부분에 대한 데이터 수집을 제어합니다. 에이전트는 DCR을 가져오기 위해 이 서비스를 호출합니다.
로그 엔드포인트 -- Log Analytics 작업 영역으로 데이터를 보내기 위한 엔드포인트
메트릭 엔드포인트 -- Azure Monitor 메트릭 데이터베이스로 데이터를 보내기 위한 엔드포인트입니다.
Instance Metadata Service 및 하이브리드 IMDS 및 HIMDS 현재 실행 중인 가상 머신, 확장 집합(IMDS를 통해) 및 Arc 지원 서버(HIMDS를 통해)에 대한 정보를 각각 제공하는 Azure에서 호스트되는 서비스
Log Analytics 작업 영역 LAW 에이전트에서 수집한 로그를 보낼 수 있는 Azure Monitor의 대상
사용자 지정 메트릭 -- 에이전트에서 수집한 게스트 메트릭을 보낼 수 있는 Azure Monitor의 대상

기본 문제 해결 단계(설치, 에이전트가 실행되지 않음, 구성 문제)

아래 단계에 따라 Windows 가상 머신에서 실행되는 최신 버전의 Azure Monitor 에이전트 문제를 해결합니다.

  1. 여기에서 필수 구성 요소를 주의 깊게 검토합니다.

  2. 확장이 성공적으로 설치되고 프로비전되었는지 확인합니다. 이렇게 하면 머신에 에이전트 이진 파일이 설치됩니다.

    1. Azure Portal 열기 > 가상 머신 선택 > 설정 열기 : 왼쪽의 창에서 확장 + 애플리케이션 > 'AzureMonitorWindowsAgent'가 상태: '프로비저닝 성공'으로 표시되어야 합니다.
    2. 그렇지 않은 경우 머신이 Azure에 연결할 수 있는지 확인하고 아래 명령을 사용하여 설치할 확장을 찾습니다.
      az vm extension image list-versions --location <machine-region> --name AzureMonitorWindowsAgent --publisher Microsoft.Azure.Monitor
      
    3. 확장 버전이 전환 상태일 수 있으므로 10-15분 동안 기다립니다. 그래도 표시되지 않으면 확장을 제거했다가 다시 설치하고 확인을 반복하여 확장이 표시되는지 확인합니다.
    4. 그렇지 않은 경우 머신의 C:\WindowsAzure\Logs\Plugins\Microsoft.Azure.Monitor.AzureMonitorWindowsAgent에 있는 확장 로그에 오류가 표시되는지 확인합니다.
  3. 에이전트가 실행 중인지 확인:

    1. 에이전트가 아래 쿼리를 사용하여 Log Analytics 작업 영역에 하트비트 로그를 내보내고 있는지 확인합니다. DCR에서 '사용자 지정 메트릭'이 유일한 대상인 경우 건너뜁니다.
      Heartbeat | where Category == "Azure Monitor Agent" and Computer == "<computer-name>" | take 10
      
    2. 그렇지 않은 경우 작업 관리자를 열고 'MonAgentCore.exe' 프로세스가 실행 중인지 확인합니다. 이 경우 하트비트가 표시될 때까지 5분 동안 기다립니다.
    3. 그렇지 않은 경우 머신의 C:\WindowsAzure\Resources\AMADataStore.<virtual-machine-name>\Configuration에 있는 핵심 에이전트 로그에 오류가 표시되는지 확인합니다.
  4. DCR이 존재하며 가상 머신과 연결되어 있는지 확인합니다.

    1. Log Analytics 작업 영역을 대상으로 사용하는 경우 DCR이 Log Analytics 작업 영역과 동일한 물리적 지역에 있는지 확인합니다.
    2. 가상 머신에서 C:\WindowsAzure\Resources\AMADataStore.<virtual-machine-name>\mcs\mcsconfig.latest.xml 파일이 있는지 확인합니다. 이 파일이 없는 경우:
      • 가상 머신이 DCR과 연결되지 않을 수 있습니다. 3단계 참조
      • 가상 머신에 관리 ID가 활성화되어 있지 않을 수 있습니다. 사용하도록 설정하는 방법은 여기를 참조하세요.
      • IMDS 서비스가 실행 중이 아니거나 가상 머신에서 액세스할 수 없습니다. 머신에서 IMDS에 액세스할 수 있는지 확인합니다.
      • AMA는 IMDS에 액세스할 수 없습니다. C:\WindowsAzure\Resources\AMADataStore.<virtual-machine-name>\Tables\MAEventTable.tsf 파일에 IMDS 오류가 표시되는지 확인합니다.
    3. Azure Portal 열기 > 데이터 수집 규칙 선택 > 구성 열기 : 왼쪽의 창에서 리소스 > 여기에 나열된 가상 머신이 표시됩니다.
    4. 나열되지 않은 경우 '추가'를 클릭하고 리소스 선택기에서 가상 머신을 선택합니다. 모든 DCR에서 반복합니다.
  5. 에이전트가 AMCS 서비스에서 연결된 DCR을 다운로드할 수 있는지 확인합니다.

    1. 이 위치 C:\WindowsAzure\Resources\AMADataStore.<virtual-machine-name>\mcs\configchunks에서 다운로드한 최신 DCR이 표시되는지 확인

성능 카운터 수집 문제

  1. DCR JSON에 'performanceCounters'에 대한 섹션이 포함되어 있는지 확인합니다. 그렇지 않은 경우 DCR을 수정합니다. DCR을 만드는 방법 또는 샘플 DCR을 참조하세요.
  2. 파일 C:\WindowsAzure\Resources\AMADataStore.<virtual-machine-name>\mcs\mcsconfig.lkg.xml이 있는지 확인합니다.
  3. 파일을 열고 아래 예제와 같이 CounterSet 노드가 포함되어 있는지 확인합니다.
    <CounterSet storeType="Local" duration="PT1M" 
        eventName="c9302257006473204344_16355538690556228697" 
        sampleRateInSeconds="15" format="Factored">
        <Counter>\Processor(_Total)\% Processor Time</Counter>
        <Counter>\Memory\Committed Bytes</Counter>
        <Counter>\LogicalDisk(_Total)\Free Megabytes</Counter>
        <Counter>\PhysicalDisk(_Total)\Avg. Disk Queue Length</Counter>
    </CounterSet>
    

'사용자 지정 메트릭'을 대상으로 사용하는 문제

  1. 여기에서 필수 구성 요소를 주의 깊게 검토합니다.
  2. 연결된 DCR이 성능 카운터를 수집하고 Azure Monitor 메트릭으로 보내도록 올바르게 작성되었는지 확인합니다. DCR에 다음 섹션이 표시되어야 합니다.
    "destinations": {  
    "azureMonitorMetrics": {  
        "name":"myAmMetricsDest" 
        } 
    }
    
  3. PowerShell 명령을 실행합니다.
    Get-WmiObject Win32_Process -Filter "name = 'MetricsExtension.Native.exe'" | select Name,ExecutablePath,CommandLine | Format-List
    
    출력의 CommandLine 매개 변수에 "-TokenSource MSI" 인수가 포함되어 있는지 확인합니다.
  4. C:\WindowsAzure\Resources\AMADataStore.<virtual-machine-name>\mcs\AuthToken-MSI.json 파일이 있는지 확인합니다.
  5. C:\WindowsAzure\Resources\AMADataStore.<virtual-machine-name>\mcs\CUSTOMMETRIC_<subscription>_<region>_MonitoringAccount_Configuration.json 파일이 있는지 확인합니다.
  6. C:\Packages\Plugins\Microsoft.Azure.Monitor.AzureMonitorWindowsAgent\<version-number>\Monitoring\Agent\table2csv.exe C:\WindowsAzure\Resources\AMADataStore.<virtual-machine-name>\Tables\MaMetricsExtensionEtw.tsf 명령을 실행하여 로그 수집
    1. 이 명령은 'MaMetricsExtensionEtw.csv' 파일을 생성합니다.
    2. 이를 열고 수준 2 오류를 찾아서 해결해 보세요.

Windows 이벤트 로그 수집 문제

  1. DCR JSON에 'windowsEventLogs'에 대한 섹션이 포함되어 있는지 확인합니다. 그렇지 않은 경우 DCR을 수정합니다. DCR을 만드는 방법 또는 샘플 DCR을 참조하세요.
  2. 파일 C:\WindowsAzure\Resources\AMADataStore.<virtual-machine-name>\mcs\mcsconfig.lkg.xml이 있는지 확인합니다.
  3. 파일을 열고 아래 예제와 같이 Subscription 노드가 포함되어 있는지 확인합니다.
    <Subscription eventName="c9302257006473204344_14882095577508259570" 
    query="System!*[System[(Level = 1 or Level = 2 or Level = 3)]]">
        <Column name="ProviderGuid" type="mt:wstr" defaultAssignment="00000000-0000-0000-0000-000000000000">
          <Value>/Event/System/Provider/@Guid</Value>
        </Column>
        ...
    
        </Column>
    </Subscription>