Application Insights を探索する
Application Insights は Azure Monitor の拡張機能であり、Application Performance Monitoring ("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 つであり、分析とプレゼンテーションのためにテレメトリが送信されます。 無料でサインアップできます。Application Insights の基本的な価格プランを選択した場合、アプリケーションの使用量が大幅に増えるまで料金は発生しません。
アプリのパフォーマンスの監視と分析を開始するには、いくつかの方法があります。
- 実行時: サーバーで Web アプリをインストルメント化します。 既にデプロイされているアプリケーションに最適です。 コードの更新を回避します。
- 開発時: コードに Application Insights を追加。 テレメトリ収集をカスタマイズし、より多くのテレメトリを送信できます。
- ページ ビュー、AJAX、その他のクライアント側テレメトリ用に Web ページ をインストルメント化します。
- Visual Studio App Center と統合して、モバイル アプリの使用状況 を分析します。
- 可用性テスト - サーバーから定期的に Web サイトに ping を実行します。