VM insights のマップ機能を使用してアプリケーション コンポーネントを把握する

VM insights では、Azure またはお客様の環境で実行される Windows および Linux 仮想マシン (VM) で検出されたアプリケーション コンポーネントを確認できます。 VM を確認する方法は 2 つあります。 VM から直接マップを表示するか、または Azure Monitor から、VM グループのコンポーネントを表すマップを表示します。 この記事は、これら 2 つの表示方法とマップ機能の使用方法を理解するうえで役立ちます。

VM insights の構成の詳細については、VM insights の有効化に関するページをご覧ください。

前提条件

VM insights でマップ機能を有効にするには、仮想マシンに次のいずれかが必要です。 それぞれの詳細については、「監視対象外のマシンで VM insights を有効にする」を参照してください。

  • プロセスと依存関係が有効になっている Azure Monitor エージェント。
  • VM insights に対して有効になっている Log Analytics エージェント。

警告

Azure Monitor エージェントと Log Analytics エージェントの両方を使用して単一のマシンから重複データを収集すると、重複データがチェックされないため、VM insights のマップ機能が不正確になる可能性があります。

詳細については、「Log Analytics エージェントからの移行」を参照してください。

マップ エクスペリエンスの概要

マップ エクスペリエンスについて学習する前に、マップの表示方法と、マップでどのように情報が視覚化されるかについて理解する必要があります。 マップ機能を VM から直接選択しても、Azure Monitor から選択しても、マップの表示に関して一貫したエクスペリエンスが得られます。 唯一の違いは、Azure Monitor から選択すると、多層アプリケーションまたはクラスターのすべてのメンバーが 1 つのマップに表示されることです。

マップ機能では、次のものが含まれている実行中のプロセスを検出することによって、VM の依存関係が視覚化されます。

  • サーバー間のアクティブなネットワーク接続。
  • 受信および送信接続の待機時間。
  • 指定された時間範囲で TCP 接続されたアーキテクチャのポート。

VM を展開すると、プロセスの詳細と、その VM と通信しているプロセスだけが表示されます。 VM に接続するフロントエンド クライアントの数は、クライアント グループに示されます。 VM が接続するバックエンド サーバーの数は、サーバー ポート グループに示されます。 サーバー ポート グループを展開すると、そのポート経由で接続されているサーバーの詳細な一覧が表示されます。

VM を選択すると、右側の [プロパティ] ウィンドウに、その VM のプロパティが表示されます。 プロパティには、オペレーティング システムによって報告されたシステム情報、Azure VM のプロパティ、検出された接続の概要を示すドーナツ グラフが含まれます。

[プロパティ] ウィンドウ

ウィンドウの右側にある [ログ イベント] を選択すると、VM から Azure Monitor に送信されたデータの一覧が表示されます。 このデータは、クエリに使用できます。 レコードの種類のいずれかを選択すると [ログ] ページが開き、そのレコードの種類の結果が表示されます。 また、VM に対してフィルター処理された事前構成済みのクエリも表示されます。

[ログ イベント] ウィンドウ

[ログ] ページを閉じると、 [プロパティ] ウィンドウに戻ります。 そこで [アラート] を選択すると、VM の正常性基準のアラートが表示されます。 マップ機能が Azure アラートと統合され、選択された時間範囲内の選択されたサーバーのアラートが表示されます。 サーバーに最新のアラートのアイコンが表示され、 [マシンのアラート] ウィンドウにアラートが一覧表示されます。

[アラート] ウィンドウ

マップ機能で関連するアラートを表示するには、特定のコンピューターに適用されるアラート ルールを作成します。

  • コンピューター別にアラートをグループ化する句を含めます (例: by Computer interval 1 minute)。
  • メトリックに基づいてアラートが生成されるようにします。

Azure アラートとアラート ルールの作成の詳細については、「Azure Monitor での統合アラート」をご覧ください。

右上隅の [凡例] オプションは、マップ上の記号と役割を示します。 マップの詳細を確認したり、その周辺を移動したりするには、右下隅にあるズーム コントロールを使用します。 ズーム レベルを設定し、マップをページのサイズに合わせることができます。

接続のメトリック

[接続] ウィンドウには、VM からの選択した接続 (TCP ポート経由) の標準的なメトリックが表示されます。 メトリックとして、応答時間、1 分あたりの要求数、トラフィックのスループット、リンクがあります。

[接続] ウィンドウ上のネットワーク接続のグラフ

失敗した接続

マップには、プロセスとコンピューターの失敗した接続が表示されます。 赤色の破線は、クライアント システムがプロセスまたはポートに到達できないことを示しています。 依存関係エージェントを使用するシステムでは、失敗した接続の試みがエージェントによって報告されます。 マップ機能では、接続の確立に失敗した TCP ソケットを観察することで、プロセスが監視されます。 この失敗の原因としては、ファイアウォール、クライアントまたはサーバーの構成の問題、または利用できないリモート サービスが考えられます。

マップ上の失敗した接続

失敗した接続を把握すると、トラブルシューティング、移行の検証、セキュリティ分析、サービスの全体的なアーキテクチャの理解に役立ちます。 失敗した接続は無害の場合もありますが、問題を示していることも少なくありません。 たとえば、フェールオーバー環境が突然到達不能になった場合や、クラウド移行後に 2 つのアプリケーション層が相互に通信できなくなった場合に、接続が失敗することがあります。

