問題
を使用してアプリケーションを構成したばかりの場合は、データが表示されるまで数分お待ちください。 すでに数分間待ってもデータが表示されない場合は、次のトラブルシューティングのヒントを試してください。 これらのヒントの一部は、ブラウザ監視で 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 エラー モニターは、ブラウザ監視の機能を妨げる可能性があります。
アプリケーションが主にセキュリティで保護されたローカルネットワーク内にロードされている場合は、ユーザーがブラウザデータを報告するために必要なネットワークエンドポイントに到達できることを確認してください。これには、NewRelicの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つだけを使用してください。両方を使用すると、コードが再び壊れます。