Microsoft Azure Monitor の Application Insights JavaScript SDK 構成

Azure Application Insights JavaScript SDK には、Web アプリケーションの追跡、監視、デバッグのための構成が用意されています。

SDK の構成

これらの構成フィールドは省略可能である、特に明記されていない限り、既定値は false です。

SDK 構成を追加する手順については、「SDK 構成を追加する」を参照してください。

名前 Type Default
accountId

省略可能なアカウント ID (アプリによってユーザーがアカウントにグループ化される場合)。 スペース、コンマ、セミコロン、等号、または縦棒は使用できません。
string null
addRequestContext

API 呼び出しの開始時にコンテキストを使用して依存関係ログをエンリッチする方法を提供します。 既定値は未定義です。 xhr 関連のコンテキストを構成する場合は、xhr が存在するかどうかを確認する必要があります。 fetch 関連のコンテキストを構成する場合は、fetch requestfetch response が存在するかどうかを確認する必要があります。 そうしないと、必要なデータが取得されない可能性があります。
(requestContext: IRequestionContext) => {[key: string]: any} undefined
ajaxPerfLookupDelay

既定値は 25 ミリ秒です。 Ajax 要求で windows.performance のタイミングの検索を再試行するまでの待ち時間。時間はミリ秒単位であり、setTimeout() に直接渡されます。
numeric 25
appId

appId は、サーバー側の要求によってクライアント側で発生する AJAX 依存関係の相関関係のために使用されます。 Beacon API が有効になっている場合、自動的に使用することはできませんが、構成では手動で設定できます。 既定値は null です。
string null
autoTrackPageVisitTime

true の場合、ページ ビューに関して、にインストルメント化されたページのビュー時間が追跡されてテレメトリとして送信されます。また、現在のページ ビューについて新しいタイマーが開始されます。 これは PageVisitTime という名前のカスタム メトリック (単位: milliseconds) として送信され、Date の now() 関数 (使用可能な場合) を使用して計算されます。now() が使用できない場合 (IE8 以下) は、(new Date()).getTime() にフォールバックされます。 既定値は false です。
boolean false
convertUndefined

未定義のフィールドをユーザー定義値に変換するオプションをユーザーに提供します。
any undefined
cookieCfg

Cookie の使用が有効な既定値になります。詳細については、ICookieCfgConfig 設定を参照してください。
ICookieCfgConfig
[省略可能]
(2.6.0 以降)
undefined
cookieDomain

カスタム Cookie ドメイン。 これは、サブドメイン間で Application Insights の Cookie を共有する場合に便利です。
(v2.6.0 以降) cookieCfg.domain が定義されている場合は、この値よりも優先されます。
cookieCfg.domain の別名
[省略可能]
null
cookiePath

カスタム Cookie パス。 これは、アプリケーション ゲートウェイの背後で Application Insights の Cookie を共有する場合に便利です。
cookieCfg.path が定義されている場合は、それが優先されます。
cookieCfg.path の別名
[省略可能]
(2.6.0 以降)
null
correlationHeaderDomains

特定のドメインの関連付けヘッダーを有効にします。
string[] undefined
correlationHeaderExcludedDomains

特定のドメインの関連付けヘッダーを無効にします。
string[] undefined
correlationHeaderExcludePatterns

正規表現を使用して関連付けヘッダーを無効にします。
regex[] undefined
createPerfMgr

必要に応じて IPerfManager インスタンスを作成するために呼び出されるコールバック関数。enablePerfMgr が有効になっている場合、初期化後に setPerfMgr() を必要とせずに PerfManager() の既定の作成をオーバーライドできます。
(core: IAppInsightsCore, notificationManager: INotificationManager) => IPerfManager undefined
customHeaders

ユーザーがカスタム エンドポイントを使用する際に追加のヘッダーを指定するための機能。 ビーコン センダーが使用されている場合、ブラウザーのシャットダウン時に customHeaders は追加されません。 また、IE9 以前ではカスタム ヘッダーの追加はサポートされていません。
[{header: string, value: string}] undefined
diagnosticLogInterval

内部ログ キューの (内部) ポーリング間隔 (ミリ秒)
numeric 10000
disableAjaxTracking

