VM Insightsの設定手順、取得したデータやログの表示確認方法

2022-09-11Azure,Log Analytics,Monitor,Virtual Machines

Azure Monitorの機能の一つに、分析情報(VM Insights)があります。
仮想マシン(Azure VM)や仮想マシンスケールセット(Azure VMSS)のリソース情報やメトリックをログとして収集し、確認することができます。
収集されたログはLog Analyticsワークスペースに集約されます。これらのログはKQLクエリで検索して活用することも可能です。

今回は、分析情報(VM Insights)の設定方法、Azure Portalでの表示と確認方法、Log Analyticsワークスペースに収集されたログをKQLクエリを使って確認する方法について紹介します。

※本記事では、Azure Virtual Machines(Azure VM)を仮想マシンと表記しています。
※本記事では、Azure Virtual Machine Scale Sets(Azure VMSS)を仮想マシンスケールセットと表記しています。

スポンサーリンク

分析情報(VM Insights)って何?

分析情報(VM Insights)の概要

VM Insights の概要

仮想マシンや仮想マシンスケールセットのデータを収集・表示する機能です。
Azure Portalを日本語表記にした場合は、分析情報と表示されます。
Azure Monitorエージェントをインストールすることで、オンプレミス機器や他のパブリッククラウド上の仮想マシンの情報も収集できます。

分析情報(VM Insights)で収集されたデータは、Log Analyticsワークスペースにログとして保存されます。
Log Analyticsワークスペース上では、KQLクエリを使って検索することが可能です。また、Azure Monitorのアラートルールの設定にも利用できます。

価格

分析情報(VM Insights)の利用自体には課金が発生しません。
ただし、分析情報(VM Insights)を通じてLog Analyticsワークスペースへ取り込まれるデータ量に対して課金が発生します。

pricing

分析情報(VM Insights)で収集されるデータ

分析情報(VM Insights)を利用することで、仮想マシンに関するさまざまなデータを収集することができます。

    • 分析情報(VM Insights)で収集される主なデータ
      • パフォーマンス
        • CPU使用率、メモリ使用率、ディスク使用率などのリソース情報
      • マップ
        • 仮想マシンと外部との接続情報をグラフィカルに表示
          • Properties : 仮想マシンの情報(サイズやIPなど)、OSのバージョン情報
          • Log Events : Log Analyticsワークスペースへ出力されたログ件数
          • Alerts : Azure Monitorで検出されたアラート件数
          • Connections : ネットワーク接続状況に関する情報
          • Changes : 仮想マシンの変更情報

そのままの設定では分析情報(VM Insights)ではOSのSyslogやイベントログは収集されません。
これらを収集する場合は、データ収集ルールで追加の設定が必要です。

※仮想マシンスケールセットでも同様の情報を確認することができます。

Linuxではサポートされるバージョンに注意が必要

分析情報(VM Insights)でプロセスと依存関係を有効にする場合は注意が必要です。
プロセスと依存関係を有効にすると、仮想マシンの拡張機能としてDependencyAgentLinuxがインストールされます。

Linux 用 Azure Monitor Dependency 仮想マシン拡張機能

DependencyAgentLinuxがサポート対象外の場合、以下のエラーメッセージが表示されます。

The resource write operation failed to complete successfully, because it reached terminal provisioning state 'Failed’.
(コード: ResourceDeploymentFailure、ターゲット: 仮想マシンのリソースID/extensions/DependencyAgentLinux)

このエラーが発生した場合は、DependencyAgentLinuxのインストールが正常に完了していません。
この場合、VMConnectionテーブルおよびVMBoundportテーブルに格納されている接続データとポートデータは収集されません。

なお、分析情報(VM Insights)自体は、Azure Monitorエージェントがサポートされていれば利用可能です。

Azure Monitor エージェントでサポートされるオペレーティング システムと環境

※注意が必要なのは、プロセスと依存関係を有効にした場合のみです。

分析情報(VM Insights)の有効化手順

分析情報(VM Insights)の有効化とデータ収集ルール設定

