Application Insights Telemetry のデータ モデル
Application Insights は、アプリケーションのパフォーマンスと使用状況を分析できるように、Web アプリケーションから Azure portal にテレメトリを送信します。 テレメトリ モデルを標準化して、プラットフォームと言語に依存しない監視を作成できます。
Application Insights で収集されたデータは、典型的なアプリケーション実行パターンをモデル化します。
次の種類のテレメトリは、アプリの実行を監視するために使用されます。 Application Insights SDK によって、3 種類が Web アプリケーション フレームワークから自動的に収集されます。
要求: アプリが受け取る要求をロギングするために生成されます。 たとえば、Application Insights Web SDK は、Web アプリが受け取る HTTP 要求ごとに要求テレメトリ項目を自動的に生成します。
"操作" は、要求を処理する実行のスレッドで構成されます。 コードを記述して、Web ジョブの "ウェイク アップ" または定期的にデータを処理する関数など、他の種類の操作を監視することもできます。 各操作には ID があります。 ID を使用すると、アプリが要求を処理する際に生成されるすべてのテレメトリをグループ分けできます。 各操作は成功するか失敗します。また、一定の時間がかかります。
例外: 通常は、操作が失敗する原因になった例外を表します。
依存関係: アプリから外部のサービスまたはストレージへの呼び出しを表します (REST API や SQL など)。 ASP.NET では、SQL の依存関係呼び出しは
System.Data
で定義されます。 HTTP エンドポイントの呼び出しはSystem.Net
で定義されます。
Application Insights では、カスタム テレメトリ用に 3 つのデータ型が提供されます。
- トレース: 直接またはアダプターを介して使用され、ユーザーが慣れているインストルメンテーション フレームワーク (
Log4Net
やSystem.Diagnostics
など) を使用して診断ログを実装します。 - イベント: 通常、ユーザーとサービスのやり取りをキャプチャして、使用状況のパターンを分析するために使用されます。
- メトリック: 定期的なスカラー測定を報告するために使用されます。
すべてのテレメトリ項目は、アプリケーションのバージョンやユーザー セッション ID のようなコンテキスト情報を定義できます。 コンテキストは、特定のシナリオのブロックを解除する、一連の厳密に型指定されたフィールドです。 アプリケーションのバージョンが適切に初期化されると、Application Insights は、再デプロイに関連付けられたアプリケーション動作の新しいパターンを検出できます。
セッション ID を使用すると、障害やユーザーへの問題の影響を計算できます。 特定の失敗した依存関係、エラー トレース、重大な例外に対するセッション ID 値のカウントを個別に計算すると、影響をよく理解できます。
Application Insights Telemetry モデルは、テレメトリをそれが属する操作に関連付ける方法を定義します。 たとえば、要求で SQL Database を呼び出し、診断情報を記録できます。 これらのテレメトリ項目の相関関係コンテキストを設定し、要求テレメトリに関連付けることができます。
スキーマの強化
Application Insights データ モデルは基本的でありながら、アプリケーション テレメトリをモデル化するのに十分に強力な方法です。 基本的なシナリオをサポートするモデルをシンプルかつスリムに維持しながら、高度な用途に対してスキーマを拡張できるよう努めています。
データ モデルまたはスキーマの問題や提案を報告するには、GitHub のリポジトリを使用してください。
Request
Application Insights の要求テレメトリ項目は、アプリケーションに対する外部要求によってトリガーされた実行の論理シーケンスを表します。 すべての要求の実行は、一意の id
と、すべての実行パラメーターが含まれる url
によって識別されます。
要求は、論理的な name
によってグループ化でき、要求の source
が定義されます。 コードの実行は、success
または fail
という結果になる可能性があり、特定の duration
を持っています。 resultCode
を使用して、成功と失敗の実行をさらにグループ化することができます。 要求テレメトリの開始時刻は、エンベロープ レベルで定義されます。
要求テレメトリは、カスタムの properties
と measurements
を使う標準的な機能拡張モデルをサポートします。
注意
インストルメンテーション キーのインジェストのサポートは、2025 年 3 月 31 日に終了します。 インストルメンテーション キーのインジェストは引き続き機能しますが、この機能の更新プログラムやサポートは提供されなくなります。 接続文字列に移行することで、新機能をご利用いただけます。
名前
このフィールドは、要求の名前であり、要求を処理するために使われたコード パスを表します。 小さなカーディナリティの値を使うと、要求をより適切にグループ化できます。 HTTP 要求では、これは、実際の id
値ではなく、GET /values/{id}
のような HTTP メソッドと URL パス テンプレートを表します。
Application Insights Web SDK は、文字の大文字と小文字は "そのまま" で要求名を送信します。 UI では大文字と小文字を区別してグループ化されるため、GET /Home/Index
と GET /home/INDEX
は別々にカウントされます (多くの場合、これらは同じコントローラーとアクションの実行に至ります)。 区別する理由は、URL では一般的に大文字と小文字が区別されるためです。 大文字で入力された URL に対して、すべての 404
エラーが発生したかどうかを確認することをお勧めします。 ASP.NET Web SDK による要求名のコレクションの詳細については、ブログ記事を参照してください。
最大文字数: 1,024 字
ID
ID は要求呼び出しインスタンスの識別子です。 要求とその他のテレメトリ項目を相関付けるために使われます。 ID はグローバルに一意である必要があります。 詳細については、「Application Insights におけるテレメトリの相関付け」を参照してください。
最大文字数: 128 字
URL
URL はすべてのクエリ文字列パラメーター付きの要求 URL です。
最大文字数: 2,048 字
source
ソースは要求のソースです。 たとえば、呼び出し元のインストルメンテーション キーや呼び出し元の IP アドレスです。 詳細については、「Application Insights におけるテレメトリの相関付け」を参照してください。
最大文字数: 1,024 字
期間
要求の期間は DD.HH:MM:SS.MMMMMM
という書式です。 正の 1000
日未満の値にする必要があります。 要求テレメトリは開始と終了によって操作を表すため、このフィールドは必須です。
応答コード
応答コードは要求実行の結果です。 HTTP 要求の HTTP 状態コードです。 他の要求の種類では、HRESULT
値や例外の種類になることがあります。
最大文字数: 1,024 字
成功
成功は、呼び出しが成功したか失敗したかを示します。 このフィールドは必須です。 要求が明示的に false
に設定されない場合は、成功したとみなされます。 例外または返されたエラー結果コードによって操作が中断された場合は、この値を false
に設定します。
Web アプリケーションでは、応答コードが 400
未満または 401
に相当する場合は、Application Insights によって要求は成功と定義されます。 ただし、この既定のマッピングが、アプリケーションのセマンティックと一致しない場合があります。
応答コード 404
は、通常のフローの一部になることができる "レコードなし" を示していることがあります。 それは、リンクが壊れていることを示していることもあります。 リンクが壊れている場合は、さらに高度なロジックを実装することもできます。 URL の参照元を分析してリンクが同じサイトに配置されている場合のみ、壊れたリンクをエラーとマークすることができます。 または、会社のモバイル アプリケーションからアクセスされた場合にエラーとマークできます。 同様に、301
と 302
は、リダイレクトをサポートしていないクライアントからアクセスされた場合のエラーを示します。
コンテンツを一部受け入れる 206
が、要求全体のエラーを示していることがあります。 たとえば、Application Insights のエンドポイントがテレメトリ項目のバッチを 1 つの要求として受信している場合です。 バッチ内の一部の項目が正常に処理されなかった場合、206
が返されます。 206
の割合の上昇は、調査する必要がある問題の存在を示唆しています。 同様のロジックが 207
マルチステータスにも適用され、複数の応答コードの中で、最も悪いステータスが "成功" である場合があります。
カスタム プロパティ
カスタム プロパティの名前と値のコレクション: このコレクションは、カスタム ディメンションで標準のテレメトリを拡張する場合に使用します。 例として、注文番号など、テレメトリまたはテレメトリ項目に固有のプロパティを生成したデプロイ スロットがあります。
- 最大キー長: 150
- 最大値の長さ: 8,192
カスタム測定値
カスタム測定のコレクション: このコレクションを使用して、テレメトリ項目に関連付けられている名前付きの測定を報告します。 一般的なユース ケースは次のとおりです。
- 依存関係テレメトリのペイロードのサイズ。
- 要求テレメトリによって処理されるキュー項目の数。
- 顧客がイベント テレメトリの完了ウィザードの手順を完了するのにかかった時間。
Application Analytics でカスタム測定値を照会できます。
customEvents
| where customMeasurements != ""
| summarize avg(todouble(customMeasurements["Completion Time"]) * itemCount)
注意
- カスタム測定値は、属するテレメトリ項目に関連付けられています。 それらは、測定値が含まれるテレメトリ項目のサンプリング対象になります。 他のテレメトリの種類から独立した値を持つ測定値を追跡するには、メトリック テレメトリを使用します。
- カスタム測定値には文字列値を使用しないでください。 数値のみがサポートされています。
最大キー長: 150
依存関係
依存関係テレメトリ (Application Insights) は、監視対象のコンポーネントと、SQL や HTTP エンドポイントのようなリモート コンポーネントとのやりとりを表します。
名前
このフィールドは、この依存関係呼び出しで開始されたコマンドの名前です。 小さなカーディナリティの値です。 例として、ストアド プロシージャ名と URL パス テンプレートがあります。
id
ID は依存関係呼び出しインスタンスの識別子です。 この依存関係の呼び出しに対応する要求テレメトリ項目の相関付けに使用されます。 詳細については、「Application Insights におけるテレメトリの相関付け」を参照してください。
Data
このフィールドは、この依存関係呼び出しによって開始されるコマンドです。 例: すべてのクエリ パラメーターを使用する SQL ステートメントと HTTP URL。
Type
このフィールドは依存関係の種類の名前です。 これには、依存関係を論理的にグループ化するための小さなカーディナリティの値と、commandName
や resultCode
のようなフィールドの変換が含まれます。 例: SQL、Azure テーブル、HTTP。
移行先
このフィールドは、依存関係呼び出しのターゲット サイトです。 例: サーバー名およびホスト アドレス。 詳細については、「Application Insights におけるテレメトリの相関付け」を参照してください。
期間
要求の期間は DD.HH:MM:SS.MMMMMM
という形式です。 1000
日未満である必要があります。
結果コード
このフィールドは、依存関係呼び出しの結果コードです。 例: SQL エラー コードと HTTP 状態コード。
Success
このフィールドは、呼び出しの成功または失敗を示します。
カスタム プロパティ
カスタム プロパティの名前と値のコレクション: このコレクションは、カスタム ディメンションで標準のテレメトリを拡張する場合に使用します。 例として、注文番号など、テレメトリまたはテレメトリ項目に固有のプロパティを生成したデプロイ スロットがあります。
- 最大キー長: 150
- 最大値の長さ: 8,192
カスタム測定値
カスタム測定のコレクション: このコレクションを使用して、テレメトリ項目に関連付けられている名前付きの測定を報告します。 一般的なユース ケースは次のとおりです。
- 依存関係テレメトリのペイロードのサイズ。
- 要求テレメトリによって処理されるキュー項目の数。
- 顧客がイベント テレメトリの完了ウィザードの手順を完了するのにかかった時間。
Application Analytics でカスタム測定値を照会できます。
customEvents
| where customMeasurements != ""
| summarize avg(todouble(customMeasurements["Completion Time"]) * itemCount)
注意
- カスタム測定値は、属するテレメトリ項目に関連付けられています。 それらは、測定値が含まれるテレメトリ項目のサンプリング対象になります。 他のテレメトリの種類から独立した値を持つ測定値を追跡するには、メトリック テレメトリを使用します。
- カスタム測定値には文字列値を使用しないでください。 数値のみがサポートされています。
最大キー長: 150
例外
Application Insightsで、例外のインスタンスは、監視対象のアプリケーションの実行中に発生したハンドルされるまたはハンドルされない例外を表します。
問題 ID
問題 ID は、コードで例外がスローされた場所を識別します。 例外をグループ化するために使用されます。 通常は、例外の種類と呼び出し履歴の関数の組み合わせです。
最大文字数: 1,024 文字
重大度レベル
このフィールドはトレース重大度レベルです。 値は、Verbose
、Information
、Warning
、Error
、Critical
のいずれかです。
例外の詳細
(拡張予定)
カスタム プロパティ
カスタム プロパティの名前と値のコレクション: このコレクションは、カスタム ディメンションで標準のテレメトリを拡張する場合に使用します。 例として、注文番号など、テレメトリまたはテレメトリ項目に固有のプロパティを生成したデプロイ スロットがあります。
- 最大キー長: 150
- 最大値の長さ: 8,192
カスタム測定値
カスタム測定のコレクション: このコレクションを使用して、テレメトリ項目に関連付けられている名前付きの測定を報告します。 一般的なユース ケースは次のとおりです。
- 依存関係テレメトリのペイロードのサイズ。
- 要求テレメトリによって処理されるキュー項目の数。
- 顧客がイベント テレメトリの完了ウィザードの手順を完了するのにかかった時間。
Application Analytics でカスタム測定値を照会できます。
customEvents
| where customMeasurements != ""
| summarize avg(todouble(customMeasurements["Completion Time"]) * itemCount)
注意
- カスタム測定値は、属するテレメトリ項目に関連付けられています。 それらは、測定値が含まれるテレメトリ項目のサンプリング対象になります。 他のテレメトリの種類から独立した値を持つ測定値を追跡するには、メトリック テレメトリを使用します。
- カスタム測定値には文字列値を使用しないでください。 数値のみがサポートされています。
最大キー長: 150
Trace
トレース テレメトリ (Application Insights) は、テキスト検索される printf
スタイルのトレース ステートメントを表します。 Log4Net
、NLog
、およびその他のテキスト ベースのログ ファイルのエントリは、この型のインスタンスに変換されます。 トレースには、機能拡張としての測定はありません。
Message
トレース メッセージ。
最大文字数: 32,768 字
重大度レベル
重大度レベル。
値: Verbose
、Information
、Warning
、Error
、Critical
カスタム プロパティ
カスタム プロパティの名前と値のコレクション: このコレクションは、カスタム ディメンションで標準のテレメトリを拡張する場合に使用します。 例として、注文番号など、テレメトリまたはテレメトリ項目に固有のプロパティを生成したデプロイ スロットがあります。
- 最大キー長: 150
- 最大値の長さ: 8,192
Event
アプリケーションで発生したイベントを表すイベント テレメトリ項目を作成できます (Application Insights)。 通常は、ボタンのクリックや注文のチェックアウトなどのユーザーの操作です。 初期化や構成の更新などのアプリケーション ライフ サイクル イベントの場合もあります。
意味的には、イベントは、要求に相関付けられる場合と、関連付けられない場合があります。 適切に使用すれば、イベント テレメトリは、要求やトレースよりも重要になります。 イベントはビジネス テレメトリを表しており、独立したより緩やかなサンプリングの対象にする必要があります。
Name
イベント名: グループ化を適切に行いメトリックを有用にするため、個別のイベント名が少数生成されるようにアプリケーションを制限してください。 たとえば、1 つのイベントで生成されるインスタンスごとに別の名前を使用しないでください。
最大文字数: 512 文字
カスタム プロパティ
カスタム プロパティの名前と値のコレクション: このコレクションは、カスタム ディメンションで標準のテレメトリを拡張する場合に使用します。 例として、注文番号など、テレメトリまたはテレメトリ項目に固有のプロパティを生成したデプロイ スロットがあります。
- 最大キー長: 150
- 最大値の長さ: 8,192
カスタム測定値
カスタム測定のコレクション: このコレクションを使用して、テレメトリ項目に関連付けられている名前付きの測定を報告します。 一般的なユース ケースは次のとおりです。
- 依存関係テレメトリのペイロードのサイズ。
- 要求テレメトリによって処理されるキュー項目の数。
- 顧客がイベント テレメトリの完了ウィザードの手順を完了するのにかかった時間。
Application Analytics でカスタム測定値を照会できます。
customEvents
| where customMeasurements != ""
| summarize avg(todouble(customMeasurements["Completion Time"]) * itemCount)
注意
- カスタム測定値は、属するテレメトリ項目に関連付けられています。 それらは、測定値が含まれるテレメトリ項目のサンプリング対象になります。 他のテレメトリの種類から独立した値を持つ測定値を追跡するには、メトリック テレメトリを使用します。
- カスタム測定値には文字列値を使用しないでください。 数値のみがサポートされています。
最大キー長: 150
メトリック
Application Insights でサポートされるメトリック テレメトリには、単一測定と事前集計メトリックの 2 種類があります。 単一測定は名前と値だけのテレメトリです。 事前集計メトリックは、集計間隔中のメトリックの最小値と最大値と、その標準偏差を指定します。
事前集計メトリック テレメトリは、その集計期間が 1 分間であることを前提としています。
Application Insights では、よく知られているいくつかのメトリック名がサポートされています。 これらのメトリックは、performanceCounters
テーブルに配置されます。
次の表は、システム カウンターとプロセス カウンターを表すメトリックを示しています。
.NET の名前 | プラットフォームに依存しない名前 | 説明 |
---|---|---|
\Processor(_Total)\% Processor Time |
作業中... | コンピューターの CPU の合計。 |
\Memory\Available Bytes |
作業中... | コンピューターで実行されているプロセスが利用できる物理メモリの量をバイト単位で表示します。 これは、ゼロ メモリ、空きメモリ、スタンバイ メモリの一覧の領域を合計することで計算されます。 空きメモリはメモリを使用する準備が整っているメモリです。 ゼロ メモリはゼロで満たされたメモリのページで構成されており、後続のプロセスが、前のプロセスによって使用されたデータを見ることができないようにします。 スタンバイ メモリは、ディスクへのルート上でプロセスのワーキング セット (物理メモリ) から削除されたメモリですが、引き続き再度呼び出すことができます。 「メモリ オブジェクト」を参照してください。 |
\Process(??APP_WIN32_PROC??)\% Processor Time |
作業中... | アプリケーションをホストするプロセスの CPU。 |
\Process(??APP_WIN32_PROC??)\Private Bytes |
作業中... | アプリケーションをホストするプロセスで使用されるメモリ。 |
\Process(??APP_WIN32_PROC??)\IO Data Bytes/sec |
作業中... | アプリケーションをホストしているプロセスで実行される I/O 操作の速度。 |
\ASP.NET Applications(??APP_W3SVC_PROC??)\Requests/Sec |
作業中... | アプリケーションによって処理された要求の割合。 |
\.NET CLR Exceptions(??APP_CLR_PROC??)\# of Exceps Thrown / sec |
作業中... | アプリケーションによってスローされた例外の割合。 |
\ASP.NET Applications(??APP_W3SVC_PROC??)\Request Execution Time |
作業中... | 平均要求実行時間。 |
\ASP.NET Applications(??APP_W3SVC_PROC??)\Requests In Application Queue |
作業中... | キューで処理を待っている要求の数。 |
Metrics REST API の詳細については、「メトリック - 取得」を参照してください。
名前
このフィールドは、Application Insights ポータルと UI に表示するメトリックの名前です。
値
このフィールドは、測定の単一の値です。 これは、集計での個別の測定値の合計です。
Count
このフィールドは、集計メトリックのメトリックの重みです。 これは、測定には設定しないでください。
Min
このフィールドは、集計メトリックの最小値です。 これは、測定には設定しないでください。
Max
このフィールドは、集計メトリックの最大値です。 これは、測定には設定しないでください。
標準偏差
このフィールドは、集計メトリックの標準偏差です。 これは、測定には設定しないでください。
カスタム プロパティ
カスタム プロパティ CustomPerfCounter
が true
に設定されたメトリックは、メトリックが Windows パフォーマンス カウンターを表すことを示します。 これらのメトリックは、customMetrics
ではなく performanceCounters
テーブルに配置されます。 また、このメトリックの名前は、カテゴリ、カウンター、インスタンスの名前を抽出するために解析されます。
カスタム プロパティの名前と値のコレクション: このコレクションは、カスタム ディメンションで標準のテレメトリを拡張する場合に使用します。 例として、注文番号など、テレメトリまたはテレメトリ項目に固有のプロパティを生成したデプロイ スロットがあります。
- 最大キー長: 150
- 最大値の長さ: 8,192
PageView
PageView テレメトリ (Application Insights) がログに記録されるのは、アプリケーション ユーザーが監視対象アプリケーションの新しいページを開いたときです。 ここでいう Page
とは、開発者がアプリケーションのタブや画面として定義した論理単位であり、必ずしもブラウザーの Web ページの読み込みや更新の動作とは関連性がありません。 この違いは、ページ間の切り替えがブラウザーのページ操作に縛られないシングルページ アプリケーション (SPA) のコンテキストでさらに理解することができます。 pageViews.duration
は、アプリケーションがユーザーにページを表示するのにかかる時間です。
注意
- 既定では、Application Insights SDK は各ブラウザーの Web ページの読み込みアクションごとに単一の
PageView
イベントをログ記録し、ブラウザーのタイミングによってpageViews.duration
が設定されています。 開発者は、trackPageView API 呼び出しを使用することで、PageView
イベントの追加のトラッキングを拡張することができます。 - ログは既定で 30 日間保持されます。 長期間の
PageView
の統計情報を表示する場合は、設定を調整する必要があります。
Application Insights の browserTiming を測定する
最近のブラウザーでは、Performance API を使用してページ読み込み動作の測定値が公開されています。 Application Insights はこれらの測定を簡略化するために、関連するタイミングを標準のブラウザー メトリックに、以下の処理時間の定義に従って統合します。
クライアント <--> DNS: クライアントが DNS に到達して Web サイトのホスト名を解決し、DNS が IP アドレスで応答します。
クライアント<--> Web サーバー: クライアントが TCP を作成し、TLS が Web サーバーとハンドシェイクします。
クライアント<--> Web サーバー: クライアントが要求ペイロードを送信し、サーバーが要求を実行するのを待ち、最初の応答パケットを受信します。
クライアント <-- Web サーバー: クライアントが、残りの応答ペイロード バイトを Web サーバーから受信します。
クライアント: クライアントは完全な応答ペイロードを持ち、コンテンツをブラウザーにレンダリングし、DOM を読み込む必要があります。
browserTimings/networkDuration
= #1 + #2browserTimings/sendDuration
= #3browserTimings/receiveDuration
= #4browserTimings/processingDuration
= #5browsertimings/totalDuration
= #1 + #2 + #3 + #4 + #5pageViews/duration
PageView
の期間は、ブラウザーのパフォーマンス タイミング インターフェイスであるPerformanceNavigationTiming.duration
から取得されます。PerformanceNavigationTiming
がある場合は、その期間が使用されます。そうでない場合は、非推奨の
PerformanceTiming
インターフェイスが使用されて、NavigationStart
とLoadEventEnd
の間の差分が計算されます。開発者は、trackPageView API 呼び出しを使用してカスタム
PageView
イベントをログ記録するときの期間の値を指定します。
Context
すべてのテレメトリ項目は、厳密に型指定されたコンテキストのフィールドを持つことができます。 すべてのフィールドで特定の監視シナリオが可能です。 カスタム プロパティのコレクションを使用して、カスタムまたはアプリケーション固有のコンテキスト情報を格納します。
アプリケーションのバージョン
アプリケーション コンテキスト フィールドの情報は必ず、テレメトリを送信しているアプリケーションに関するものです。 アプリケーションのバージョンは、アプリケーションの動作の傾向変化、およびデプロイとのその相関関係を分析するために使用されます。
最大長: 1,024
クライアント IP アドレス
このフィールドは、クライアント デバイスの IP アドレスです。 IPv4 と IPv6 がサポートされています。 サービスからテレメトリが送信されるときのロケーション コンテキストは、サービスで操作を開始したユーザーに関するものです。 Application Insights は、クライアント IP から地理的位置情報を抽出し、それを切り詰めます。 クライアント IP 単独ではユーザーを特定できる情報として使用できません。
最大長: 46
デバイスの種類
もともとこのフィールドは、アプリケーションのユーザーが使用しているデバイスの種類を示すために使用されました。 現在は主に、デバイスの種類が Browser
である JavaScript のテレメトリと、デバイスの種類が PC
であるサーバー側テレメトリを区別するために使用されています。
最大長: 64
操作 ID
このフィールドは、ルート操作の一意識別子です。 この識別子を使用すると、複数のコンポーネントでテレメトリをグループ化できます。 詳細については、「テレメトリの関連付け」を参照してください。 要求またはページ ビューのいずれかによって、操作 ID が作成されます。 その他のすべてのテレメトリは、含まれている要求またはページ ビューの値でこのフィールドを設定します。
最大長: 128
親操作 ID
このフィールドは、テレメトリ項目の直接の親の一意識別子です。 詳細については、「テレメトリの関連付け」を参照してください。
最大長: 128
操作名
このフィールドは、操作の名前 (グループ) です。 要求またはページ ビューのいずれかによって、操作名が作成されます。 その他のすべてのテレメトリ項目は、含まれている要求またはページ ビューの値でこのフィールドを設定します。 操作の名前は、操作のグループ (たとえば、GET Home/Index
) のすべてのテレメトリ項目を検索するために使用されます。 このコンテキスト プロパティは、このページでスローされる典型的な例外は何か、といった質問に答えるために使用されます。
最大長: 1,024
操作の合成ソース
このフィールドは、合成ソースの名前です。 アプリケーションからのテレメトリの一部は、合成トラフィックを表すことがあります。 これは、Web サイトにインデックスを付ける Web クローラー、サイトの可用性のテスト、Application Insights SDK 自体のような診断ライブラリからのトレースである可能性があります。
最大長: 1,024
セッション ID
セッション ID は、ユーザーとアプリのやり取りのインスタンスです。 セッション コンテキスト フィールドの情報は、必ずユーザーに関するものです。 サービスからテレメトリが送信されるときのセッション コンテキストは、サービスで操作を開始したユーザーに関するものです。
最大長: 64
匿名ユーザー ID
匿名ユーザー ID (User.Id) は、アプリケーションのユーザーを表します。 サービスからテレメトリが送信されるときのユーザー コンテキストは、サービスで操作を開始したユーザーに関するものです。
サンプリングは、収集されたテレメトリの量を最小限に抑える方技術の 1 つです。 サンプリング アルゴリズムは、相関関係を持つテレメトリをすべて対象として、またはすべてを対象外としてサンプリングを試行します。 匿名ユーザー ID はサンプリング スコアの生成に使用されるため、匿名ユーザー ID は十分にランダムな値である必要があります。
Note
匿名ユーザー ID の数は、一意のアプリケーション ユーザーの数と同じではありません。 ユーザーが別のデバイスやブラウザーでアプリを開いたり、ブラウザーの Cookie を消去したりするたびに、新しい一意の匿名ユーザー ID が割り当てられるため、匿名ユーザー ID の数は、より多くなるのが一般的です。 この計算では、同じ物理ユーザーが複数回カウントされる可能性があります。
ユーザー ID をセッション ID と相互参照して、一意のテレメトリ ディメンションを提供し、セッション期間中のユーザー アクティビティを確立できます。
匿名ユーザー ID を使用してユーザー名を格納することは、フィールドの不正使用になります。 認証されたユーザー ID を使用してください。
最大長: 128
認証されたユーザー ID
認証されたユーザー ID は、匿名ユーザー ID とは正反対です。 このフィールドは、フレンドリ名を持つユーザーを表します。 この ID が既定で収集されるのは、ASP.NET Framework SDK の AuthenticatedUserIdTelemetryInitializer
のみです。
Application Insights SDK を使用して、ブラウザーとデバイスにまたがってユーザーを永続的に識別する値で、認証されたユーザー ID を初期化します。 このようにすることで、すべてのテレメトリ項目が、その一意の ID に帰属します。 この ID により、(サンプリング構成 と テレメトリ フィルター処理の対象の) 特定のユーザーに対して収集されたすべてのテレメトリに対してクエリを実行できます。
ユーザー ID をセッション ID と相互参照して、一意のテレメトリ ディメンションを提供し、セッション期間中のユーザー アクティビティを確立できます。
最大長: 1,024
Account ID
マルチテナント アプリケーションのアカウント ID は、ユーザーが操作しているテナント アカウントの ID または名前です。 これは、ユーザー ID と認証されたユーザー ID では十分でないときに、さらにユーザーをセグメント化するために使用されます。 たとえば、Azure portal のサブスクリプション ID やブログ プラットフォームのブログ名などがあります。
最大長: 1,024
クラウド ロール
このフィールドは、アプリケーションがその一部であるロールの名前です。 これは、Azure 内のロール名に直接マップされます。 単一のアプリケーションの一部であるマイクロ サービスを区別するために使用することもできます。
最大長: 256
クラウド ロール インスタンス
このフィールドは、アプリケーションが実行されているインスタンスの名前です。 たとえば、オンプレミスのコンピューター名や、Azure のインスタンス名です。
最大長: 256
内部:SDK バージョン
詳細については、「SDK バージョン」を参照してください。
最大長: 64
内部:ノード名
このフィールドは、課金目的で使用されるノード名を表します。 これを使用して、ノードの標準検出をオーバーライドします。
最大長: 256
よく寄せられる質問
このセクションでは、一般的な質問への回答を示します。
監視キャンペーンの効果を測定するにはどうすればよいですか?
PageView テレメトリには URL が含まれており、Kusto の正規表現関数を使用して UTM パラメーターを解析できます。
ユーザーまたは企業がブラウザーの設定でユーザー エージェントの送信を無効にした場合、このデータが失われることや不正確になることがあります。 UA パーサーの正規表現に、すべてのデバイス情報が含まれていない場合があります。 また、Application Insights に最新の更新プログラムが適用されていない場合があります。
カスタム測定はエラーなしで成功するのに、ログが表示されないのはなぜですか?
これは、文字列値を使用している場合に発生する可能性があります。 カスタム測定値で機能するのは数値のみです。
次のステップ
次を含め、カスタムのイベントとメトリックのための Application Insights API の使用方法を確認します。
次の依存関係追跡を設定します。
詳細については、以下を参照してください。
- Application Insights でサポートされているプラットフォームを確認します。
- 標準的なコンテキスト プロパティ コレクションの構成を確認します。
- Application Insights の .NET トレース ログを調べる。
- Application Insights で Java トレース ログを調べる。
- 関数の実行を監視する Azure Functions に組み込まれた Azure Application Insights との統合の詳細を参照してください。
- Application Insights で ASP.NET Core を構成する方法を確認します。
- Application Insights で Web アプリの例外を診断する方法を確認します。
- テレメトリの拡張とフィルター処理を行う方法を確認します。
- サンプリングを使用して、データ モデルに基づいてテレメトリの量を最小限に抑えます。