問題
を使用してアプリケーションを構成したばかりの場合は、データが表示されるまで数分お待ちください。 すでに数分間待ってもデータが表示されない場合は、次のトラブルシューティングのヒントを試してください。 これらのヒントの一部は、ブラウザ監視で JavaScript スニペットをAPM モニター アプリに自動的に挿入できるようにして アプリをプロイメントするか、直接配置 または NPM パッケージを通じて JavaScript スニペットを挿入するかによって異なります。
解決
推奨事項: Diagnostics CLI がダウンロードされたら、 browserはコマンドライン オプション: /nrdiag -browser-url YOUR-WEBSITE-URL -suites browser
を実行してチェックします。 Diagnostics CLI から返された情報は、New Relic サポートとの通信時に使用できます。
ブラウザ監視エージェントがエージェント付きのアカウント モニターのデプロイだった場合は、 APMデプロイメントをご覧ください。 ブラウザ監視エージェントが JavaScript のコピー/ペースト方法を使用してデプロイされた場合は、 「コピー/ペーストのデプロイメント」を参照してください。 NPM 経由のインストールには、プロジェクトのビルドとバンドラーに応じて異なるため、自己トラブルシューティングが必要です。 どちらを使用しているかわからない場合、診断ツールはデプロイメント メソッドを返します。
AJAXまたは セッショントレースデータのみが欠落している状況をトラブルシューティングすることもできます。
APMエージェントを介した展開
これらのトラブルシューティング手順は、ブラウザ監視エージェントがAPMエージェントによってすでに監視されているアプリにインストールされている場合の問題に適用されます。
最近のエージェントは、ページ読み込みタイミング スクリプトをより正確に配置します。 これらのトラブルシューティングのヒントを続行する前に、 APMエージェントが 最新リリース であることを確認してください。
ヒント
ページの読み込みタイミングに関するエージェントのバージョン要件については、互換性と要件を参照してください。
ページのソースで、メトリックをキャプチャしてNewRelicに送信するために必要な2つのスクリプト要素を確認してください。ブラウザで、ページのソースを表示し、次のように先頭近くのスクリプト要素を探します。
<script type="text/javascript">
;window.NREUM||(NREUM={});NREUM.init={ ...
また、HTML のどこかに次のような行が存在することを確認します。
window.NREUM||(NREUM={});NREUM.info={"beacon":"bam.nr-data.net","errorBeacon":"bam.nr-data.net"...
いずれかのスクリプト要素が欠落している場合は、次の手順でトラブルシューティングを続行します。スクリプト要素が存在し、数分経ってもデータが表示されない場合は、 support.newrelic.comでサポートを受けてください。
Web ページに JavaScript エラーが表示される場合、または New Relic UI のErrorsページにデータが表示されない場合は、アプリで他の JavaScript エラー監視フレームワークが有効になっているかどうかを確認してください。 一部の JavaScript エラー モニターは、ブラウザ監視の機能を妨げる可能性があります。
New Relicの自動インストルメンテーション機能を使用している場合は、エージェントが適切に構成されていることを確認してください。各エージェントには、構成ファイルの設定と、自動計測をオンまたはオフにするための特定の手順があります。
New RelicエージェントAPIを手動で呼び出してJavaScriptを生成および挿入する場合は、呼び出しが実際に行われていることを確認してください。APIとその使用方法は、エージェントに固有です。
APMエージェントの構成ファイルを変更した場合は、変更された設定を取得できるように、必ずアプリケーションを再起動してください。
- Javaエージェント:アプリサーバーの「作業」キャッシュをフラッシュします。これにより、アプリサーバーが強制的に再コンパイルされます。
- .NET エージェント: コマンド
flush_dotnet_temp.cmd
を使用して、 asp.netキャッシュ ディレクトリがクリーンであることを確認します。 これにより、アプリ サーバーはページ読み込みのタイミングで ASP を再コンパイルするようになります。
アプリケーションが主にセキュリティで保護されたローカルネットワーク内にロードされている場合は、ユーザーがブラウザデータを報告するために必要なネットワークエンドポイントに到達できることを確認してください。これには、NewRelicのCDNとビーコンが含まれます。
JavaScriptのコピー/貼り付けによるデプロイ
これらのトラブルシューティング手順は、 HTMLのコピー/貼り付け方法を使用してNewRelicのブラウザ監視エージェントがデプロイされた場合の問題に適用されます。
メトリックをキャプチャしてNewRelicに送信するために必要なスクリプト要素については、ページのソースを確認してください。ブラウザで、ページのソースを表示し、次のように先頭近くのスクリプト要素を探します。
<script type="text/javascript">
;window.NREUM||(NREUM={});NREUM.init={ ...
スクリプト要素が見つからない場合は、それを貼り付けて新しいコードをデプロイしたことを確認してください。 JavaScript スニペットをまだ貼り付けていない場合は、ブラウザ アプリのSettingsページから再度コピーできます。 該当する場合は、これらのページを提供するアプリケーションを再起動します。
それでもスクリプトが表示されない場合は、次の手順でトラブルシューティングを続けてください。
アプリケーションが提供するページにJavascriptスニペットを表示するには、コードを追加する前のページのキャッシュバージョンがすべてクリアされていることを確認してください。
- CDNキャッシュを確認します。
- Webサーバーのキャッシュをフラッシュします。
JavaScriptをhead
の先頭にできるだけ近づけて挿入しますが、位置に依存するmeta
タグ(X-UA-Compatibleおよびcharset)の後に挿入します。コメントの外にある必要があります。一般的な形式の例を次に示します。
{PLACE NEW RELIC SCRIPT TAG HERE}
Javascript が正しく配置されている場合は、ユーザーに提供される最終的な HTML と元の貼り付けられたスニペットを比較して、完全かつ同一であることを確認します。 不完全なスニペットや変更されたスニペットは正しくレポートされない可能性があります。 これは、適切な方法を使用せずにレンダリングされた生の JavaScript をサニタイズまたは変更しようとするフレームワークで発生する可能性があります。
Web ページに JavaScript エラーが表示される場合、または New Relic UI のJavaScript errorsページにデータが表示されない場合は、アプリで他の JavaScript エラー監視フレームワークが有効になっているかどうかを確認してください。 一部の JavaScript エラー モニターは、ブラウザ監視の機能を妨げる可能性があります。
アプリケーションが主に安全なローカル ネットワーク内に読み込まれる場合は、ユーザーがブラウザ データを報告するために必要なネットワーク エンドポイントに到達できることを確認してください。 これには、New Relic のCDN とビーコンが含まれます。
Razor Frameworkを使用する.NETアプリでコピー/貼り付けのインストール方法を使用すると、次のエラーが発生する可能性があります。
Parser Error Message: "").pop().split("" is not valid at the start of a code block. Only identifiers, keywords, comments, "(" and "{" are valid.
error CS0103: The name 'nr' does not exist in the current context
このエラーは、ブラウザ監視用のJavaScriptスニペットの@
記号が原因で発生します。@
記号は、Razorのコードブロックの始まりを表します。問題の原因となる行は次のとおりです。
.split("@").pop().split(":")
この問題を解決するには、次の回避策のoneを使用します。
回避策の1つだけを使用してください。両方を使用すると、コードが再び壊れます。