仮想マシンのメニューから分析情報(VM Insights)を有効化します。
取得対象のデータはログ収集ルールで設定します。
ログ収集ルール内で、収集対象のデータやログの転送先となるLog Analyticsワークスペースを指定して設定します。

分析情報(VM Insights)設定

分析情報のメニューで有効化を選択します。

仮想マシンのメニューで分析情報(VM insights)を有効化

監視の構成設定画面です。
データ収集ルールの新規作成を選択します。

※既存のデータ収集ルールがある場合は、選択して設定することもできます。
※デフォルト値のまま進めると、MSVMI-DefaultWorkspace-サブスクリプションID-ロケーション名というデータ収集ルールが作成されます。同時にLog Analyticsワークスペースのリソースも作成されます。

分析情報(VM insights)の設定画面(監視の構成)

データ収集ルール名を設定します。
マップでプロセス情報を取得する場合は、プロセスと依存関係を有効にする項目にチェックを入れます。

※新規作成したデータ収集ルールは、他の仮想マシンでも利用できます。

分析情報(VM insights)の設定画面(データ収集ルールの設定)

構成を選択するとVM Insightsの設定が開始されます。
拡張機能がインストールされるため、仮想マシンを起動しておく必要があります。

仮想マシンへのインストールが完了すると、拡張機能にエージェントが表示されます。

Dependency Agentは、プロセスと依存関係を有効にした場合にのみインストールされます。
※インストールされる拡張機能については、こちらを参照してください。

Agents

分析情報(VM insights)を有効化
分析情報(VM insights)有効化後に仮想マシンの拡張機能を確認

※画面はWindows OSの場合の表示例です。Linux OSの場合は、拡張機能としてインストールされるのが、AzureMonitorLinuxAgentとDependencyAgentLinuxになります。

仮想マシンでの分析情報(VM Insights)表示例

仮想マシンのメニューから、分析情報(VM Insights)のデータ収集状況を確認できます。
パフォーマンスタブではメトリックデータ、マップタブでは仮想マシン自体の情報やネットワーク接続状況などを確認できます。

分析情報(VM Insights)設定後の確認
パフォーマンスタブです。
ディスクの使用率やCPU使用率などのメトリックデータが収集されていることを確認できます。
仮想マシンのメニューで分析情報(VM insights)を表示(パフォーマンス)

マップタブです。
仮想マシンの接続状況に関するデータなどを確認できます。
別の項で記載していますが、マップには複数のタブがあり、仮想マシン自体の情報も確認できます。

仮想マシンのメニューで分析情報(VM insights)を表示(マップ)

※分析情報(VM Insights)を有効化してから、表示されるまでに数十分かかります。

分析情報(VM Insights)を利用してOSのログを収集

分析情報(VM Insights)を利用して、OSのログを収集することもできます。
Windows Serverのイベントログを例に、Log Analyticsワークスペースへ収集する手順について紹介します。

Log Analyticsワークスペースでの分析情報(VM Insights)表示例

Log Analyticsワークスペースのメニューから、分析情報(VM Insights)のデータ収集状況を確認できます。
仮想マシンにインストールしたエージェントとの接続状況や、ログメニューから収集したログをKQLクエリで検索できます。

分析情報(VM Insights)設定後の確認

Log Analyticsワークスペースのメニューで分析情報を選択します。
エージェントタブでは、接続されている仮想マシンの一覧が表示されます。

※他のLog Analyticsワークスペースに接続している場合は表示されません。

Log Analyticsワークスペースのメニューで分析情報(VM insights)を表示(エージェント)

分析情報(VM Insights)経由で収集されたログも確認できます。

Log Analyticsワークスペースで分析情報(VM insights)のログを表示

モニター(Azure Monitor)での分析情報(VM Insights)表示例

モニター(Azure Monitor)のメニューからも、分析情報(VM Insights)のデータ収集状況を確認できます。
分析情報(VM Insights)の有効化状況も確認できます。また、有効化の設定も行えます。
パフォーマンスタブやマップタブがあり、複数の仮想マシンの情報をまとめて見ることができます。
ログメニューからKQLクエリで検索することもできます。

