トランザクションの検索と診断
Azure Monitor Application Insights では、特定のテレメトリ項目を正確に特定するためのトランザクション検索と、包括的なエンド ツー エンドのトランザクション分析のためのトランザクション診断が提供されます。
トランザクション検索: このエクスペリエンスにより、ユーザーはページ ビュー、例外、Web 要求などの個々のテレメトリ項目を検索して調べることができます。 さらに、アプリケーションにコード化されたログのトレースやイベントを表示する機能も提供します。 アプリケーション内のパフォーマンスの問題とエラーを識別します。
トランザクション診断: 依存関係や例外を含むエンド ツー エンドのトランザクション詳細の包括的な分析情報により、コンポーネントの問題をすばやく特定します。 検索インターフェイスを使い、検索結果から項目を選んでこの機能にアクセスします。
トランザクションの検索は、ページ ビュー、例外、Web 要求などの個々のテレメトリ項目を検索または探索するために使用する Application Insights の機能です。 また、ログ トレースやコーディングしたイベントも表示できます。
データに対するより複雑なクエリについては、Log Analytics を使用します。
検索が表示される場所
検索は、Azure portal または Visual Studio にあります。
Azure Portal で次の操作を行います。
トランザクション検索は、Application Insights で、お使いのアプリケーションの [概要] タブから開くことができます。 また、左側のメニューの [調査] の下から [検索] を選択することもできます。
テレメトリ項目 (サーバー要求、ページ ビュー、コーディングしたカスタム イベントなど) の一覧を表示するには、[イベントの種類] ドロップダウン メニューに移動します。 [結果] リストの上部には、一定期間に発生したイベントの数を示す概要グラフが表示されます。
ドロップダウン メニューに戻るか、[Refresh](最新の情報に更新) をクリックして、新しいイベントを取得します。
Visual Studio 内
Visual Studio には、[Application Insights の検索] ウィンドウもあります。 このウィンドウは、デバッグ対象アプリケーションによって生成されたテレメトリ イベントを表示する際に便利ですが、 Azure Portal の発行済みアプリから収集されたイベントを表示することもできます。
Visual Studio で [Application Insights の検索] ウィンドウを開きます。
[Application Insights の検索] ウィンドウには、Web ポータルと似た機能があります。
[操作の追跡] タブは、要求またはページ ビューを開くと使用できます。 "操作" とは、1 つの要求またはページ ビューに関連付けられているイベントのシーケンスです。 たとえば、依存関係の呼び出し、例外、トレース ログ、およびカスタム イベントが、1 つの操作に含まれる可能性があります。 [操作の追跡] タブには、要求またはページ ビューとの関連で、これらのイベントのタイミングと期間がグラフィカルに表示されます。
個々の項目の確認
任意のテレメトリ項目を選択すると、キー フィールドと関連項目が表示されます。
エンドツーエンド トランザクションの詳細ビューが開きます。
イベントの種類のフィルター選択
[イベントの種類] ドロップダウン メニューを開き、表示するイベントの種類を選択します。 後でフィルターを復元する場合は、[リセット] を選択します。
イベントの種類は、次のとおりです。
- トレース: 診断ログ (TrackTrace、log4Net、NLog、System.Diagnostic.Trace の呼び出しなど)。
- 要求: サーバー アプリケーションで受信した HTTP 要求 (ページ、スクリプト、画像、スタイル ファイル、データなど)。 これらのイベントは、要求と応答の概要グラフの作成に使用されます。
- ページ ビュー: Web クライアントによって送信されたテレメトリ。ページ ビュー レポートの作成に使用されます。
- カスタム イベント: 利用状況の監視のために
TrackEvent()
への呼び出しを挿入した場合は、ここで検索できます。 - 例外: キャッチされていないサーバー内の例外、および
TrackException()
を使用してログに記録した例外。 - 依存関係: REST API やデータベースなどの他のサービスに対するサーバー アプリケーションからの呼び出し、およびクライアント コードからの AJAX 呼び出し。
- 可用性: 可用性テストの結果
プロパティの値に基づくフィルター選択
プロパティの値に基づいてイベントをフィルター選択できます。 使用可能なプロパティは、選択したイベントの種類によって異なります。 [フィルター] を選択して開始します。
特定のプロパティの値を選択しない場合、すべての値を選択するのと同じ意味になり、 そのプロパティに基づくフィルターはオフになります。
フィルター値の右側の値は、現在のフィルター選択されたセットに含まれるイベントの発生回数を表します。
同じプロパティを持つイベントの検索
同じプロパティ値を持つすべての項目を検索するには、[検索] ボックスにそれを入力するか、[フィルター] タブでプロパティを調べているときにチェック ボックスをオンにします。
データの検索
Note
さらに複雑なクエリを作成するには、[検索] ペインの上部にある [ログ (Analytics)] を開きます。
すべてのプロパティ値について語句を検索できます。 この機能は、プロパティ値を持つカスタム イベントを作成した場合に便利です。
時間の範囲を設定することもできます。範囲が狭いほど検索時間は短くなります。
部分文字列ではなく、語句全体を検索します。 引用符で特殊文字を囲みます。
String | 検索されない | Found |
---|---|---|
HomeController.About | home controller out |
homecontroller about "homecontroller.about" |
United States | Uni ted |
united states united AND states "united states" |
次の検索式を使用できます。
サンプル クエリ | 結果 |
---|---|
apple |
時間範囲内でフィールドに apple という単語が含まれるすべてのイベントを検索します。 |
apple AND banana apple banana |
両方の単語を含むイベントを検索します。 and ではなく、大文字の AND を使います。 短縮形。 |
apple OR banana |
どちらかの単語を含むイベントを検索します。 or ではなく、OR を使用してください。 |
apple NOT banana |
ある単語を含む一方で他方の単語を含まないイベントを検索します。 |
サンプリング
アプリが大量のテレメトリを生成し、ASP.NET SDK バージョン 2.0.0-beta3 以降を使っている場合、アダプティブ サンプリングを介してポータルに送信される量は自動的に削減されます。 このモジュールからは、代表的なイベントの一部のみが送信されます。 同じ要求に関連するイベントが 1 つのグループとして選択または選択解除されるので、関連するイベント間を切り替えることができます。
サンプリングについてはこちらを参照してください。
作業項目を作成する
任意のテレメトリ項目の詳細を使用して、GitHub または Azure DevOps でバグを作成できます。
任意のテレメトリ項目を選択して、エンドツーエンド トランザクション詳細ビューに移動します。 次に、[作業項目の作成] を選択します。
この手順を初めて行う場合は、Azure DevOps 組織とプロジェクトへのリンクを構成するように求められます。 [作業項目] タブでリンクを構成することもできます。
さらに多くのテレメトリを Application Insights に送信する
Application Insights SDK によって送信される標準のテレメトリに加えて、次の操作を実行できます。
.NET または Java の好みのログ記録フレームワークからのログ トレースをキャプチャする。 これは、ログ トレースを検索し、ページ ビュー、例外、その他のイベントと関連付けることができることを意味します。
カスタム イベント、ページ ビュー、および例外を送信するコードを作成する。
ログとカスタム テレメトリを Application Insights に送信する方法についてはこちらを参照してください。
よく寄せられる質問
よく寄せられる質問に対する回答を確認します。
保持されるデータの量はどのくらいですか
「制限の概要」を参照してください。
サーバーの要求の POST データを表示するにはどうしたらよいですか
POST データは自動的に記録されませんが、TrackTrace または log の呼び出しを使用できます。 メッセージ パラメーターに POST データを格納します。 プロパティと同じ方法でメッセージをフィルター処理することはできませんが、サイズの制限が緩和されます。
Azure 関数検索で結果が返されないのはなぜですか?
Azure Functions は URL クエリ文字列をログしません。