Application Map を使用してアプリのパフォーマンスをトラブルシューティングする
Application Map を使用すると、分散アプリケーションのすべてのコンポーネントでパフォーマンスのボトルネックや障害のホットスポットを特定できます。 マップ上の各ノードは、アプリケーション コンポーネントまたはその依存関係を表します。と正常性 KPI とアラートの状態があります。 任意のコンポーネントからクリックして、Application Insights イベントなどのより詳細な診断を行うことができます。 アプリで Azure サービスを使用している場合は、SQL Database Advisor の推奨事項など、Azure Diagnostics をクリックして表示することもできます。
コンポーネントは、分散/マイクロサービス アプリケーションの個別にデプロイ可能な部分です。 開発者と運用チームには、これらのアプリケーション コンポーネントによって生成されたテレメトリに対するコード レベルの可視性またはアクセス権があります。
- コンポーネントは、チームまたは組織がアクセスできない可能性がある SQL、Event Hubs などの "観察された" 外部依存関係とは異なります (コードまたはテレメトリ)。
- コンポーネントは、任意の数のサーバー/ロール/コンテナー インスタンスで実行されます。
- コンポーネントには、Application Insights インストルメンテーション キー (サブスクリプションが異なる場合でも) または 1 つの Application Insights インストルメンテーション キーにレポートする異なるロールを指定できます。 プレビュー マップ エクスペリエンスでは、設定方法に関係なくコンポーネントが表示されます。
関連するアプリケーション コンポーネントの複数のレベルにわたる完全なアプリケーション トポロジを確認できます。 コンポーネントには、異なる Application Insights リソースや、1 つのリソース内の異なるロールがあります。 アプリ マップは、Application Insights SDK がインストールされているサーバー間で行われた HTTP 依存関係呼び出しに従ってコンポーネントを検索します。
このエクスペリエンスは、コンポーネントの段階的な検出から始まります。 アプリケーション マップを最初に読み込むと、一連のクエリがトリガーされ、このコンポーネントに関連するコンポーネントが検出されます。 左上隅にあるボタンは、検出されたアプリケーション内のコンポーネントの数で更新されます。
[マップ コンポーネントの更新] をクリックすると、その時点まで検出されたすべてのコンポーネントでマップが更新されます。 アプリケーションの複雑さによっては、読み込みに 1 分かかる場合があります。
すべてのコンポーネントが 1 つの Application Insights リソース内のロールである場合、この検出手順は必要ありません。 このようなアプリケーションの初期読み込みには、すべてのコンポーネントがあります。
このエクスペリエンスの主な目的の 1 つは、何百ものコンポーネントで複雑なトポロジを視覚化できることです。 任意のコンポーネントをクリックして関連する分析情報を表示し、そのコンポーネントのパフォーマンスと障害トリアージエクスペリエンスに移動します。
アプリケーション マップでは、クラウド ロール名プロパティを使用して、マップ上のコンポーネントを識別します。 クラウド ロール名を手動で設定またはオーバーライドし、アプリケーション マップに表示される内容を変更できます。