true の場合、Ajax 呼び出しは自動収集されません。 既定値は false です。
boolean false
disableCookiesUsage

既定値は false です。 SDK による Cookie の使用を無効にするかどうかを示すブール値。 true の場合、SDK によって Cookie のデータの格納や読み取りは行われません。
(v2.6.0 以降) cookieCfg.enabled が定義されている場合は、それが優先されます。 Cookie の使用は、core.getCookieMgr().setEnabled(true) を使用して、初期化後に再度有効にすることができます。
cookieCfg.enabled の別名
[省略可能]
false
disableCorrelationHeaders

false の場合、SDK によって 2 つのヘッダー (Request-Id と Request-Context) がすべての依存関係要求に追加され、サーバー側の対応する要求と関連付けられます。 既定値は false です。
boolean false
disableDataLossAnalysis

false の場合、まだ送信されていない項目について、内部テレメトリ センダー バッファーが起動時にチェックされます。
boolean true
disableExceptionTracking

true の場合、例外は自動収集されません。 既定値は false です。
boolean false
disableFetchTracking

disableFetchTracking の既定の設定は false です。つまり有効であることを意味します。 ただし、2.8.10 より前のバージョンでは、既定では無効になっています。 true に設定すると、フェッチ要求は自動的には収集されません。 既定の設定は、バージョン 2.8.0 で true から false に変更されました。
boolean false
disableFlushOnBeforeUnload

既定値は false です。 true の場合、onBeforeUnload イベントのトリガー時に flush メソッドは呼び出されません
boolean false
disableIkeyDeprecationMessage

インストルメンテーション キーの廃止エラー メッセージを無効にします。 true の場合、エラー メッセージは送信されません。
boolean true
disableInstrumentationKeyValidation

true の場合、インストルメンテーション キーの検証チェックはバイパスされます。 既定値は false です。
boolean false
disableTelemetry

true の場合、テレメトリの収集や送信は行われません。 既定値は false です。
boolean false
disableXhr

既定では、XMLHttpRequest および XDomainRequest (IE 9 未満の場合) を使用せず、代わりに fetch() または sendBeacon の使用を試みます。 他のトランスポートが使用できない場合は、XMLHttpRequest が使用されます
boolean false
distributedTracingMode

分散トレース モードを設定します。 AI_AND_W3C モードまたは W3C モードが設定されている場合、W3C トレース コンテキスト ヘッダー (traceparent/traceparent) が生成され、すべての送信要求に組み込まれます。 AI_AND_W3C は、従来の Application Insights のインストルメント化されたサービスとの下位互換性を保つために用意されています。
数値または DistributedTracingModes DistributedTracing Modes.AI_AND_W3C
enableAjaxErrorStatusText

既定値は false です。 true の場合、失敗した AJAX 要求の依存関係イベントに応答エラー データのテキスト ブール値を含めます。
boolean false
enableAjaxPerfTracking

既定値は false です。 ブラウザーの window.performance の追加のタイミングを検索し、レポートされる Ajax (XHR および fetch) のレポートされるメトリックに含めることを可能にするフラグを設定します。
boolean false
enableAutoRouteTracking

