Azure仮想マシンMonitor Agent私的まとめ
はじめに
Azure仮想マシン(VM)のイベントログやメトリックをLog Analytics Workspace等に保存する手段として、今まではLog Analyticsエージェントを利用するケースが多かったでしょう。
Log Analyticsエージェントは 2024年8月 にオワコンとなります。
https://docs.microsoft.com/ja-jp/azure/azure-monitor/agents/agents-overview#log-analytics-agent
今の段階で新しい仮想マシン環境をAzureに構築するのであれば、是非レガシーなLog Analyticsエージェントの採用はせずに、Azure Monitorエージェントを軸として構成する事をお勧めします。
Azure Monitorエージェントとは
Log Analyticsエージェントで足りなかった機能を拡充した次世代エージェントです(大げさ)
ざっくりとした機能は以下の通りです。
- ゲストメトリック、EventLog(Windows)、Syslog(Linux)の収集できる
- 仮想マシンの用途別に収集ルールを分けて、収集する情報と出力先を変更できる
細かい機能差は以下のURLを参考にしてください。
https://docs.microsoft.com/ja-jp/azure/azure-monitor/agents/agents-overview#summary-of-agents
Log Analyticsエージェントで出来ていたカスタムログ(含IISログ)も現時点ではプレビューですが、Azure Monitorエージェントで実現できそうです(ただし今回は未検証)。
https://docs.microsoft.com/ja-jp/azure/azure-monitor/agents/data-collection-text-log
ちょっと手順が複雑そうな印象ですね。GAまでに簡易になるといいですね。
Dependency(依存関係)エージェントとLog Analyticsエージェント
Azure Monitor for VMs、VM Insightsと呼び方が統一されていなくて混乱しますが、今まではVMのプロセスと通信の依存関係を収集するDependencyエージェントは、Log Analyticsエージェントが必須でした。
Azure Monitorエージェントへの対応ですが、現状はプレビューという扱いのはずが、2022/8/12時点では未サポートと表記されています。
https://docs.microsoft.com/ja-jp/azure/azure-monitor/vm/vminsights-overview
実際に試したところ、Windows Server(2019で確認)のエージェントは正常に動作しているようですが、Linux(Ubuntu 20.04 LTSで確認)のエージェントはインストールに失敗するようです。
もう少し待ちましょう。
データ収集ルール
依存関係エージェントでもですが、Azure Monitorエージェントを使う場合には新たに「データ収集ルール(Data Collection Rule)」リソースが必要になります。
https://docs.microsoft.com/ja-jp/azure/azure-monitor/essentials/data-collection
このデータ収集ルールの中には以下の情報が詰まっています。
- プラットフォーム種別(Windows、Linux、カスタム)
- データソース(収集する情報)
- パフォーマンスカウンタ
- Windows Eventlog
- Linux Syslog
- ターゲット(どこに送るか)
- Azure Monitor Metrics(プレビュー、ポータルのメトリック情報から参照できるようになる)
- Log Analytics
- リソース(どのVMが対象か)
- 対象VM
- (必要に応じて)データ収集エンドポイント
このデータ収集ルールを複数組み合わせることで、用途別に収集する情報や出力先のLog Analyticsを分けることが可能となりました。
データ収集エンドポイントについては少々ややこしいのですが、Azure Monitor Private Link Scopeを使っている場合に必要です(今回の記事では割愛)。
図示すると以下の感じになります。
従来の方式(Log Analytics Agent & Dependency Agent)
これからの方式(Azure Monitor Agent & Dependency Agent)
※ただし、DependencyエージェントのMonitorエージェント対応が今は微妙。
注意点
色々試した結果、以下が注意点かなと。
- Azure portal上で仮想マシンの「機能拡張とアプリケーション」メニューからAzure Monitorエージェントのインストールは出来ない
→データ収集ルールのリソースから、リソースの追加で必要に応じてエージェントがインストールされる - 仮想マシンのシステムマネージドIDを有効にする必要がある(portalで操作時には勝手に有効化される)
おわりに
こちらの確認にあたり、私はAzure portalからではなく、ARM Template(Bicep)にて行いましたが、結構portalが良しなに必要な設定を自動で行ってくれる印象でした。
できれば、必要なリソース設定やAzure Monitorエージェントのインストールはportalに頼らず、自身で直接ARM Templateやbicepで操作することをお勧めします。
その方が、知識が深まり腹落ちすると考えます。
また、時間がありましたらAzure Monitor Private Link Scopeとも絡めたBicepの記事を作成したいと考えます。
以上。
Discussion