Application Insights について

完了

Application Insights は Azure Monitor の機能であり、開発者や DevOps プロフェッショナル向けの拡張可能なアプリケーション パフォーマンス管理 (APM) サービスです。 このサービスを使用して、実行中のアプリケーションを監視することができます。 パフォーマンスの異常を自動的に検出し、組み込まれている強力な分析ツールを使用して、問題を診断し、ユーザーがアプリを使用して実行している操作を把握できます。 Application Insights は、パフォーマンスやユーザビリティを継続的に向上させるうえで役立つように設計されています。

Application Insights のしくみ

アプリケーションに小規模なインストルメンテーション パッケージ (SDK) をインストールするか、サポートされている場合は Application Insights エージェントを使用して Application Insights を有効にします。 インストルメンテーションはアプリを監視し、インストルメンテーション キーとして参照する固有の GUIDを使用して、テレメトリ データを Azure Application Insights リソース に転送します。

Web サービス アプリケーションだけでなく、バックグラウンド コンポーネントや Web ページ内の JavaScript 自体もインストルメント化することができます。 アプリケーションおよびそのコンポーネントの実行場所は問いません。Azure でホストされている必要はありません。

さらに、パフォーマンス カウンター、Azure Diagnostics、Docker のログなどのホスト環境からテレメトリをプルすることができます。 定期的に Web サービスに人工的な要求を送信する Web テストを設定することもできます。

これらの テレメトリ ストリームは、すべて Azure Monitor に統合されています。 Azure portal では、強力な分析ツールと検索ツールを生データに適用できます。 アプリのパフォーマンスへの影響はわずかです。 追跡呼び出しはブロッキングを行わず、バッチ処理された後、別のスレッドで送信されます。

Application Insights で監視する対象

Application Insights は、開発チーム用のツールであり、アプリのパフォーマンスや使用状況を把握できるように支援します。 以下を監視します。

  • 要求率、応答時間、エラー率: 最も人気のあるページがどの時間帯にどの場所のユーザーからアクセスされているかを確認します。 最もパフォーマンスの高いページを確認します。 要求が多いときに、応答時間とエラー率も上昇する場合は、おそらくリソースに問題があります。
  • 依存率、応答時間、エラー率: 外部サービスによって遅くなっているかどうかを確認します。
  • 例外: 集計された統計を分析します。または特定のインスタンスを選択し、スタック トレースおよび関連する要求を詳細に確認します。 サーバーとブラウザーの両方の例外が報告されます。
  • ページ ビューと読み込みパフォーマンス: ユーザーのブラウザーによって報告されます。
  • Web ページからの AJAX 呼び出し: レート、応答時間、およびエラー率。
  • ユーザーとセッションの数。
  • Windows または Linux サーバー コンピューターの CPU、メモリ、ネットワーク使用率などのパフォーマンス カウンター。
  • Docker または Azure のホスト診断。
  • アプリの診断トレース ログ: これにより、トレース イベントを要求に関連付けることができます。
  • 販売された品目や勝利したゲームなどのビジネス イベントを追跡するためにクライアントまたはサーバーのコード内に書き込んだカスタム イベントとメトリック。