• EnglishEspañol日本語한국어Português
  • ログイン今すぐ開始

この機械翻訳は参考用に提供されます。

英語版と翻訳版に矛盾がある場合は、英語版が優先されます。詳細については、 を参照してください。

問題を作成する

ブラウザモニタリングの互換性と要件

私たちのには、ブラウザ監視機能を備えた堅牢なスタンドアロン製品を提供するための厳格なセキュリティ対策が含まれています。ブラウザ エージェントをインストールする前に、システムが次の要件を満たしていることを確認してください。

基本要件

New Relic にデータをレポートするには、アプリケーションが次の 2 つの基本要件を満たしている必要があります。

  1. アプリケーションへのトラフィックは、ブラウザーの JavaScript コードをロードして実行できるクライアントからのものである必要があります。
  2. アプリケーションにアクセスするクライアントは、HTTP リクエストを通じて New Relic にデータを送信できる必要があります。HTTPS は、より高度なブラウザ監視機能に必要です。

重要

切断リストに登録しているブラウザや、AdBlock などのコンテンツ フィルタリング拡張機能を使用しているブラウザは、New Relic にデータをレポートできない場合があります。たとえば、 Mozilla Firefox 69.0 以降で 強化されたトラッキング防止切断リストを 使用している場合は、デフォルト設定を変更する必要があります。

ほとんどの一般的なブラウザ アプリケーションはこれらの要件を満たしていますが、制限された環境の一部のブラウザ アプリケーションでは New Relic にデータを報告することが困難な場合があります。例えば:

  • ハイブリッド・モバイル・アプリケーション
  • POS端末や家電製品などの特殊なハードウェアにインストールされるアプリケーション

詳細については、 ブラウザ監視のドキュメントを参照し、 エンドユーザーのネットワーク アクセスを確認してください。

対応ブラウザ

ブラウザ エージェントは、次のブラウザ バージョンを公式にサポートしています。

インストルメンテーションおよび特定の機能は、他のブラウザーまたはバージョンと互換性がある場合があります。

例外

コメントコメント

塗装のタイミング

