VM Insights(分析情報)の設定から表示、ログ確認までの手順

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

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 Inshightの設定が開始します。
拡張機能がインストールされるため、仮想マシンを起動しておく必要があります。

分析情報(VM insights)を有効化

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

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

Agents

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

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

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

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

分析情報(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)の分析情報の仮想マシン
      • 分析情報(VM Insights)取得先として指定した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 仮想マシンの外部接続利用されているポートなどの、NW接続に関するログを収集するテーブルです。
対象となる仮想マシンのポートやトラフィック情報などのログを確認できます。
Log Analyticsワークスペースで分析情報(VM insights)で取得されるVMBoundPortのログを表示
VMComputer

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

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

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

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

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

Azure Monitorのメニューで確認

Azure Monitorに分析情報があります。
この中に仮想マシンがあり、分析情報(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)を有効化することで、仮想マシンのメトリック情報、ネットワーク接続、プロセスに関する情報を取得できることが分かりました。
分析情報(VM Insights)で収集される情報は、Log Analyticsワークスペースにログとして収集され、KQLクエリを使用して検索できました。

Azure Monitorのアラートルールなどにも利用できて、プロセス監視などに活用できそうです。
今後も引き続き、さまざまな機能を試してみたいと思います。

スポンサーリンク