Application Insights の概要

Azure Monitor Application Insights は、Azure Monitor の機能であり、ライブ Web アプリケーションの Application Performance Management (APM) に優れています。

A screenshot of the Azure Monitor Application Insights user interface displaying an application map.

エクスペリエンス

Application Insights は、アプリケーションのパフォーマンス、信頼性、品質を向上させる数多くのエクスペリエンスを備えています。

調査

  • アプリケーション ダッシュボード: アプリケーションの正常性とパフォーマンスを一目で確認できる評価。
  • アプリケーション マップ: アプリケーションのアーキテクチャとコンポーネントの相互作用の視覚的な概要。
  • Live metrics: アプリケーションのアクティビティとパフォーマンスに対する分析情報のリアルタイムな分析ダッシュボード。
  • トランザクションの検索: トランザクションを追跡および診断して、問題を特定し、パフォーマンスを最適化します。
  • 可用性ビュー: アプリケーション エンドポイントの可用性と応答を事前に監視してテストします。
  • パフォーマンス ビュー: アプリケーション パフォーマンス メトリックと潜在的なボトルネックを確認します。
  • エラー ビュー: アプリケーション内のエラーを特定および分析して、ダウンタイムを最小限に抑えます。

監視

  • アラート: アプリケーションの幅広い側面を監視して、さまざまなアクションをトリガーします。
  • メトリック: メトリック データを詳しく確認して、使用状況のパターンと傾向を把握します。
  • 診断設定: 選択したエクスポート先へのプラットフォーム ログとメトリックのエクスポートのストリーミングを構成します。
  • ログ: Azure の監視ログに収集されているすべてのデータを取得、統合、分析します。
  • Workbooks: アプリケーションの監視データを視覚化する対話型のレポートとダッシュボードを作成します。

使用法

  • ユーザー、セッション、イベント: ユーザーが Web アプリと対話した日時、場所、方法を判断します。
  • ファネル: コンバージョン率を分析して、ファネルでのユーザーの進行状況や持ち込みの場所を特定します。
  • フロー: サイト上のユーザーのパスを視覚化して、高いエンゲージメント領域と終了ポイントを特定します。
  • コーホート: 共有特性ごとにユーザーをグループ化して、傾向の特定、セグメント化、パフォーマンスのトラブルシューティングを簡素化します。

コード分析

  • プロファイラー: アプリケーションのパフォーマンス トレースをキャプチャ、特定、表示します。
  • コードの最適化: AI を駆使して、より優れ、より効率的なアプリケーションを作成します。
  • スナップショット デバッガー: .NET アプリケーションで例外が発生すると、デバッグ スナップショットを自動的に収集します

ロジック モデル

ロジック モデル図を使うと、Application Insights のコンポーネントとその相互作用が視覚化されます。

Diagram that shows the path of data as it flows through the layers of the Application Insights service.

Note

データがインジェスト エンドポイントに到達するにはファイアウォール設定を調整する必要があります。 詳細については、「Azure Monitor で使用される IP アドレス」を参照してください。


サポートされている言語

このセクションでは、サポートされているシナリオについて説明します。

アプリケーションをインストルメント化して Application Insights を有効にする方法の詳細については、データ収集の基本に関する記事を参照してください。

自動インストルメンテーション (コードを変更せずに有効にする)

手動インストルメンテーション

OpenTelemetry Distro

Application Insights SDK (Classic API)

クライアント側 JavaScript SDK

サポートされているプラットフォームとフレームワーク

このセクションでは、サポートされているすべてのプラットフォームとフレームワークの一覧を示します。

Azure サービスの統合 (ポータルの有効化、Azure Resource Manager のデプロイ)

ログ記録フレームワーク

エクスポートとデータ分析

サポートされていない SDK

コミュニティでサポートされている Application Insights SDK が多数存在します。 Azure Monitor では、この記事に記載されているサポート対象のインストルメンテーション オプションを使用しているときにのみ、サポートが提供されます。

Microsoft は、他の言語のサポートを拡大する機会を常に評価しています。 最新の SDK のニュースについては、Application Insights の Azure の更新情報をご参照ください。


よく寄せられる質問

このセクションでは、一般的な質問への回答を示します。

アプリケーションをインストルメント化するには

アプリケーションをインストルメント化して Application Insights を有効にする方法の詳細については、データ収集の基本に関する記事を参照してください。

Application Insights の使用方法

アプリケーションをインストルメント化して Application Insights を有効にしたら、まず Live metricsアプリケーション マップをチェックアウトすることをお勧めします。

Application Insights では、どのようなテレメトリが収集されますか?