分析情報(VM Insights)設定後の確認
概要タブで分析情報(VM Insights)の設定状況を確認できます。 モニター(Azure Monitor)のメニューで仮想マシンの分析情報(VM insights)を表示(概要で監視対象を表示)
パフォーマンスタブで、CPU使用率などのメトリックを確認できます。 モニター(Azure Monitor)のメニューで仮想マシンの分析情報(VM insights)を表示(パフォーマンス)

概要タブで監視対象外を選択し、仮想マシンの分析情報(VM Insights)を有効化できます。

モニター(Azure Monitor)のメニューで仮想マシンの分析情報(VM insights)を有効化

—広告—

分析情報(VM Insights)で収集されるログや表示内容を確認

仮想マシンの場合、分析情報(VM Insights)で取得されたログは、こちらのメニューから確認できます。

    • 仮想マシンの分析情報(VM Insights)
    • モニター(Azure Monitor)の分析情報メニュー
    • 取得先として指定したLog Analyticsワークスペース

※Log Analyticsワークスペースの場合は、直接ログ検索を行う形になります。
※今回は仮想マシンの例を紹介しています。

仮想マシンの分析情報(VM Insights)で表示される内容

仮想マシンのメニューで分析情報(VM Insights)を選択して確認します。

項目 説明  
パフォーマンス 仮想マシンのリソース情報を表示します。
CPU使用率、メモリ利用量、ディスク使用率、ネットワークトラフィック量などを確認できます。
仮想マシンのメニューで分析情報(VM insights)を表示(パフォーマンス)
Map サーバー間のアクティブなネットワーク接続をGUIで表示します。
接続先、ポート番号、プロセスの情報などを確認できます。
仮想マシンのメニューで分析情報(VM insights)を表示(マップ)
Properties

仮想マシンに関する情報を表示します。
OSのバージョン情報、仮想マシンのサイズなどのプロパティや、IPアドレスの情報などを確認できます。

  • 主な表示項目
    •  Health
      • リソース正常性
    • Machine Properties
      • Default IPv4 Gateway、DNS名、CPUクロックやメモリサイズなど
    • 仮想マシン Properties
      • リソースグループ、Location、マシンサイズ、OSイメージ情報など
仮想マシンのメニューで分析情報(VM insights)を表示(マップでPropertiesを表示)
仮想マシンのメニューで分析情報(VM insights)を表示(マップでMachine Propertiesを表示) 仮想マシンのメニューで分析情報(VM insights)を表示(マップでAzure VM Propertiesを表示)
Log Events

仮想マシンからLog Analyticsワークスペースに送信されたログ件数を一覧表示します。

EVENT TYPEを選択することで、Log AnalyticsワークスペースでKQLクエリを実行できます。
KQLクエリの実行結果が表示され、ログの内容を確認できます。

仮想マシンのメニューで分析情報(VM insights)を表示(マップでLog Eventsを表示)
Alerts

仮想マシンのアラート発生状況を表示します。
Investigate Alertsを選択すると、アラートの発生内容を確認できます。

※過去30分の内容が表示されます。
※アラートルールのスコープに仮想マシンを関連付けた場合のみ対象となるため、仮想マシンに関するすべてのアラートが表示されるわけではない点に注意が必要です。

仮想マシンのメニューで分析情報(VM insights)を表示(マップでAlertsを表示)
分析情報(VM insights)からすべてのアラートを表示
Connections 仮想マシンのNW接続に関する情報を表示します。
Connection detailsを選択すると、Connections Overviewが表示されます。
Connections Overviewでは、応答速度、データ転送量、受信量などを確認できます。
仮想マシンのメニューで分析情報(VM insights)を表示(マップでConnectionsを表示)
分析情報(VM insights)のConnectionsからConnections Overviewを表示
分析情報(VM insights)のConnectionsからログを表示
Changes

