アプリケーション マップを使用してアプリのパフォーマンスのトラブルシューティングを行う

完了

アプリケーション マップを使用すると、分散アプリケーションのすべてのコンポーネントを対象にパフォーマンスのボトルネックや障害のホットスポットを特定できます。 マップ上の各ノードは、アプリケーション コンポーネントまたはその依存関係を表し、正常性主要業績評価指標およびアラート ステータスがあります。 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 つの Application Insights リソース内のロールであるアプリの初期読み込みを示す、アプリケーション マップのスクリーンショット。

このエクスペリエンスが目指す主な目的の 1 つは、何百というコンポーネントを含む複雑なトポロジを視覚化することです。 いずれかのコンポーネントをクリックすると、関連する分析情報を表示したり、そのコンポーネントについてのパフォーマンスと障害のトリアージ機能にアクセスしたりすることができます。

アプリケーション マップのコンポーネントの詳細を示すスクリーンショット。

アプリケーション マップでは、クラウド ロール名プロパティを使用して、マップ上のコンポーネントが識別されます。 クラウド ロール名を手動で設定またはオーバーライドし、アプリケーション マップに表示される内容を変更できます。