シングル ページ アプリケーション (SPA) でのルート変更を自動的に追跡します。 true の場合、ルートの変更ごとに新しいページビューが Application Insights に送信されます。 ハッシュ ルート変更 (example.com/foo#bar) も新しいページ ビューとして記録されます。
"": このフィールドを有効にした場合、複数のページ ビュー イベントが発生するため、React ルーター構成history オブジェクトを有効にしないでください。
boolean false
enableCorsCorrelation

truee の場合、SDK によって 2 つのヘッダー (Request-Id と Request-Context) がすべての CORS 要求に追加され、送信される AJAX 依存関係がサーバー側の対応する要求と関連付けられます。 既定値は false です。
boolean false
enableDebug

true の場合、SDK ログ設定に関わらず、内部デバッグ データはログに記録される代わりに例外としてスローされます。 既定値は false です。
"注:" この設定を有効にすると、内部エラーが発生するたびにテレメトリがドロップされます。 これは、SDK の構成または使用に関する問題をすばやく特定するのに役立ちます。 デバッグ時にテレメトリが失われないようにしたい場合は、enableDebug の代わりに loggingLevelConsole または loggingLevelTelemetry を使用することを検討してください。
boolean false
enablePerfMgr

有効にすると (true)、(doPerf() ヘルパーを使用して) perfEvents を生成するためにインストルメント化されたコードのローカル perfEvents が作成されます。 これは、使用量に基づいて SDK 内で、または必要に応じて独自のインストルメント化されたコード内で、パフォーマンスの問題を識別するために使用できます。
boolean false
enableRequestHeaderTracking

true の場合、AJAX と Fetch の要求ヘッダーが追跡されます。既定値は false です。 ignoreHeaders が構成されていない場合、Authorization ヘッダーと X-API-Key ヘッダーはログに記録されません。
boolean false
enableResponseHeaderTracking

true の場合、AJAX と Fetch の要求の応答ヘッダーが追跡されます。既定値は false です。 ignoreHeaders が構成されていない場合、WWW-Authenticate ヘッダーはログに記録されません。
boolean false
enableSessionStorageBuffer

既定値は true です。 true の場合、未送信のすべてのテレメトリを含むバッファーがセッション ストレージに格納されます。 バッファーはページの読み込み時に復元されます。
boolean true
enableUnhandledPromiseRejectionTracking

true の場合、未処理の Promise 拒否が JavaScript エラーとして自動収集されます。 disableExceptionTracking が true (例外を追跡しない) の場合、この構成値は無視され、未処理の Promise 拒否はレポートされません。
boolean false
eventsLimitInMem

セッション ストレージ (既定値) を使用しない場合に、SDK がイベントの削除を開始するまでメモリに保持できるイベント数。
number 10000
excludeRequestFromAutoTrackingPatterns

XMLHttpRequest またはフェッチ要求の自動追跡から特定のルートを除外する方法を提供します。 定義されている場合、要求 URL が正規表現パターンと一致する Ajax/フェッチ要求について、自動追跡はオフになります。 既定値は未定義です。
string[] | RegExp[] undefined
featureOptIn

機能オプトインの詳細を設定します。

この構成フィールドは、バージョン 3.0.3 以降でのみ使用できます。
IFeatureOptIn undefined
idLength

新しいランダム セッションとユーザー ID を生成するために使用される既定の長さを識別します。 既定値は 22 です。以前の既定値は 5 (v2.5.8 以下) でした。前の最大長を保持する必要がある場合は、この値を 5 に設定する必要があります。
numeric 22
ignoreHeaders

AJAX & ログ データで無視される要求ヘッダーと応答ヘッダーをフェッチします。 既定値をオーバーライドまたは破棄するには、除外するすべてのヘッダーを含む配列または空の配列を構成に追加します。
string[] ["Authorization", "X-API-Key", "WWW-Authenticate"]
isBeaconApiDisabled

false の場合、SDK は Beacon API を使用してすべてのテレメトリを送信します。
boolean true
isBrowserLinkTrackingEnabled

既定値は false です。 true の場合、SDK によってすべてのブラウザー リンク要求が追跡されます。
boolean false
isRetryDisabled

既定値は false です。 false の場合、206 (部分的な成功)、408 (タイムアウト)、429 (要求が多すぎる)、500 (内部サーバー エラー)、503 (サービス利用不可)、および 0 (オフライン、検出された場合のみ) で再試行します。
boolean false
isStorageUseDisabled

true の場合、SDK によってローカルおよびセッションのストレージのデータの格納や読み取りは行われません。 既定値は false です。
boolean false
loggingLevelConsole

内部 Application Insights エラーをコンソールに記録します。
0: オフ
1: 重大なエラーのみ、
2: すべて (エラーと警告)
numeric 0
loggingLevelTelemetry

内部 Application Insights エラーをテレメトリとして送信します。
0: オフ
1: 重大なエラーのみ、
2: すべて (エラーと警告)
numeric 1
maxAjaxCallsPerView

既定値: 500 - ページ ビューあたりの監視対象 Ajax 呼び出し数を制御します。 -1 に設定すると、ページで発行されたすべて (無制限) の Ajax 呼び出しを監視します。
numeric 500
maxAjaxPerfLookupAttempts

既定値は 3 です。 window.performance のタイミング (使用可能な場合) を検索する最大回数は必須です。 すべてのブラウザーが XHR 要求の終了をレポートする前に window.performance を設定するわけではありません。 fetch 要求の場合、これはその完了後に追加されます。
numeric 3
maxBatchInterval

送信前にテレメトリをバッチ処理する時間 (ミリ秒)
numeric 15000
maxBatchSizeInBytes

テレメトリ バッチの最大サイズ。 バッチがこの制限を超えると、すぐに送信され、新しいバッチが開始されます
numeric 10000
namePrefix

localStorage およびセッション Cookie 名の接尾語として使用される省略可能な値。
string undefined
onunloadDisableBeacon

既定値は false です。 タブが閉じられると、SDK により Beacon API を使用して残りのすべてのテレメトリが送信されます。
boolean false
onunloadDisableFetch

フェッチ キープアライブがサポートされている場合は、アンロード中にイベントを送信するために使用しないでください。キープアライブなしで fetch() にフォールバックする可能性があります
boolean false
overridePageViewDuration

true の場合、trackPageView の既定の動作が変わり、trackPageView の呼び出し時にページビュー期間の終了を記録します。 false の場合に、trackPageView にカスタム期間が指定されていないと、Navigation Timing API を使用してページ ビューのパフォーマンスが計算されます。 既定値は false です。
boolean false
perfEvtsSendAll

enablePerfMgr が有効になっていて、IperfmanagerINotificationManager perfEvent() を起動した場合、このフラグにより、すべてのイベントに対してイベントが発生 (そしてすべてのリスナーに送信) するか (true)、'parent' イベントに対してのみ発生するか (false <既定値>) が決定します。
親の IPerfEvent は、イベントが作成された時点で他の IPerfEvent がまだ実行されておらず、その parent プロパティが null でも未定義でもないイベントです。 v2.5.7 以降
boolean false
samplingPercentage

送信されるイベントの割合。 既定値は 100 で、すべてのイベントが送信されます。 大規模なアプリケーションでデータ上限を維持する場合に設定します。
numeric 100
sdkExtension

SDK 拡張機能の名前を設定します。 英字のみを使用できます。 拡張機能名はプレフィックスとして ai.internal.sdkVersion タグに付けられます (ext_javascript:2.0.0 など)。 既定値は Null です。
string null
sessionCookiePostfix

セッション Cookie 名の接尾語として使用される省略可能な値。 未定義の場合、セッション Cookie 名の接尾語として namePrefix が使用されます。
string undefined
sessionExpirationMs

セッションがこの時間 (ミリ秒単位) にわたって継続する場合に、セッションがログに記録されます。 既定値は 24 時間です。
numeric 86400000
sessionRenewalMs

この時間 (ミリ秒単位) にわたってユーザーが非アクティブである場合に、セッションがログに記録されます。 既定値は 30 分です。
numeric 1800000
throttleMgrCfg

キーでスロットル mgr 構成を設定します。

この構成フィールドは、バージョン 3.0.3 以降でのみ使用できます。
{[key: number]: IThrottleMgrConfig} undefined
userCookiePostfix

ユーザー Cookie 名の接尾語として使用される省略可能な値。 未定義の場合、ユーザー Cookie 名に接尾語は追加されません。
string undefined

バージョン 2.6.0 以降、Azure Application Insights JavaScript SDK では、初期化後に無効化および再有効化できるインスタンスベースの Cookie 管理が提供されています。

disableCookiesUsage または cookieCfg.enabled 構成を使用して初期化中に Cookie を無効にした場合は、ICookieMgr オブジェクトsetEnabled 関数を使用して Cookie を再度有効にすることができます。

インスタンス ベースの Cookie 管理では、以前の CoreUtils グローバル関数である disableCookies()setCookie()getCookie()deleteCookie() が置き換えられます。

バージョン 2.6.0 で導入されたツリー シェイクの機能強化を利用するために、今後グローバル関数を使用しないことをお勧めします。

ICookieMgrConfig は、2.6.0 で追加されたインスタンスベースの Cookie 管理用の Cookie 構成です。 用意されているオプションを使用して、SDK による Cookie の使用を有効または無効にすることができます。 カスタムの Cookie ドメインとパスを設定し、Cookie のフェッチ、設定、削除のための関数をカスタマイズすることもできます。

ICookieMgrConfig のオプションの定義を、次の表に示します。

Name Type Default 説明
enabled boolean true SDK の現在のインスタンスでは、このブール値を使用して、Cookie の使用が有効になっているかどうかを示します。 false の場合、この構成によって初期化される SDK のインスタンスでは、Cookie のデータの格納や読み取りは行われません。
domain string null カスタム Cookie ドメイン。 これは、サブドメイン間で Application Insights の Cookie を共有する場合に便利です。 指定されていない場合は、ルートの cookieDomain 値からの値を使用します。
path string / Cookie に使用するパスを指定します。指定されていない場合、ルートの cookiePath 値からの任意の値が使用されます。
ignoreCookies string[] undefined 無視する Cookie 名を指定します。これにより、一致する Cookie 名は読み取りも書き込みもされません。 明示的に消去または削除される可能性はあります。 blockedCookies の構成で名前を繰り返す必要はありません。 (v2.8.8 以降)
blockedCookies string[] undefined 書き込みしない Cookie 名を指定します。 Cookie 名の作成や更新は禁止されますが、ignoreCookies にも含まれていない限り、読み取ることはできます。 明示的に消去または削除される可能性はあります。 指定しない場合、既定値は ignoreCookies と同じリストになります。 (v2.8.8 以降)
getCookie (name: string) => string null 指定された Cookie 値をフェッチするための関数。指定されていない場合は、内部のクッキー解析およびキャッシュを使用します。
setCookie (name: string, value: string) => void null 指定した値で指定された Cookie を設定する関数。Cookie を追加または更新するときにのみ呼び出されます。
delCookie (name: string, value: string) => void null 指定された値で指定した Cookie を削除する関数。Cookie が追加されるのか削除されるのか判断するために値を解析する必要がないように setCookie とは別になっています。 指定されない場合は、内部の Cookie 解析およびキャッシュが使用されます。

ソース マップ

ソース マップのサポートは、例外テレメトリのミニファイ処理された呼び出し履歴をアンミニファイ処理する機能を使用して、ミニファイ処理された JavaScript コードをデバッグするのに役立ちます。

  • [例外の詳細] パネルの現在のすべての統合と互換性があります
  • SDK のアップグレードを必要とせずに、Node.JS を含むすべての現在および将来の JavaScript SDK をサポートします

Application Insights では、Azure Storage アカウントの BLOB コンテナーに対するソース マップのアップロードがサポートされています。 ソース マップを使用して、[エンド ツー エンド トランザクションの詳細] ページで見つかった呼び出し履歴をアンミニファイ処理することができます。 また、ソース マップを使用して、JavaScript SDK または Node.js SDK によって送信されたすべての例外をアンミニファイ処理することもできます。

Screenshot that shows selecting the option to unminify a call stack by linking with a storage account.

新しいストレージ アカウントと BLOB コンテナーを作成する

ストレージ アカウントまたは BLOB コンテナーが既にある場合は、このステップを省略できます。

  1. 新しいストレージ アカウントを作成します

  2. ストレージ アカウント内に BLOB コンテナーを作成します。 ソース マップに公的にアクセスできないようにするには、[Public access level](パブリック アクセス レベル)[非公開] に設定します。

    Screenshot that shows setting the container access level to Private.

ソース マップを BLOB コンテナーにプッシュする

構成済みの BLOB コンテナーにソース マップを自動的にアップロードするように構成することで、継続的デプロイ パイプラインをストレージ アカウントと統合します。

Azure Blob Storage コンテナーのフォルダー構造がソース マップのコンパイルおよびデプロイ時のフォルダー構造と同じであれば、ソース マップを Azure Blob Storage コンテナーにアップロードできます。 一般的なユース ケースは、1.2.3/static/js/main.js のように、デプロイ フォルダーにそのバージョンでプレフィックスを付けることです。 sourcemaps という名前の Azure BLOB コンテナーを使用してアンミニファイ処理すると、パイプラインでは sourcemaps/1.2.3/static/js/main.js.map にあるソース マップのフェッチが試行されます。

Azure Pipelines を使用してアプリケーションの継続的なビルドとデプロイを行っている場合は、Azure ファイル コピー タスクをパイプラインに追加して、ソース マップを自動的にアップロードします。

Screenshot that shows adding an Azure file copy task to your pipeline to upload your source maps to Azure Blob Storage.

ソース マップのストレージ アカウントで Application Insights リソースを構成する

ソース マップのストレージ アカウントを使用して Application Insights リソースを構成するには、2 つのオプションがあります。

エンドツーエンド トランザクションの詳細タブ

[エンド ツー エンド トランザクションの詳細] タブで、[アンミニファイ処理] を選択します。 構成されていない場合は、リソースを構成します。

  1. Azure portal で、ミニファイ処理された例外の詳細が表示されます。
  2. [Unminify](アンミニファイ処理する) を選択します。
  3. リソースが構成されていない場合は、構成します。
[プロパティ] タブ

Application Insights リソースにリンクされているストレージ アカウントまたは BLOB コンテナーを構成または変更するには、次の手順を実施します。

  1. Application Insights リソースの [プロパティ] タブに移動します。

  2. [Change source map Blob Container](ソース マップ BLOB コンテナーの変更) を選択します。

  3. ソース マップ コンテナーとして別の BLOB コンテナーを選択します。

  4. [適用] を選択します。

    Screenshot that shows reconfiguring your selected Azure blob container on the Properties pane.

アンミニファイ処理された呼び出し履歴を表示する

アンミニファイ処理された呼び出し履歴を表示するには、Azure portal で例外テレメトリ項目を選択し、呼び出し履歴に一致するソース マップを見つけて、ソース マップを Azure portal の呼び出し履歴にドラッグ アンド ドロップします。 ソース マップの名前は、スタック フレームのソース ファイルと同じで、map 拡張子が付いている必要があります。

JavaScript アプリケーションのソース マップのサポートに関連する問題が発生した場合は、「JavaScript アプリケーション のソース マップのサポートに関するトラブルシューティング」を参照してください。

Animation demonstrating unminify feature.

ツリー シェイク

ツリー シェイクにより、最終的な JavaScript バンドルから未使用のコードが削除されます。

ツリー シェイクを利用するには、SDK の必要なコンポーネントのみをコードにインポートします。 そうすることで、未使用のコードは最終的なバンドルに含まれなくなり、サイズが小さくなり、パフォーマンスが向上します。

ツリー シェイク機能強化と推奨事項

バージョン 2.6.0 では、ツリーシェイク アルゴリズムのサポートを向上させるために、以下の静的ヘルパー クラスの内部使用を非推奨にし、削除しました。 これにより、npm パッケージで未使用のコードを安全に削除できます。

  • CoreUtils
  • EventHelper
  • Util
  • UrlHelper
  • DateTimeUtils
  • ConnectionStringParser

関数はモジュールから最上位レベルのルートとしてエクスポートされるようになり、コードのリファクタリングが容易になり、ツリー シェイクが改善されました。

静的クラスは、新しいエクスポートされた関数を参照する const オブジェクトに変更され、参照をさらにリファクタリングするために今後の変更が計画されています。

ツリー シェイクで非推奨の関数とその置き換え

このセクションは、非推奨の関数を使用していて、パッケージ サイズを最適化したい場合にのみ適用されます。 サイズを削減し、Internet Explorer のすべてのバージョンをサポートするには、代替関数を使用することをお勧めします。

Existing Replacement
CoreUtils @microsoft/applicationinsights-core-js
CoreUtils._canUseCookies [なし] : すべての CoreUtils 参照が最終的なコードに含まれるため、使用しないでください。
クッキーの処理をリファクタリングして、appInsights.getCookieMgr().setEnabled(true/false) を使用して値を設定し、appInsights.getCookieMgr().isEnabled() で値を確認します。
CoreUtils.isTypeof isTypeof
CoreUtils.isUndefined isUndefined
CoreUtils.isNullOrUndefined isNullOrUndefined
CoreUtils.hasOwnProperty hasOwnProperty
CoreUtils.isFunction isFunction
CoreUtils.isObject isObject
CoreUtils.isDate isDate
CoreUtils.isArray isArray
CoreUtils.isError isError
CoreUtils.isString isString
CoreUtils.isNumber isNumber
CoreUtils.isBoolean isBoolean
CoreUtils.toISOString toISOString or getISOString
CoreUtils.arrForEach arrForEach
CoreUtils.arrIndexOf arrIndexOf
CoreUtils.arrMap arrMap
CoreUtils.arrReduce arrReduce
CoreUtils.strTrim strTrim
CoreUtils.objCreate objCreateFn
CoreUtils.objKeys objKeys
CoreUtils.objDefineAccessors objDefineAccessors
CoreUtils.addEventHandler addEventHandler
CoreUtils.dateNow dateNow
CoreUtils.isIE isIE
CoreUtils.disableCookies disableCookies
どちらかを参照すると、下位互換性のために CoreUtils が参照されます。
Cookie 処理をリファクタリングして appInsights.getCookieMgr().setEnabled(false) を使用するようにしてください
CoreUtils.newGuid newGuid
CoreUtils.perfNow perfNow
CoreUtils.newId newId
CoreUtils.randomValue randomValue
CoreUtils.random32 random32
CoreUtils.mwcRandomSeed mwcRandomSeed
CoreUtils.mwcRandom32 mwcRandom32
CoreUtils.generateW3CId generateW3CId
EventHelper @microsoft/applicationinsights-core-js
EventHelper.Attach attachEvent
EventHelper.AttachEvent attachEvent
EventHelper.Detach detachEvent
EventHelper.DetachEvent detachEvent
Util @microsoft/applicationinsights-common-js
Util.NotSpecified strNotSpecified
Util.createDomEvent createDomEvent
Util.disableStorage utlDisableStorage
Util.isInternalApplicationInsightsEndpoint isInternalApplicationInsightsEndpoint
Util.canUseLocalStorage utlCanUseLocalStorage
Util.getStorage utlGetLocalStorage
Util.setStorage utlSetLocalStorage
Util.removeStorage utlRemoveStorage
Util.canUseSessionStorage utlCanUseSessionStorage
Util.getSessionStorageKeys utlGetSessionStorageKeys
Util.getSessionStorage utlGetSessionStorage
Util.setSessionStorage utlSetSessionStorage
Util.removeSessionStorage utlRemoveSessionStorage
Util.disableCookies disableCookies
どちらかを参照すると、下位互換性のために CoreUtils が参照されます。
Cookie 処理をリファクタリングして appInsights.getCookieMgr().setEnabled(false) を使用するようにしてください
Util.canUseCookies canUseCookies
どちらかを参照すると、下位互換性のために CoreUtils が参照されます。
Cookie 処理をリファクタリングして appInsights.getCookieMgr().isEnabled() を使用するようにしてください
Util.disallowsSameSiteNone uaDisallowsSameSiteNone
Util.setCookie coreSetCookie
参照すると、下位互換性のために CoreUtils が参照されます。
Cookie 処理をリファクタリングして appInsights.getCookieMgr().set(name: string, value: string) を使用するようにしてください
Util.stringToBoolOrDefault stringToBoolOrDefault
Util.getCookie coreGetCookie
参照すると、下位互換性のために CoreUtils が参照されます。
Cookie 処理をリファクタリングして appInsights.getCookieMgr().get(name: string) を使用するようにしてください
Util.deleteCookie coreDeleteCookie
参照すると、下位互換性のために CoreUtils が参照されます。
Cookie 処理をリファクタリングして appInsights.getCookieMgr().del(name: string, path?: string) を使用するようにしてください
Util.trim strTrim
Util.newId newId
Util.random32 ---
置き換えはありません。コアの random32(true) を使用するようにコードをリファクタリングしてください
Util.generateW3CId generateW3CId
Util.isArray isArray
Util.isError isError
Util.isDate isDate
Util.toISOStringForIE8 toISOString
Util.getIEVersion getIEVersion
Util.msToTimeSpan msToTimeSpan
Util.isCrossOriginError isCrossOriginError
Util.dump dumpObj
Util.getExceptionName getExceptionName
Util.addEventHandler attachEvent
Util.IsBeaconApiSupported isBeaconApiSupported
Util.getExtension getExtensionByName
UrlHelper @microsoft/applicationinsights-common-js
UrlHelper.parseUrl urlParseUrl
UrlHelper.getAbsoluteUrl urlGetAbsoluteUrl
UrlHelper.getPathName urlGetPathName
UrlHelper.getCompeteUrl urlGetCompleteUrl
UrlHelper.parseHost urlParseHost
UrlHelper.parseFullHost urlParseFullHost
DateTimeUtils @microsoft/applicationinsights-common-js
DateTimeUtils.Now dateTimeUtilsNow
DateTimeUtils.GetDuration dateTimeUtilsDuration
ConnectionStringParser @microsoft/applicationinsights-common-js
ConnectionStringParser.parse parseConnectionString

サービスの通知

サービス通知は SDK に組み込まれている機能であり、Application Insights へのテレメトリ フローが中断されないようにするためのアクション可能な推奨事項を提供します。 Application Insights 内に例外メッセージとして通知が表示されます。 Microsoft では、お客様の SDK 設定に基づいて通知がお客様に関連していることを確認し、推奨事項の緊急性に基づいて詳細度を調整します。 サービス通知はオンのままにしておくことをお勧めしますが、featureOptIn 構成を使用してオプトアウトすることができます。 アクティブな通知の一覧については、以下を参照してください。

現在、アクティブな通知は送信されません。

トラブルシューティング

専用のトラブルシューティングに関する記事をご覧ください。

よく寄せられる質問

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

JavaScript SDK 向けにサード パーティ製サーバー構成を更新するにはどうすればよいですか?

サーバー側は、これらのヘッダーが存在する接続を受け入れる必要があります。 サーバー側の Access-Control-Allow-Headers の構成によっては、Request-IdRequest-Contexttraceparent (W3C 分散ヘッダー) を手動で追加してサーバー側のリストを拡張することが必要になることがよくあります。

Access-Control-Allow-Headers: Request-Id, traceparent, Request-Context, <your header>

JavaScript SDK の分散トレースを無効にするにはどうすればよいですか?

分散トレースは、構成で無効にすることができます。

HTTP 502 および 503 の応答は、常に Application Insights によってキャプチャされますか?

不正解です。 "502 無効なゲートウェイです" というエラーと "503 サービスを利用できません" というエラーは、Application Insights によって常にキャプチャされるわけではありません。 監視にクライアント側の JavaScript のみが使用されている場合、この動作が予想されます。これは、HTML ヘッダーと監視 JavaScript スニペットを含むページがレンダリングされる前にエラー応答が返されるためです。

サーバー側の監視が有効になっているサーバーから 502 または 503 の応答が送信された場合、Application Insights SDK によってエラーが収集されます。

アプリケーションの Web サーバーでサーバー側の監視が有効になっていても、Application Insights によって 502 または 503 エラーがキャプチャされない場合があります。 最新の Web サーバーの多くは、クライアントが直接通信することを許可しません。 代わりに、リバース プロキシなどのソリューションを使用して、クライアントとフロントエンド Web サーバーの間で情報がやり取りされます。

このシナリオでは、502 または 503 の応答がクライアントに返される場合がありますが、リバース プロキシ レイヤーでの問題が原因で、Application Insights によってすぐにはキャプチャされません。 このレイヤーで問題を検出するために必要なことは、リバース プロキシから Log Analytics にログを転送すること、および 502 または 503 の応答を確認するカスタム ルールを作成することです。 502 エラーと 503 エラーの一般的な原因について詳しくは、「Azure App Service での HTTP エラー "502 無効なゲートウェイ" と "503 サービス利用不可" のトラブルシューティング」を参照してください。

次のステップ