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. エージェントが関連付けられている DCR を AMCS サービスからダウンロードできたことを確認します:

    1. 最新の DCR が次の場所にダウンロードされているかどうかを確認します C:\WindowsAzure\Resources\AMADataStore.<virtual-machine-name>\mcs\configchunks

パフォーマンス カウンターの収集に関する問題

  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>