アプリケーション マップを使用してアプリのパフォーマンスのトラブルシューティングを行う
アプリケーション マップを使用すると、分散アプリケーションのすべてのコンポーネントを対象にパフォーマンスのボトルネックや障害のホットスポットを特定できます。 マップ上の各ノードは、アプリケーション コンポーネントまたはその依存関係を表し、正常性主要業績評価指標およびアラート ステータスがあります。 Application Insights イベントなど、任意のコンポーネントからより詳細な診断まで選択できます。 アプリで Azure サービスを使用している場合は、SQL Database Advisor のおすすめ候補など、Azure Diagnostics から選択することもできます。
コンポーネントは、分散/マイクロサービス アプリケーションの、個別にデプロイできる部分です。 開発者と運用チームには、これらのアプリケーション コンポーネントによって生成されたテレメトリに対して、コード レベルの可視性またはアクセスがあります。
- コンポーネントは、チーム/組織がアクセスできない可能性がある SQL、Event Hubs などの "監視された" 外部依存関係 (コードまたはテレメトリ) とは異なります。
- コンポーネントは、任意の数のサーバー/ロール/コンテナーのインスタンス上で実行されます。
- コンポーネントは、個別の Application Insights インストルメンテーション キーである場合も (サブスクリプションが異なる場合も)、単一の Application Insights インストルメンテーション キーにレポートするさまざまなロールである場合もあります。 プレビュー マップ エクスペリエンスには、コンポーネントの構成に関係なく、コンポーネントが表示されます。
関連するアプリケーション コンポーネントの階層を横断的に見ながら完全なアプリケーション トポロジを表示できます。 コンポーネントとしては、さまざまな Application Insights リソースや、単一のリソースに含まれる各種ロールが該当します。 アプリ マップでは、Application Insights SDK がインストールされているサーバー間での HTTP 依存関係呼び出しに従ってコンポーネントを検索します。
このエクスペリエンスでは、最初にコンポーネントが順次検出されます。 アプリケーション マップを初めて読み込むとき、一連のクエリがトリガーされて、対象コンポーネントに関連したコンポーネントが検出されます。 左上隅のボタンには対象アプリケーション内のコンポーネント数が表示され、検出されるにつれて更新されます。
[マップ コンポーネントの更新] を選択すると、その時点までに検出されたすべてのコンポーネントが更新されます。 アプリケーションの複雑さによっては、読み込みに数分かかることがあります。
すべてのコンポーネントが 1 つの Application Insights リソース内のロールである場合、この検出ステップは不要です。 そのようなアプリケーションでは、そのすべてのコンポーネントが初回読み込みで読み込まれます。
このエクスペリエンスが目指す主な目的の 1 つは、何百というコンポーネントを含む複雑なトポロジを視覚化することです。 いずれかのコンポーネントをクリックすると、関連する分析情報を表示したり、そのコンポーネントについてのパフォーマンスと障害のトリアージ機能にアクセスしたりすることができます。
アプリケーション マップでは、クラウド ロール名プロパティを使用して、マップ上のコンポーネントが識別されます。 クラウド ロール名を手動で設定またはオーバーライドし、アプリケーション マップに表示される内容を変更できます。