Azure 上のVMで、「Azure Diagnostics 拡張機能」と言われる診断設定が可能です。この機能で行われるデータ収集と、Azure Monitorエージェントでのデータ収集の、違いが曖昧でしたのでまとめました。
結論は、Azure Diagnostics拡張機能の後継がAzure Monitorエージェントであるので、データ収集にはAzure Monitorエージェントを使うのがよい、という当たり前のものなのですが、以下、詳細です。
Azure VM診断設定(Azure Diagnostics 拡張機能)
Azure Portalから 監視 > 診断設定 で設定可能なのが、「Azure Diagnostics 拡張機能」です。
Windows 用の Azure Diagnostics 拡張機能 はWindows Azure Diagnostics extension (WAD)、Linux 用は Linux Azure Diagnostics extension (LAD) と呼ばれています 。
収集対象データは、Windows・Linux で異なりますが、以下のとおりです。
Windows 診断拡張機能 (WAD)
Linux 診断拡張 (LAD)
イベントログ、シスログ、ファイルベースの任意のログ、ゲストOSのパフォーマンス情報、など基本的なものは両OSで取得可能です。
データ送信先(データの保存先)も、Windows・Linux で異なりますが、以下のとおりです。
Windows 診断拡張機能 (WAD)
Linux 診断拡張 (LAD)
いくつかデータ送信先(データの保存先)の記載がありますが、Azure PortalからGUIで構成可能なのはストレージアカウントのみ、の模様です。
ストレージアカウント上に、気軽に、ゲストOSのメトリックとログを長期保存しておける(Log Analyticsと比較した場合に保存コストも安価)というのが「Azure Diagnostics 拡張機能」でした。
Azure Monitorエージェント
Azure Monitorエージェント によるデータ収集設定は、やや画面が古いのですが、基本的には以下手順で設定可能です。
Azure MonitorエージェントによるWindows仮想マシンの監視
「データ収集ルール」の作成、「データ収集リソース」の指定により、Azure MonitoエージェントがVMにインストールされ、データ収集が実施されます。
収集対象データは Windows・Linux 毎に、以下のとおりです。
収集対象データは、
Azure Diagnostics 拡張機能 と同じく、イベントログ、シスログ、ファイルベースの任意のログ、ゲストOSのパフォーマンス情報、などです。収集可能なデータについては、Azure MonitorエージェントとAzure Diagnostics 拡張機能 との間でほとんど差はありません。
一方、データ送信先(データの保存先)は、Azure Monitorエージェントにおいては Log Analyticsワークスペースのみ、となっています。(※2024/09/17時点のドキュメント)
今までは、Azure Monitorエージェントのデータは、Log Analyticsワークスペースに一度保存するしか選択肢はありませんでした。Storage Accountに長期保存の為にデータを保存したい場合でも、必ずLog Analyticsワークスペースを経由する必要がありました。しかしながら、2024年9月時点で、Event Hubs、とStorage Accountへデータを直接保存する方法がプレビュー版としてリリースされています。
Event Hubs とストレージへのデータの送信 (プレビュー)
※ARMテンプレートとAzure Powershellを利用する手順になっています
このプレビュー機能により、データ送信先(データの保存先)の選択肢においても、Azure MonitorエージェントとAzure Diagnostics 拡張機能 との間で差はなくなったと言えると思います。
まとめ
Azure MonitorエージェントとAzure Diagnostics 拡張機能 の間で機能的な差異はほとんどありません。そしてAzure Diagnostics 拡張機能の後継機能(※1)が、Azure Monitorエージェントです。以前は、Azure Diagnostics 拡張機能だけががストレージアカウントへの直接データ保存に対応していましたが、Azure Monitorエージェントでも同様のことが実現可能となっています。VMのゲストOSログやデータを収集する場合、Azure Monitorエージェントで収集するよう設計するのがベストだと思います。
※1・・・Azure Diagnostics拡張機能は、今後、新しい機能開発が行われないとされています。以下「サポートされているオペレーティングシステム」を確認しても新しいOSには対応が実施されなくなっています。