• ログイン今すぐ開始

本書は、お客様のご参考のために原文の英語版を機械翻訳したものです。

英語版と齟齬がある場合、英語版の定めが優先するものとします。より詳しい情報については、本リンクをご参照ください。

問題を作成する

クロスアプリケーショントレースのトラブルシューティング

ここでは、 クロスアプリケーショントレース を使用する際のトラブルシューティングのヒントを紹介します。なお、この機能は、クロスアプリケーショントレースよりも優先される distributed tracing とは異なります。

エージェントのバージョンとプロトコル

お使いのエージェントのバージョン、プロトコル、インターフェース、またはメッセージ・キュー・ライブラリについて、これらの要件を満たしていることを確認してください。ここに記載されていないプロトコルを使用している場合は、アプリケーション間の接続が表示されません。

エージェントバージョン

メモ

C SDK

Use distributed tracing.

Go 1.11以降

HTTP、HTTPS

Java 3.9.0以降

HTTP、HTTPs、JMS 1.1、RabbitMQ

また、Javaエージェントは、JMS 1.1インターフェースを使用するものを含む、いくつかのメッセージキューライブラリをサポートしています。

.NET 4.2以降

HTTP、および サポートされている .NET メッセージングシステム

Node.js 2.0.0以降

HTTP、HTTPS、RabbitMQ

PHP 4.19.0以降

HTTP、HTTPS、および をサポートする PHP メッセージキューイングシステム

Python 2.38.0.31以降

HTTP、HTTPS、および をサポートする Python メッセージキューイングシステム

Ruby 4.3.0以降

HTTP, HTTPS, RabbitMQ

コンフィグファイルの要件

一般的に、New Relic のクロスアプリケーショントレース機能は、デフォルトで有効になっています。設定ファイルを変更する要件は、お使いのNew Relicエージェントによって異なります。

  • C SDK(サポート対象外)
  • Go(サポート外)
  • Java
  • .NET
  • Node.js (Node.jsには特定のコンフィグファイルの設定は必要ありません)
  • PHP
  • Python
  • Ruby

ハイスループットアプリ

クロスアプリケーショントレースは、関連するトランザクションを関連付けるために、トランザクションイベントに依存しています。高スループットのアプリケーションを使用している場合、エージェントは1分間に記録できるイベントの最大数に達し、イベントのサンプリングに戻ってしまうことがあります。トランザクションのイベントがサンプリングされると、不完全なクロスアプリケーショントレースが表示され、注目しているトランザクションのみが含まれることがあります。

アプリケーションのスループットが高い場合、一部のクロスアプリケーショントレースが不完全に表示され、リンクがないこともあります。別のトランザクショントレースを表示してみてください。サンプリングを減らしたり、なくしたりするために、エージェント構成に保存されているトランザクションイベントの数を調整することもできます。

ハイスループットアプリ

トラブルシューティングのヒント

Java

transaction_events stanzaから、 setting for max_samples_stored を調整します。

Ruby

設定の調整 analytics_events.max_samples_stored.

プロキシ

クロスアプリケーショントレースのリンクが表示されることを期待しているのに、一貫して表示されない場合、アプリケーションの通信の間にプロキシやブローカーが存在する可能性があります。クロスアプリケーショントレースは、あるアプリケーションから他のアプリケーションへ渡されるHTTPヘッダーとJMSプロパティに依存しています。HTTPプロキシやメッセージブローカーは、これらのヘッダを取り除くことがあります。

マルチスレッド処理(Java)

お使いのJavaアプリケーションの1つまたは複数が、非同期または"リアクティブ" プログラミングモデルを使用している場合、トランザクションのアクティビティが複数のスレッドにまたがることがあります。New Relic は Play フレームワークと Servlet Async をサポートしていますが、すべての非同期フレームワークをサポートしているわけではありません。サポートされていないフレームワークの場合、他のスレッドでのアクティビティはトランザクションの一部として報告されません。また、他のアプリケーションへの呼び出しはトレースされません。

マルチアカウント

現在、クロスアプリケーショントレースは New Relic アカウントをまたぐことはありません。複数の New Relic アカウント (子アカウントを含む) をお持ちの場合は、1 つのアカウント内のアプリケーションのトレースのみが表示されます。

当社の 分散型トレース 機能は、アカウントの境界を越えています。

Copyright © 2022 New Relic株式会社。