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 エージェントの最新バージョンをトラブルシューティングするには、次の手順に従います。
前提条件をこちらで注意深く確認します。
拡張機能が正常にインストールされ、プロビジョニングされたことを確認します。これにより、マシンにエージェント バイナリがインストールされます。
- Azure portal を開き、仮想マシンを選択します。左側のウィンドウから [設定: 拡張機能とアプリケーション] を開きます。'AzureMonitorWindowsAgent' が [プロビジョニング成功] の状態で表示されます。
- そうでない場合は、マシンが Azure に到達できるかどうかを確認し、下のコマンドを使用してインストールする拡張機能を見つけます。
az vm extension image list-versions --location <machine-region> --name AzureMonitorWindowsAgent --publisher Microsoft.Azure.Monitor
- 拡張機能が移行中の状態の場合があるので、10 分から 15 分待ちます。 それでも表示されない場合は、拡張機能をアンインストールして再度インストールし、検証を繰り返して拡張機能が表示されるかどうか確認します。
- されない場合、マシンの
C:\WindowsAzure\Logs\Plugins\Microsoft.Azure.Monitor.AzureMonitorWindowsAgent
にある拡張機能のログにエラーが表示されているかどうかを確認します
エージェントが実行されていることを確認する:
- 次のクエリを使用して、エージェントが Log Analytics ワークスペースにハートビート ログを出力しているかどうかを確認します。 "カスタム メトリック" が DCR の唯一の宛先の場合はスキップします。
Heartbeat | where Category == "Azure Monitor Agent" and Computer == "<computer-name>" | take 10
- そうでない場合は、タスク マネージャーを開き、"MonAgentCore.exe" プロセスが実行されているかどうかを確認します。 実行されている場合は、ハートビートが表示されるまで 5 分間待ちます。
- 実行されていない場合は、マシンの
C:\WindowsAzure\Resources\AMADataStore.<virtual-machine-name>\Configuration
にあるコア エージェントのログにエラーが表示されているかどうかを確認します
- 次のクエリを使用して、エージェントが Log Analytics ワークスペースにハートビート ログを出力しているかどうかを確認します。 "カスタム メトリック" が DCR の唯一の宛先の場合はスキップします。
DCR が存在し、仮想マシンに関連付けられていることを確認します:
- 宛先として Log Analytics ワークスペースを使用している場合は、DCR が Log Analytics ワークスペースと同じ物理リージョンに存在することを確認します。
- 仮想マシンで、ファイル
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 エラーが表示されているかどうかを確認します。
- Azure portal を開き、お使いのデータ収集ルールを選択します。左側のウィンドウから [構成: リソース] を開きます。ここに仮想マシンがリストされます。
- 表示されていない場合は、[追加] をクリックし、リソース ピッカーから仮想マシンを選択します。 すべての DCR で繰り返します。
エージェントが関連付けられている DCR を AMCS サービスからダウンロードできたことを確認します:
- 最新の DCR が次の場所にダウンロードされているかどうかを確認します
C:\WindowsAzure\Resources\AMADataStore.<virtual-machine-name>\mcs\configchunks
- 最新の DCR が次の場所にダウンロードされているかどうかを確認します
パフォーマンス カウンターの収集に関する問題
- DCR JSON に "performanceCounters" のセクションが含まれていることを確認します。 そうでない場合は、DCR を修正します。 DCR の作成方法またはサンプル DCR のセクションを参照してください。
- ファイル
C:\WindowsAzure\Resources\AMADataStore.<virtual-machine-name>\mcs\mcsconfig.lkg.xml
が存在することを確認してください。 - ファイルを開き、下の例に示すように
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>
"カスタム メトリック" を宛先として使用する場合の問題
- こちらの前提条件を慎重に確認します。
- 関連付けられている DCR が、パフォーマンス カウンターを収集し、Azure Monitor メトリックに送信するように正しく作成されていることを確認します。 DCR に次のセクションがあります。
"destinations": { "azureMonitorMetrics": { "name":"myAmMetricsDest" } }
- Powershell コマンドを実行します。
出力の CommandLine パラメーターに引数 "-TokenSource MSI" が含まれていることを確認します。Get-WmiObject Win32_Process -Filter "name = 'MetricsExtension.Native.exe'" | select Name,ExecutablePath,CommandLine | Format-List
C:\WindowsAzure\Resources\AMADataStore.<virtual-machine-name>\mcs\AuthToken-MSI.json
ファイルが存在することを確認します。C:\WindowsAzure\Resources\AMADataStore.<virtual-machine-name>\mcs\CUSTOMMETRIC_<subscription>_<region>_MonitoringAccount_Configuration.json
ファイルが存在することを確認します。- コマンド
C:\Packages\Plugins\Microsoft.Azure.Monitor.AzureMonitorWindowsAgent\<version-number>\Monitoring\Agent\table2csv.exe C:\WindowsAzure\Resources\AMADataStore.<virtual-machine-name>\Tables\MaMetricsExtensionEtw.tsf
を実行してログを収集します- コマンドによってファイル 'MaMetricsExtensionEtw.csv' が生成されます。
- それを開き、レベル 2 のエラーを探して修正を試みます。
Windows イベント ログの収集に関する問題
- DCR JSON に "windowsEventLogs" のセクションが含まれていることを確認します。 そうでない場合は、DCR を修正します。 DCR の作成方法またはサンプル DCR のセクションを参照してください。
- ファイル
C:\WindowsAzure\Resources\AMADataStore.<virtual-machine-name>\mcs\mcsconfig.lkg.xml
が存在することを確認してください。 - ファイルを開き、下の例に示すように
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>