Application Insights について
Application Insights は、Azure Monitor の拡張機能であり、アプリケーション パフォーマンスの監視 (APM) 機能を備えています。 APM ツールは、次の方法で、開発、テスト、運用環境からアプリケーションを監視するのに役立ちます。
- アプリケーションのパフォーマンスを事前に理解します。
- アプリケーション実行データを事後に確認して、インシデントの原因を特定します。
アプリケーションのアクティビティと正常性を記述するメトリックとアプリケーション テレメトリ データの収集に加え、Application Insights を使用してアプリケーション トレース ログ データを収集して格納することもできます。
ログ トレースは、アクティビティの詳細なビューを提供するため、他のテレメトリに関連付けられています。 トレース ログを既存のアプリに追加するには、ログの宛先を指定するだけで済みます。ログ記録フレームワークを変更する必要はほとんどありません。
Application Insights 機能の概要
機能には、次のものが含まれますが、それに限定されるものではありません。
機能 | 説明 |
---|---|
ライブ メトリック | ホスト環境に影響を与えることなく、デプロイしたアプリケーションからのアクティビティをリアルタイムで監視します。 |
可用性 | "合成トランザクション監視" とも呼ばれ、アプリケーションの外部エンドポイントのプローブを行って、時間の経過に伴う全体的な可用性と応答性をテストします。 |
GitHub または Azure DevOps 統合 | Application Insights データのコンテキストで、GitHub または Azure DevOps の作業項目を作成します。 |
使用法 | ユーザーに人気のある機能と、ユーザーがどのようにアプリケーションを使用しているかを理解します |
スマート検出 | 事前のテレメトリ分析による障害と異常の自動検出。 |
アプリケーション マップ | アプリケーション アーキテクチャの概要と、コンポーネントの正常性と応答性が一目でわかる視覚的な参照。 |
分散トレース | 特定の実行またはトランザクションのエンド ツー エンド フローを検索して視覚化します。 |
Application Insights で監視する対象
Application Insights を使用すると、メトリックとアプリケーション テレメトリ データが収集されます。これらによって、アプリケーション アクティビティと正常性に加え、トレース ログ データが記述されます。
- 要求レート、応答時間、およびエラー率: 人気の高いページがどの時間帯にどの場所のユーザーからアクセスされているかを調べます。 最もパフォーマンスの高いページを確認します。 要求が多いときに、応答時間とエラー率も上昇する場合は、おそらくリソースに問題があります。
- 依存率、応答時間、およびエラー率: 外部サービスによって応答が遅くなっているかどうかを調べます。
- 例外: 集計された統計を分析します。または特定のインスタンスを選択し、スタック トレースと関連する要求を調べます。 サーバーとブラウザーの両方の例外が報告されます。
- ページ ビューと読み込みのパフォーマンス: ユーザーのブラウザーから報告されます。
- Web ページからの AJAX 呼び出し: レート、応答時間、およびエラー率。
- ユーザー数とセッション数。
- Windows または Linux サーバー コンピューターの CPU、メモリ、ネットワーク使用率などのパフォーマンス カウンター。
- Docker または Azure のホスト診断。
- アプリの診断トレース ログ: これにより、トレース イベントを要求に関連付けることができます。
- 販売された品目や勝利したゲームなどのビジネス イベントを追跡するためにクライアントまたはサーバーのコード内に書き込んだカスタム イベントとメトリック。
Application Insights の概要
Application Insights は、Microsoft Azure でホストされる多数のサービスの 1 つであり、テレメトリは分析と表示のために Microsoft Azure に送信されます。 サインアップは無料で、Application Insights の基本的な価格プランを選択できます。大幅に増えた使用量に対応するようアプリケーションを拡大しない限り、料金は発生しません。
アプリのパフォーマンスの監視と分析を開始するには、いくつかの方法があります。
- 実行時: サーバー上で Web アプリをインストルメント化します。 既にデプロイ済みのアプリケーションに最適です。 コードを更新しなくて済みます。
- 開発時: コードに Application Insights を追加します。 テレメトリの収集をカスタマイズして、さらに多くのテレメトリを送信できます。
- ページ ビュー、AJAX、その他のクライアント側テレメトリ用に Web ページをインストルメント化 します。
- Visual Studio App Center と統合することで、 モバイル アプリの使用状況を分析 します。
- 可用性テスト - Microsoft のサーバーから定期的に Web サイトに ping を実行します。