Azure VM の診断設定とそれ以外のリソースにおける診断設定について

Last Update: feedback 共有

こんにちは、Azure Monitoring サポート チームの北村です。
今回のブログでは Azure VM の診断設定と、それ以外のリソースにおける診断設定の違いをご説明します。
皆さんは、Azure Monitor には “診断設定” という名前の機能が 2 つ存在することをご存知ですか?
どちらの機能もログやメトリックを収集しますが、実は全く別の機能です。しかし、同じ名前の機能のため、この 2 つの違いについてのお問い合わせが多く寄せられます。そこで、今回はこの 2 つの機能の違いに焦点をあてて機能の概要をご説明します!


目次


1. 診断設定という名前の機能は 2 つある

本記事の冒頭でも記載したとおり、”診断設定” という名前の機能は 2 つあります。
ここでは 2 つの機能を明確に区別するため、”Azure VM の診断設定” と “Azure Monitor の診断設定” と呼ぶことにします。
下表は、この 2 つの機能の主な違いです。この機能の共通点は、対象リソースのメトリックやログを収集するという点です。

機能名 Azure VM の診断設定 Azure Monitor の診断設定
対象リソース Azure VM 公開情報 に記載のリソース
送信するデータ ゲスト OS のメトリックとログ Azure プラットフォームのメトリックとログ
データの宛先 ストレージ アカウント、Azure Monitor メトリック、Event Hubs Log Analytics ワークスペース、ストレージ アカウント、
イベント ハブ、サード パーティの製品
拡張機能 あり (Azure Diagnostics 拡張機能) なし

2. Azure VM の診断設定

Azure VM に Azure Diagnostics 拡張機能をインストールし、ゲスト OS のログやメトリックをストレージ アカウントに送信する機能です。Windows 用の Azure Diagnostics 拡張機能 は Windows Azure Diagnostics extension (WAD)、Linux 用は Linux Azure Diagnostics extension (LAD) と呼ばれています。Azure ポータル から対象の Azure VM を選択し、[監視] - [診断設定] から有効化することができます。設定手順の詳細は こちら をご覧ください。

Azure Monitor では、VM に拡張機能をインストールしてゲスト OS のメトリックやログを収集する機能に Log Analytics エージェントや Azure Monitor エージェントがあります。これらのエージェントとの主な違いは、ログの収集先です。
Log Analytics エージェントや Azure Monitor エージェントでは Log Analytics ワークスペースにログを収集します。
ストレージ アカウントは Log Analytics ワークスペースと比べて低コストでログを保持することが可能であり、より長い期間ログを保管することができます。そのため、低コストでログやメトリックを保管されたい場合や、より長い期間ログを保管されたいときに Azure Diagnostics 拡張機能をご利用されることが多いように思います。

Note

Azure Diagnostics 拡張機能がサポートしている OS は こちら をご確認ください。

ゲスト OS やメトリックに関する説明は こちらの記事 をご覧ください。また、Log Analytics エージェントは 2024 年 8 月 31 日に廃止が予定されており、Azure Monitor エージェントへの移行をお願いしております。詳細は 公開情報 をご確認ください。


3. Azure Monitor の診断設定

Azure プラットフォームのメトリックやログを Log Analytics ワークスペースやストレージ アカウント等に送信する機能です。
“Azure Monitor の診断設定” は、すべてのリソースでサポートしているわけではございません。基本的に 公開情報 に掲載されているリソースでサポートされています。基本的には Azure ポータルから対象リソースを選択し、[監視] - [診断設定] から構築することが可能です。設定手順の詳細は こちら をご覧ください。

プラットフォームのメトリックは既定で収集されます。メトリックは Azure 基盤側のメトリック データベースに保存され、Azure ポータルのメトリック エクスプローラー等から確認できます。一方で、プラットフォームのログは “Azure Monitor の診断設定” を構築しない限り、収集することはできません。プラット フォームのメトリックを既定の保持期間 (93 日間)以上保管したい場合やプラットフォームのログを保管/監視したい場合にご利用いただける機能です。

Note

メトリックは、Azure リソースから一定の間隔で自動で収集される数値データです。

プラットフォーム メトリックは、Azure リソースから一定の間隔で自動で収集される数値データであり、正常性やパフォーマンスに関する情報です。

プラットフォーム のログは Azure リソース内で実行された操作に関する情報です。ログはリソースの種類によって異なります。

Azure プラットフォームのメトリックやログの詳細は、Azure Monitor のサポートされるメトリックAzure リソース ログ の公開情報をご覧ください。


4. Azure VM のプラット フォーム メトリックを収集する方法

ここまでお読みいただいて「Azure VM のプラットフォーム メトリックを保管したい場合は、どうしたらいいの?」と思われた方もいるかもしれません。弊社サポートにも「Azure VM のホスト OS メトリックを Log Aanalytics ワークスペースに送信したい」というお問い合わせをよくいただきます。

Azure VM には、2 種類のメトリック (ゲスト OS メトリックとホスト OS メトリック) があります。ゲスト OS メトリックは VM 上に Azure Monitor エージェント等をインストールして収集しますが、ホスト OS メトリック (VM のホストで管理しているメトリック データ) は既定で収集されます。このホスト OS メトリックは、Azure PowerShell 等で “Azure Monitor の診断設定” を構築することで、Log Analytics ワークスペース等に収集することができます。

以下は Azure PowerShell で Azure VM のプラットフォーム メトリックを Log Analytics ワークスペースに送信する設定例です。
“Azure Monitor の診断設定” を構築するためのコマンドの詳細につきましては、こちら をご覧ください。

1
2
3
$metric = @()
$metric += New-AzDiagnosticSettingMetricSettingsObject -Enabled $true -Category AllMetrics
New-AzDiagnosticSetting -Name '診断設定の名前' -ResourceId <仮想マシンのリソース ID> -WorkspaceId <Log Analytics ワークスペースのリソース ID> -Metric $metric

“Azure Monitor の診断設定” で送信したプラットフォーム メトリックは AzureMetrics テーブルに収集されます。
なお、上記コマンドを実行し、ログが出力されるまで時間がかかる場合がございます。上記コマンドを実行してから約 1 ~ 2 時間後に Log Analytics ワークスペース上でログが収集されているかどうかをご確認ください。

Note

サンプル スクリプトを実行するには、Azure PowerShell をインストールいただく必要がございます。

Azure PowerShell をインストール方法は 弊社公開情報 をご覧ください。

なお、Azure PowerShell や Azure CLI を使用する際には Azure Cloud Shell が便利です。ポータルでログインしているユーザーの認証情報が引き継がれるため、Connect-AzAccount コマンド等の実行は不要です。

弊社公開情報 にも利用方法を掲載しておりますので、ご覧いただけますと幸いです。


上記の内容以外でご不明な点や疑問点などございましたら、弊社サポート サービスまでお問い合わせください。
最後までお読みいただきありがとうございました!

※本情報の内容(添付文書、リンク先などを含む)は、作成日時点でのものであり、予告なく変更される場合があります。