サーバーの Web アプリから:

  • HTTP 要求。
  • 依存関係。 SQL データベースに対する呼び出し、外部サービス、Azure Cosmos DB、Azure Table Storage、Azure Blob Storage、Azure Queue Storage に対する HTTP 呼び出し。
  • 例外とスタック トレース。
  • パフォーマンス カウンター: パフォーマンス カウンターは、次のものを使用する場合に使用できます。

クライアント Web ページから:

  • アプリでのキャッチされない例外 (以下の情報が含まれる)

    • スタック トレース
    • 例外の詳細とエラーに付随するメッセージ
    • エラーの行番号と列番号
    • エラーが発生した URL
  • アプリの XHR および Fetch (フェッチ コレクションは既定では無効) 要求によって実行されるネットワーク依存関係要求 (以下の情報が含まれる):

    • 依存関係ソースの URL
    • 依存関係の要求に使用されたコマンドとメソッド
    • 要求の期間
    • 要求の結果コードと成功状態
    • 要求を行うユーザーの ID (存在する場合)
    • 要求が行われた相関関係コンテキスト (存在する場合)
  • ユーザー情報 (場所、ネットワーク、IP など)

  • デバイス情報 (ブラウザー、OS、バージョン、言語、モデルなど)

  • セッション情報

    注意

    シングルページ アプリケーション (SPA) などの一部のアプリケーションでは、期間が記録されない可能性があり、既定値の 0 になります。

    詳細については、「Application Insights でのデータの収集、保持、保存」をご覧ください。

その他のソースから (構成する場合):

デプロイする必要がある Application Insights リソースの数

環境全体でアプリケーションまたはコンポーネントをカバーするために必要な Application Insights リソースの数については、Application Insights デプロイ計画ガイドに関するページを参照してください。

PowerShell を使用した Application Insights リソースを管理するにはどうすればよいですか?

Azure Resource Monitor を使用して PowerShell スクリプトを記述することにより、以下の操作を実行できます。

  • Application Insights リソースの作成と更新。
  • 価格プランの設定。
  • インストルメンテーション キーの取得。
  • メトリック アラートの追加。
  • 可用性テストの追加。

メトリックス エクスプローラー レポートや連続エクスポートは設定できません。

Application Insights テレメトリにクエリを実行するにはどうすればよいか

REST API を使用して Log Analytics クエリを実行します。

テレメトリを Application Insights ポータルに送信できますか?

Microsoft の SDK と SDK API を使用することをお勧めします。 各種プラットフォーム向けに異なる SDK が用意されています。 これらの SDK は、バッファリング、圧縮、スロットリング、再試行などのプロセスを処理します。 ただし、取り込みスキーマエンドポイント プロトコルはパブリックです。

テレメトリの収集にはどれくらいの時間がかかりますか?

Application Insights のほとんどのデータは、待ち時間が 5 分未満となっています。 一部のデータ (通常は、大きなログ ファイル) では、これよりも時間がかかることがあります。 Application Insights のサービス レベル アグリーメントに関するページを参照してください。

Application Insights では、どのようにデータの収集、保持、保管、プライバシーを処理しますか?

コレクション

Application Insights では、Web サーバー テレメトリ、Web ページ テレメトリ、パフォーマンス カウンターなど、お使いのアプリに関するテレメトリを収集します。 このデータは、お使いのアプリのパフォーマンス、正常性、使用状況を監視する目的で使用できます。 新しい Application Insights リソースを作成するときに場所を選択できます。

保持と保管

データは Application Insights Log Analytics ワークスペースに送信されます。 生データの保持期間は 30 日から 730 日まで選択できます。 集計データは 90 日間保持され、デバッグ スナップショットは 15 日間保持されます。

プライバシー

Application Insights では、機密データをプレーン テキストとして URL に含めず、カスタム コードで個人やその他の機密情報が収集されないようにする限り、既定では機密データは処理されません。 開発とテストの間、IDE とブラウザーのデバッグ出力ウィンドウで送信されたデータを確認します。

このトピックに関するアーカイブ情報については、「Application Insights でのデータの収集、保持、保存」をご覧ください。

ヘルプとサポート

Azure テクニカル サポート

Azure サポートの問題については、Azure サポート チケットを開いてください。

Microsoft Q&A 質問フォーラム

一般的な質問は Microsoft Q&A の回答フォーラムに投稿してください。

Stack Overflow

azure-application-insights タグを使用して、コーディングに関する質問を Stack Overflow に投稿してください。

フィードバック コミュニティ

フィードバック コミュニティでエンジニアリング チームへの製品フィードバックを残します。

トラブルシューティング

Application Insights に特化したトラブルシューティングに関する記事を参照してください。

次のステップ