仮想マシンのリソースに対して変更があった場合、その内容を表示します。
リソースに対する変更は、仮想マシン自体に対する設定変更が対象となります。
変更分析機能の詳細については、こちらをご参照ください。

Azure Monitor で変更分析を使用する

※画面例は仮想マシンを再起動した場合です。
※OS内のモジュールアップデートなどは対象外です。

仮想マシンのメニューで分析情報(VM insights)を表示(マップでChangesを表示)
分析情報(VM insights)のChangesからアプリケーション変更分析を表示

Log Analyticsワークスペースで分析情報(VM Insights)で収集されるログ

分析情報(VM Insights)を経由して、Log Analyticsワークスペースに収集されたログを検索・確認できます。
KQLクエリを使用して、各項目を検索できます。

項目 説明  
InsightsMetrics

メトリックに関するログを収集するテーブルです。
CPU使用率、メモリ利用量、ディスク使用率、ネットワークトラフィック量などのログを確認できます。

Log Analyticsワークスペースで分析情報(VM insights)で取得されるInsightsMetricsのログを表示
VMBoundPort 仮想マシンの外部接続で利用されているポートなど、ネットワーク接続に関するログを収集するテーブルです。
対象となる仮想マシンのポートやトラフィック情報などのログを確認できます。
Log Analyticsワークスペースで分析情報(VM insights)で取得されるVMBoundPortのログを表示
VMComputer

仮想マシン自体の情報に関するログを収集するテーブルです。
OSのバージョン詳細、OSイメージ、仮想マシンのサイズなどのログを確認できます。
情報の収集にはDependency Agentを利用します。

Log Analyticsワークスペースで分析情報(VM insights)で取得されるVMComputerのログを表示
VMConnection 仮想マシンの送受信など、ネットワークトラフィックに関するログを収集するテーブルです。
仮想マシンのネットワーク送受信に関する情報を確認できます。
Log Analyticsワークスペースで分析情報(VM insights)で取得されるVMConnectionのログを表示
VMProcess

仮想マシンで動作しているプロセスに関するログを収集するテーブルです。
仮想マシンのプロセス情報を確認できます。
情報の収集にはDependency Agentを利用します。

Log Analyticsワークスペースで分析情報(VM insights)で取得されるVMProcessのログを表示

Log Analyticsワークスペースに収集したログをKQLクエリを使って検索する方法については、こちらで紹介しています。

Azure Monitorのメニューで確認

Azure Monitorには分析情報(VM Insights)があります。
この中に仮想マシンがあり、分析情報(VM Insights)のパフォーマンスやマップを確認できます。
同じLog Analyticsワークスペースに接続された複数の仮想マシンの分析情報(VM Insights)をまとめて確認できます。

項目 説明  
パフォーマンス 仮想マシンのリソース情報を表示します。
CPU使用率、メモリ利用量、ディスク使用率、ネットワークトラフィック量などを確認できます。
Azure Monitorのメニューで分析情報(VM insights)の仮想マシンのパフォーマンスを表示
Map サーバー間のアクティブなネットワーク接続をGUIで表示します。
接続先、ポート番号、プロセスの情報などを確認できます。
Azure Monitorのメニューで分析情報(VM insights)の仮想マシンのマップを表示

モニター(Azure Monitor)で分析情報(VM Insights)を使った監視

分析情報(VM Insights)を使って取得したログは監視にも利用できます。
ネットワーク接続情報(VMConnection)を使った監視方法について紹介しています。

—広告—

最後に

今回は、仮想マシンの分析情報(VM Insights)についてまとめました。
分析情報(VM Insights)を有効化することで、仮想マシンのメトリック情報、ネットワーク接続、プロセスに関する情報を取得できることが分かりました。
収集された情報はLog Analyticsワークスペースにログとして保存され、KQLクエリを使用して検索できます。

Azure Monitorのアラートルールにも利用できるため、プロセス監視などに活用できそうです。

引き続き、いろいろ試してみたいと思います。

スポンサーリンク