クライアント グループ

マップ上のクライアント グループは、マップされたマシンに接続されているクライアント マシンを表します。 1 つのクライアント グループは、個々のプロセスまたはマシンのクライアントを表します。

マップ上のクライアント グループ

クライアント グループ内のシステムの、監視対象のクライアントと IP アドレスを確認するには、グループを選択します。 その下に、グループの内容が表示されます。

マップ上のクライアント グループの IP アドレスの一覧

グループに監視対象のクライアントと監視対象外のクライアントが含まれている場合は、グループのドーナツ グラフの適切なセクションを選択することで、クライアントをフィルター処理できます。

サーバー ポート グループ

サーバー ポート グループは、マップされたマシンからの受信接続があるサーバーのポートを表します。 このグループには、サーバー ポートと、そのポートに接続しているサーバーの数が含まれています。 グループを選択すると、個々のサーバーと接続が表示されます。

マップ上のサーバー ポート グループ

グループに監視対象のサーバーと監視対象外のサーバーが含まれている場合は、グループのドーナツ グラフの適切なセクションを選択することで、サーバーをフィルター処理できます。

VM からマップを表示する

VM から VM insights に直接アクセスするには、次のようにします。

  1. Azure Portal で、 [仮想マシン] を選択します。
  2. 一覧から VM を選択します。 [監視] セクションで、 [分析情報] を選択します。
  3. [マップ] タブを選択します。

マップでは、指定された時間範囲でアクティブなネットワーク接続を持つ、実行中のプロセス グループとプロセスを検出することによって、VM の依存関係が視覚化されます。

既定では、マップには過去 30 分間の情報が表示されます。 過去の依存関係を表示する場合は、過去の時間範囲 (最大 1 時間) のクエリを実行できます。 クエリを実行するには、左上隅にある時間範囲セレクターを使用します。 たとえば、インシデントの発生中、または変更が行われる前の状態を確認するために、クエリを実行することがあります。

仮想マシン間の依存関係の図が表示された Azure portal の [監視の分析情報] セクションの [マップ] タブのスクリーンショット。

仮想マシン スケール セットからマップを表示する

仮想マシン スケール セットから VM insights に直接アクセスするには、次のようにします。

  1. Azure portal 上で、 [仮想マシン スケール セット] を選択します。
  2. 一覧から VM を選択します。 次に、 [監視] セクションで [分析情報] を選択します。
  3. [マップ] タブを選択します。

マップでは、スケール セット内のすべてのインスタンスが、グループ ノードとして、グループの依存関係とともに視覚化されます。 展開されたノードには、スケール セットのインスタンスが一覧表示されます。 これらのインスタンスは一度に 10 個をスクロールできます。

特定のインスタンスのマップを読み込むには、まずマップ上でそのインスタンスを選択します。 次に、右側の省略記号のボタン (…) を選択し、 [サーバー マップを読み込む] を選択します。 表示されたマップには、指定された時間範囲でアクティブなネットワーク接続を持つプロセス グループとプロセスが表示されます。

既定では、マップには過去 30 分間の情報が表示されます。 過去の依存関係を表示する場合は、過去の時間範囲 (最大 1 時間) のクエリを実行できます。 クエリを実行するには、時間範囲セレクターを使用します。 たとえば、インシデントの発生中、または変更が行われる前の状態を確認するために、クエリを実行することがあります。

仮想マシン スケール セット間の依存関係の図が表示された Azure portal の [監視の分析情報] セクションの [マップ] タブのスクリーンショット。

Note

仮想マシン スケール セットの [インスタンス] ビューから、特定のインスタンスのマップにアクセスすることもできます。 [設定] セクションで、 [インスタンス]>[分析情報] に移動します。

Azure Monitor からマップを表示する

Azure Monitor では、マップ機能で VM とその依存関係の全体像を確認できます。 Azure Monitor でマップ機能にアクセスするには:

  1. Azure portal で、 [モニター] を選択します。

  2. [分析情報] セクションで、 [仮想マシン] を選択します。

  3. [マップ] タブを選択します。

    Azure Monitor の複数 VM の概要マップ

ページの上部にあるワークスペース セレクターを使用して、ワークスペースを選択します。 複数の Log Analytics ワークスペースがある場合は、ソリューションが有効になっており、それに報告する VM があるワークスペースを選択します。

グループ セレクターでは、選択したワークスペースに関連するコンピューターのサブスクリプション、リソース グループ、コンピューター グループ、および仮想マシン スケール セットが返されます。 この選択が適用されるのは、マップ機能のみで、パフォーマンスや正常性には引き継がれません。

既定では、マップには過去 30 分間の情報が表示されます。 過去の依存関係を表示する場合は、過去の時間範囲 (最大 1 時間) のクエリを実行できます。 クエリを実行するには、時間範囲セレクターを使用します。 たとえば、インシデントの発生中、または変更が行われる前の状態を確認するために、クエリを実行することがあります。

次のステップ

ボトルネックの特定、パフォーマンスの確認、VM の全体的な使用率の理解については、VM insights のパフォーマンス状態の表示に関する記事をご覧ください。