🙌

Azure仮想マシンMonitor Agent私的まとめ

2022/08/12に公開

はじめに

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)

img

これからの方式(Azure Monitor Agent & Dependency Agent)

img

※ただし、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