問題
を使用してアプリケーションを構成したばかりの場合は、データが表示されるまで数分お待ちください。 すでに数分間待ってもデータが表示されない場合は、次のトラブルシューティングのヒントを試してください。 これらのヒントの一部は、ブラウザ監視が JavaScript スニペットをAPM - モニター アプリに自動的に挿入できるようにして アプリ をデプロイするか、JavaScript スニペットを自分で挿入するかによって異なります。
解決
推奨事項: 特定のトラブルシューティング手順に従う前に、診断browserチェックを実行してください。 Diagnostics CLI がダウンロードされると、 browserコマンドライン オプション /nrdiag -browser-url YOUR-WEBSITE-URL -suites browser
を実行してチェックします。 Diagnostics CLI から返された情報は、New Relic サポートとの通信時に使用できます。
ブラウザ監視エージェントが エージェントを持つアカウント モニターにデプロイされていた場合は、 APM紹介」を参照してください。 ブラウザ監視エージェントが JavaScript のコピー/貼り付け方式を使用してデプロイされた場合は、 「コピー/貼り付けのデプロイメント」を参照してください。 どちらを持っているかわからない場合は、診断ツールは エンタープライズ メソッドを返します。
AJAXまたは セッショントレースデータのみが欠落している状況をトラブルシューティングすることもできます。
APMエージェントを介した展開
これらのトラブルシューティング手順は、ブラウザ監視エージェントがAPMエージェントによってすでに監視されているアプリにインストールされている場合の問題に適用されます。
最近のエージェントは、ページ読み込みタイミング スクリプトをより正確に配置します。 これらのトラブルシューティングのヒントを続行する前に、 APMエージェントが 最新リリース であることを確認してください。
ヒント
ページの読み込みタイミングに関するエージェントのバージョン要件については、互換性と要件を参照してください。
ページのソースで、メトリックをキャプチャしてNewRelicに送信するために必要な2つのスクリプト要素を確認してください。ブラウザで、ページのソースを表示し、次のように先頭近くのスクリプト要素を探します。
<script type="text/javascript">
(window.NREUM||(NREUM={})).loader_config={xpid:"VRUGVVJS";window.NREUM||(NREUM={}),__nr_require=function a(b,c,d){ ...
またはこのように:
<script type="text/javascript">
window.NREUM||(NREUM={}),__nr_require=function a (b,c,d){ ...
また、アプリサーバーエージェントの言語に応じて、2番目のスクリプト要素が2つの場所のいずれかに存在することを確認します。
- Go: 該当なし
- Java:
</body>
タグの前 (欠落している場合はページに追加する必要があります) - .NET: 最初のスクリプト要素の直前
- Node.js: 最初のスクリプト要素の直前
- PHP: body要素の末尾
- Python: ヘッド要素内またはボディ要素の末尾
- Ruby: 最初のスクリプト要素の直前
2番目のタグには、構成データとタイミングデータが含まれており、次のようになります。
<script type="text/javascript">
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={}),__nr_require=function a (b,c,d){ ...
スクリプト要素が見つからない場合は、それを貼り付けて新しいコードをデプロイしたことを確認してください。 JavaScript スニペットをまだ貼り付けていない場合は、ブラウザ アプリのSettingsページから再度コピーできます。 該当する場合は、これらのページを提供するアプリケーションを再起動します。
それでもスクリプトが表示されない場合は、次の手順でトラブルシューティングを続けてください。
アプリケーションが提供するページにJavascriptスニペットを表示するには、コードを追加する前のページのキャッシュバージョンがすべてクリアされていることを確認してください。
- CDNキャッシュを確認します。
- Webサーバーのキャッシュをフラッシュします。
JavaScriptをhead
の先頭にできるだけ近づけて挿入しますが、位置に依存するmeta
タグ(X-UA-Compatibleおよびcharset)の後に挿入します。コメントの外にある必要があります。一般的な形式の例を次に示します。
{PLACE NEW RELIC SCRIPT TAG HERE}
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つだけを使用してください。両方を使用すると、コードが再び壊れます。