VM insights のマップ機能を使用してアプリケーション コンポーネントを把握する
VM insights では、Azure またはお客様の環境で実行される Windows および Linux 仮想マシン (VM) で検出されたアプリケーション コンポーネントを確認できます。 VM を確認する方法は 2 つあります。 VM から直接マップを表示できます。 Azure Monitor から、VM グループのコンポーネントを表すマップを表示することもできます。 この記事は、これら 2 つの表示方法とマップ機能の使用方法を理解するうえで役立ちます。
VM insights の構成の詳細については、VM insights の有効化に関するページをご覧ください。
制限事項
- サブネット間および仮想ネットワーク間で VM または Azure Virtual Machine Scale Sets の IP 範囲が重複している場合、VM insights のマップに誤った情報が表示されることがあります。 これは既知の問題です。 このエクスペリエンスを改善するためのオプションを検討中です。
- 現在、マップ機能では IPv4 のみがサポートされています。 IPv6 のサポートは検討中です。 IPv6 内でトンネリングされる IPv4 もサポートされています。
- リソース グループや他の大規模なグループのマップは表示が難しいことがあります。 大規模で複雑な構成に対応できるようにマップを改善しましたが、マップに多数のノード、接続、クラスターとして機能するノードが含まれる場合があることがわかりました。 Microsoft では、スケーラビリティを向上させるサポートの継続的な強化に取り組んでいます。
- Free 価格レベルでは、VM 分析情報マップ機能で、Log Analytics ワークスペースに接続されている 5 台のマシンのみがサポートされます。
前提条件
VM insights でマップ機能を有効にするには、仮想マシンに次のいずれかのエージェントが必要です。
- プロセスと依存関係が有効になっている Azure Monitor エージェント。
- VM insights に対して有効になっている Log Analytics エージェント。
重要
レガシの Log Analytics エージェントは、2024 年 8 月 31 日の時点で非推奨となっています。 今後 Microsoft は、Log Analytics エージェントに関するすべてのサポートを提供しません。 Azure Monitor にデータを取り込むために Log Analytics エージェントを使用している場合は、今すぐ Azure Monitor エージェントに移行してください。
詳細については、監視対象外のマシンで VM insights を有効にするに関する記事を参照してください。
警告
Azure Monitor エージェントと Log Analytics エージェントの両方を使用して単一のマシンから重複データを収集すると、重複データがチェックされないため、VM insights のマップ機能が不正確になる可能性があります。
マップ エクスペリエンスの概要
マップ エクスペリエンスについて学習する前に、マップの表示方法と、マップでどのように情報が視覚化されるかについて理解する必要があります。
マップ機能を 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 アドレスを確認するには、グループを選択します。 次の図にグループの内容が表示されます。
グループに監視対象のクライアントと監視対象外のクライアントが含まれている場合は、グループのドーナツ グラフの適切なセクションを選択することで、クライアントをフィルター処理できます。
サーバー ポート グループ
サーバー ポート グループは、マップされたマシンからの受信接続があるサーバーのポートを表します。 このグループには、サーバー ポートと、そのポートに接続しているサーバーの数が含まれています。 グループを選択すると、個々のサーバーと接続が表示されます。
グループに監視対象のサーバーと監視対象外のサーバーが含まれている場合は、グループのドーナツ グラフの適切なセクションを選択することで、サーバーをフィルター処理できます。
VM からマップを表示する
VM から VM insights に直接アクセスするには、次のようにします。
- Azure Portal で、 [仮想マシン] を選択します。
- 一覧から VM を選択します。 [監視] セクションで [Insights] を選択します。
- [マップ] タブを選択します。
マップでは、指定された時間範囲でアクティブなネットワーク接続を持つ、実行中のプロセス グループとプロセスを検出することによって、VM の依存関係が視覚化されます。
既定では、マップには過去 30 分間の情報が表示されます。 過去の依存関係を表示する場合は、過去の時間範囲 (最大 1 時間) のクエリを実行できます。 クエリを実行するには、左上隅にある時間範囲セレクターを使用します。 たとえば、インシデントの発生中、または変更が行われる前の状態を確認するために、クエリを実行することがあります。
仮想マシン スケール セットからマップを表示する
仮想マシン スケール セットから VM insights に直接アクセスするには、次のようにします。
- Azure portal 上で、 [仮想マシン スケール セット] を選択します。
- 一覧から VM を選択します。 次に、[監視] セクションで [分析情報] を選択します。
- [マップ] タブを選択します。
マップでは、スケール セット内のすべてのインスタンスが、グループ ノードとして、グループの依存関係とともに視覚化されます。 展開されたノードには、スケール セットのインスタンスが一覧表示されます。 これらのインスタンスは一度に 10 個をスクロールできます。
特定のインスタンスのマップを読み込むには、まずマップ上でそのインスタンスを選択します。 その後、省略記号のボタン (...) を選択して、[サーバー マップを読み込む] を選択します。 表示されたマップには、指定された時間範囲でアクティブなネットワーク接続を持つプロセス グループとプロセスが表示されます。
既定では、マップには過去 30 分間の情報が表示されます。 過去の依存関係を表示する場合は、過去の時間範囲 (最大 1 時間) のクエリを実行できます。 クエリを実行するには、時間範囲セレクターを使用します。 たとえば、インシデントの発生中、または変更が行われる前の状態を確認するために、クエリを実行することがあります。
Note
仮想マシン スケール セットの [インスタンス] ビューから、特定のインスタンスのマップにアクセスすることもできます。 [設定] セクションで、 [インスタンス]>[分析情報] に移動します。
Azure Monitor からマップを表示する
Azure Monitor では、マップ機能で VM とその依存関係の全体像を確認できます。 Azure Monitor でマップ機能にアクセスするには:
ページの上部にあるワークスペース セレクターを使用して、ワークスペースを選択します。 複数の Log Analytics ワークスペースがある場合は、ソリューションが有効になっており、それに報告する VM があるワークスペースを選択します。
グループ セレクターでは、選択したワークスペースに関連するコンピューターのサブスクリプション、リソース グループ、コンピューター グループ、および仮想マシン スケール セットが返されます。 この選択が適用されるのは、マップ機能のみで、パフォーマンスや正常性には引き継がれません。
既定では、マップには過去 30 分間の情報が表示されます。 過去の依存関係を表示する場合は、過去の時間範囲 (最大 1 時間) のクエリを実行できます。 クエリを実行するには、時間範囲セレクターを使用します。 たとえば、インシデントの発生中、または変更が行われる前の状態を確認するために、クエリを実行することがあります。
次のステップ
ボトルネックの特定、パフォーマンスの確認、VM の全体的な使用率の理解については、VM insights のパフォーマンス状態の表示に関する記事をご覧ください。