firstPaint firstContentfulPaint BrowserInteraction``PageViewPageViewTiming 、および イベントの および 属性は 、以下とのみ互換性 があります。

  • デスクトップおよびモバイルのChrome 60以上(AndroidウェブビューおよびChrome for Android)
  • デスクトップ用Opera 47以上
  • Opera 44以上(Androidモバイル用
  • サムスンの携帯電話向けインターネット

AJAX

AJAXのタイミング機能 では利用できません。

  • iPhone/iPad向けChrome
  • IE 7および8

PageAction イベント

PageActionイベントには、クロスドメインXMLHttpRequestsを完全にサポートするブラウザが必要です。Internet Explorerバージョン9以下では、 PageActionイベントを記録できません。データのクエリの詳細をご覧ください

セッション・トレース

セッショントレース は、 Resource Timing Specification をサポートしているブラウザからのみ報告されます。

SHA-256

New Relic は SHA-256 と互換性のあるブラウザのみをモニターすることができます。

重要

Cookieでブラウザ監視を使用する場合、New RelicのCookieはサイト上のサードパーティのCookieであり、訪問者が使用する特定のWebブラウザに保存または機能しない場合があります。サードパーティのCookieとの互換性の詳細については、該当するブラウザのWebサイトを参照してください。

APMエージェント

アプリの ブラウザ監視を展開する 1 つの方法は、APM エージェントの 1 つを使用することです。

すでに APM によって監視されているアプリのブラウザをデプロイしている場合は、APM エージェントのバージョンがブラウザ監視をサポートしていることを確認してください。

  • Go: バージョン2.5.0以上
  • Java: バージョン3.4.0以上
  • .NET: バージョン2.20.25.0以上
  • Node.js: バージョン1.4.0以上
  • PHP: バージョン4.4.5.35以上
  • Python: バージョン 2.10.1.9 以上
  • Ruby: Version 3.7.0.177 以上

サポートされているフレームワークとライブラリ

ブラウザ エージェントは、多くの一般的なフロントエンド フレームワークとライブラリを使用するサイト上のデータを収集します。ブラウザ エージェントは、他のライブラリやフレームワークによってラップまたは変更される可能性がある、低レベルの JavaScript オブジェクトおよびメソッドを監視します。その結果、収集される詳細レベルはフレームワークごとに異なる可能性があり、ネイティブ JavaScript メカニズムを変更するライブラリと競合が発生する可能性があります。

互換性の例外

コメントコメント

Zone.js

AngularJSを使用していて、 SPA監視機能を使用したい場合は、Zone.jsバージョン0.6.18から0.6.24はブラウザーと互換性がないことに注意してください。いずれの場合も、エラーを回避するために、ブラウザエージェントをZone.jsの前にロードする必要があります。

Cypress.io(サイプレス・アイオー

サイプレスでテストを実行すると、ブラウザはリクエストのopen }メソッドとsendメソッドを適切にインストルメントできません。これにより、次のエラーがスローされます。

Cannot set property 'status' of undefined

これは、コード内に存在するブラウザ エージェントを使用してテストを実行しているお客様にのみ影響します。本番アプリケーションは影響を受けません。

html2pdf.js

このライブラリは、約束事の包み方が異なるため、弊社の Pro+SPA エージェント とは互換性がありません。このライブラリを使用する場合は、 Pro エージェントタイプ を選択することをお勧めします。

ムーツール

ブラウザ エージェントは、 1.6.0 より古い MooTools バージョン、または mootools 互換性レイヤーを含むバージョンとは互換性がありません。MooTools から移行できない場合は、バージョン 1.6.0-nocompatを使用することをお勧めします。

シングルページアプリケーション(SPA)の監視

シングル ページ アプリ (SPA) の監視に関連する機能を使用するには、アプリが次の要件を満たしている必要があります。

SPA: ブラウザエージェントのバージョン

SPA モニタリングには 、ブラウザ エージェント バージョン 885 以降で利用可能な、SPA 固有のバージョンのブラウザ スニペットが必要です。このバージョンのエージェントはデフォルトで有効になっています。

SPA: ブラウザの種類

SPA モニタリングには、 addEventListenerブラウザ APINavigation Timing APIが必要です。 両方の API は、Google Chrome、Mozilla Firefox、Apple Safari、Microsoft Internet Explorer (IE) バージョン 9 以降など、最新のすべてのブラウザーで利用できます。

SPA: フレームワーク要件

SPAインスツルメンテーションは、低レベルのブラウザAPIをラップして動作するため、フレームワークに依存しません。SPAインスツルメンテーションは、Angular、Backbone、Ember、Reactなど、ほとんどのSPAフレームワークと互換性があります。また、JSONPを使用したリクエストの計測も可能です。

以下は、既知の互換性の問題です。

  • アプリケーションに AngularJS を使用しており、ブラウザの SPA モニタリング の機能を使用したい場合、Zone.js のバージョン 0.6.18-0.6.24 は SPA エージェントとの互換性がありません。
  • html2pdf.jsライブラリは、SPAエージェントと互換性がありません。
  • Angular バージョン 12 から 14 には、インデックス HTML ソース内に含まれる個々のスクリプト要素のサイズに関する制限が含まれています。詳細については 、このトラブルシューティング ページ を参照してください。
  • Next.JS には、バージョン 13.3.2-canary.2 以降、既知の非互換性があります。アプリルーターを使用すると、ページ上のリンクが機能しなくなる可能性があります。詳細については 、このトラブルシューティング ページ を参照してください。

SPA: ハッシュ フラグメントのセキュリティ

ルート変更 URL からハッシュ フラグメントを収集して保存します。ハッシュを使用してプライベート データや機密データを渡す場合、そのデータは New Relic アカウント ユーザーに表示される可能性があります。 データ収集とレポートのセキュリティに関するブラウザのガイドラインに従ってください。

コンテンツ・セキュリティ・ポリシー(CSP)の考慮事項

正確なブラウザ パフォーマンス メトリクスを取得するために、ブラウザ監視では小さなインライン JavaScript スニペットを使用する必要があります。New Relic は、クロスサイト スクリプティング (XSS) やその他の潜在的な脆弱性を防ぐために、インライン JavaScript を注意深くレビューします。

Content Security Policy Level 2 インラインスクリプトなど、許可されるJavaScriptの種類に制限を加えています。また、ページロード時にスクリプトをロードできるドメインを制限します。

重要

お客様のWebサイトでサードパーティがホストするJavaScriptの実行が許可されていない場合は、ブラウザ監視エージェントをインストールするために、組織の標準的な手順でCSPの例外を申請する必要があります。

CSP 例外をリクエストする場合は、組織の標準手順に従って、Web チームまたはセキュリティ チームに連絡してください。ユースケースの CSP 例外は、現在実行しているブラウザー エージェントのバージョンによって異なります。ブラウザ エージェントの最新バージョンに更新することを常にお勧めします。

これらの例外はすべて、( script-srcconnect-srcの代わりに) フォールバックdefault-srcディレクティブに追加できます。ブラウザ エージェントには次の CSP 例外が必要です。

CSPの例外

コメントコメント

unsafe-inline

script-srcディレクティブまたはフォールバックdefault-srcディレクティブに追加します。これは、エージェントがインラインスクリプトを含めることによってインストールされるために必要です。

https://js-agent.newrelic.com

script-srcディレクティブまたはフォールバックdefault-srcディレクティブに追加します。これは、エージェントが必要とする追加のスクリプトファイルがホストされる場所です。

*.nr-data.net

エージェントはnr-data.netのサブドメインにペイロードを送信しようとしますが、これはアカウント タイプによって異なります。*.nr-data.netが要件に対して包括的すぎる場合は、個々のサブドメインを追加する必要があります。

  • 米国ベースのアカウント:

    • https://bam.nr-data.net
    • https://bam-cell.nr-data.net
  • EU ベースのアカウント:

    • https://bam.eu01.nr-data.net
  • FedRAMP 準拠のアカウント:

    • https://gov-bam.nr-data.net
  • connect-srcディレクティブまたはフォールバックdefault-srcディレクティブに追加します。connect-srcディレクティブは、スクリプトが呼び出すことができるURLに影響します(たとえば、XMLHttpRequestインターフェイスを使用)。特にこのディレクティブに関するCSP制限がある場合は、このURLを例外として追加してください。

nonce サポート

ブラウザ エージェント1.247.0以降、エージェントは追加のコード チャンクを読み込むときに、インライン スクリプトに付加されたnonce属性を尊重します。サイトまたはインフラストラクチャがインライン ブラウザ エージェント スクリプトにnonce属性を挿入できる場合は、 connect-srcに対する CSP 例外をリクエストするだけで済みます。

重要

統合されたnonceサポートは、ブラウザ エージェントの npm パッケージの使用には適用されません。npm パッケージを使用すると、エージェントはサイトまたはアプリのコードの一部になります。追加のチャンクのロードはアプリ コードを通じて行われ、 nonce属性をいつ使用するか、使用するかどうかを完全に制御できます。

ブラウザ エージェントを挿入できる一部の APM エージェントは、挿入されたスクリプトへのnonce属性の追加もサポートしています。

APMエージェント

最小バージョン

サポートノート

Go

2.5.0

Transaction.BrowserTimingHeader API を介した JavaScript スニペットの挿入をサポートします。スクリプト要素を変更してnonce属性を追加するには、追加のコードを記述する必要があります。「Go アプリのブラウザ監視を追加する」を参照してください。

Java

7.6.0

getBrowserTimingHeaderおよびgetBrowserTimingFooter API を介したnonceの追加をサポートします。Java エージェントのブラウザ監視に関するドキュメントを参照してください。

.NET

8.39.0.0

GetBrowserTimingHeader API を介したnonceの追加をサポートします。.NET エージェントのブラウザ監視に関するドキュメントを参照してください。

Node.js

4.3.0

getBrowserTimingHeader API を介したnonceの追加をサポートします。Node.js エージェントのブラウザ監視に関するドキュメントを参照してください。

Ruby

7.1.0

browser_timing_header API を介したnonceの追加をサポートします。Ruby エージェントのブラウザ監視に関するドキュメントを参照してください。

プロキシサポート

重要

この機能は現在、コピー/ペーストまたは npm ブラウザーのインストール方法を使用しているユーザーが利用できます。現在、利用可能な UI または NerdGraph 構成オプションはありません。私たちは、これらおよびその他の構成オプションへのアクセスを改善するために引き続き取り組んでいます。

ブラウザ エージェント1.240.0以降では、制御する別のドメインとパスの組み合わせを通じてネットワーク要求をプロキシするようにエージェントを構成できます。プロキシ構成と CSP 設定によっては、New Relic ドメインをscript-srcおよびconnect-srcに追加するための例外をリクエストする必要がない場合があります。エージェントの構成ガイドなどの詳細については、プロキシのドキュメントを参照してください。

サブリソースの完全性 (SRI)

ブラウザ エージェントはコード分割を利用して、コードのインライン スニペットを可能な限り小さくします。エージェントが機能するために必要な追加コードは、実行時にコンテンツ配信ネットワーク (CDN) からロードされます。追加のセキュリティ層として、ブラウザ エージェント1.247.0以降、エージェント スニペットには、実行時にロードされる可能性のあるすべての追加コード チャンクのハッシュが含まれています。これらのハッシュは、CDN からロードされたコードが、CDN 上または中間者攻撃による転送中に意図せずに変更されていないことを確認するためにブラウザーによって使用されます。

重要

SRI ハッシュは、ブラウザー エージェントの npm パッケージの使用には適用されません。npm パッケージを使用すると、エージェントがサイトまたはアプリのコードの一部となり、生成されたハッシュが無効になります。

SRI セキュリティの仕組みの詳細については、この MDN 記事を参照してください

Copyright © 2024 New Relic株式会社。

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.