トラブルシューティング
Instana の監視において、次のような問題が発生する可能性があります。
JVM 8 ではサポートされていません
監視対象の種類: java_8_unmonitored_version
この監視レポートは、お使いの Java アプリケーションが、 1.8.0_40 より前のバージョンの Java 8ホットスポット仮想マシン上で実行されていることを示しています。 Instana そのようなホットスポット仮想マシン上で実行されている Java アプリケーションについては、同仮想マシンに深刻なバグがあり、互換性の問題やクラッシュを引き起こすため、監視対象外となっています。
この問題を解決するには、 JVM を新しいバージョン(できればJDK 8 252以降)または別の Java の長期サポート(LTS)リリースに更新してください。
Instana でサポートされている JVM に関する詳細については、 JVM のサポートドキュメントを参照してください。
非互換エージェントの検出
監視対象の種類: jvm_incompatible_agent_detected
この監視エラーは、 Instana エージェントが、 JVM に接続されている互換性のないエージェントを検出したことを示しています。 JVM で問題が発生するのを防ぐため、 Instana エージェントは、 JVM 内で実行されているアプリケーションからのトレースデータを収集しません。 この中断により、アプリケーション・パースペクティブ、サービス、およびエンドポイントに関連するデータが欠落したり、アプリケーション・パースペクティブ、サービス、およびエンドポイントへの呼び出しのドロップに関する誤ったアラートが発生したりする可能性があります。
この問題を解決するには、 JVM から互換性のないエージェントを削除してください。
動的なアタッチメントの問題
監視対象の種類: jvm_attach_socket
この監視レポートは、 JVM の添付ファイル機能が固まっていることを示しています。これは、 JVM の長年のバグが原因で時折発生することが知られています。 その結果、 JVM は、動的アタッチ中に使用される通信ソケットに接続できなくなります。
この問題を解決するには、 JVM を再起動してください。
ネットワーク可視性の問題
監視対象の種類: jvm_attach_network
この問題は、 JVM およびホストエージェントからのネットワーク可視性の問題により、 JVM の監視機能が正常に動作していないことを示しています。 この障害を防ぐには、「 ネットワーク要件 」のドキュメントに記載されているとおり、 JVM からホストエージェントに確実にアクセスできることを確認してください。 コンテナー化された環境では、この問題を回避するためにネットワーク・ポリシーと構成を確認してください。
接続ツールの欠落
指定されたディレクトリが見つかりません
監視対象の種類: jvm_attach_directory
この問題は、添付ファイル・ディレクトリーが見つからなかったために動的添付ファイルが失敗したことを示しています。
この問題を解決するには、以下のいずれかのアクションを実行します。
- ホストエージェントの JVM プロセスと、ターゲットの JVM プロセスが、一時ディレクトリの場所を指定する環境変数の設定が同一になるように起動されていることを確認してください
- 対象の JVM プロセスに対し、動的添付ファイル用の作業ファイルを、エージェントがデフォルトで期待する場所に配置するよう指示します。 POSIX 準拠のシステムで IBM J9 を使用する場合、ターゲットとなる JVM プロセスを起動する際に、以下のコマンドライン引数を指定してください:
-Dcom.ibm.tools.attach.directory=/tmp/.com_ibm_tools_attach
instrumentation-shared.jar ファイルが見つかりません
監視対象の種類: jvm_instrumentation_shared_absent
この監視エラーは、javaagent-loaderが JVM に接続されている際に、ファイルが /tmp/.instana/instrumentation-shared-<version>-<pid>-<string>.jar 削除されたことを示しています。 このファイルは、特定のコンフィギュレーションで実行時に必要となる。 このファイルがないと、java-tracingが正しく動作しない可能性がある。 実行時にファイルが削除された場合、java-tracerは警告を出し、更新されなくなることがあります。
この問題を解決するため、エージェントは JVM への接続を自動的に切断し、新しい接続を開始します。
カスタムクラスローダーを使用している JVM では、添付ファイルがサポートされていません
監視対象の種類: jvm_custom_classloader_unsupported
この監視レポートは、エージェントが、ターゲットの JVM が「カスタムシステムクラスローダー」を使用して起動されたことを検出したことを示しています。 このようなJVMでは、カスタム・クラスローダーがエージェントの計測に必要なデフォルトのクラス読み込み動作を変更してしまうため、動的アタッチメントはサポートされていません。
この場合、 JVM は通常、次の引数とともに起動されます:
-Djava.system.class.loader=com.sas.app.AppClassLoader
このオプションは、デフォルトのシステム・クラスローダーをカスタム実装に置き換えるもので、これにより、エージェントが実行時にクラスへの計測や注入を行うことができなくなる可能性があります。 その結果、これらのJVMはアタッチ前に除外され、この監視イベントが発生します
一時ファイルを保存するためのディスク容量が不足しています
監視対象の種類: insufficient_disk_space_for_storing_temp_files
実行時、 Instana ホストエージェントは、 $TMP/.instana ディレクトリ内に一時的なJARファイルを作成します。 これらのJARファイルは、 JVM の監視に必要です。 この問題は、ストレージ容量の制限のためにエージェントがモニターしようとするホスト・システムまたはアプリケーション・コンテナー内に、必要な JAR ファイルをロードできないことを示しています。
この問題を軽減するには、フラグ IN_MEMORY_CLASSLOADER=true をシステム・プロパティーまたは環境変数として設定します。 このオプションを有効にすると、 JVM の監視に必要なストレージ容量は 3.5 MBに削減されます。 詳細については、 「環境変数 - ホストエージェント」 を参照してください。
エージェントがデフォルトのポートにバインドできません
監視対象の種類: default_agent_port_unavailable
このモニターの問題は、エージェントがデフォルト・ポート 42699 にバインドできないことを示しています。 その結果、さまざまなセンサーで障害が発生し、フル・キャパシティーでのモニターが不可能になる可能性があります。 詳細については、 「ネットワーク要件」 を参照してください。
この問題を修正するには、ポート 42699 が使用可能であることを確認し、エージェントを再始動してフル・モニターをリカバリーします。
コンテナーの接続が失敗した
監視対象の種類: jvm_attach_container_command
この監視エラーは、コンテナ化された JVM に動的に接続するために使用されたコマンドが失敗したことを示しています。
詳細については、特定のイベント記述の終了コードを参照してください。
IBM J9 クラス共有が有効になっている
監視対象の種類: ibm_jvm_class_sharing_enabled
この監視項目は、この JVM でクラス共有機能が有効になっていることを示しています。 したがって、接続および装備することはできません。 この問題の解決方法の詳細については、 IBM J9 limitations を参照してください。
汎用 JVM 接続の問題
監視対象の種類: jvm_attach_generic
この監視項目は、 JVM に未知の問題が発生していることを示しています。 したがって、このプロセスは追跡できず、 JVM のメトリクスも取得できません。 エージェント・ログで、添付ファイルの失敗の理由に関する詳細を提供する必要があります。 この問題を解決するには、 チケットをファイリング し、ログを含めます。
監視対象の問題の種類: jvm_attach_permission
/tmp/.com_ibm_tools_attach/ ファイルシステム権限が正しくない場合、 Instana エージェントが Java 仮想マシン( JVM )に接続できないときに発生します。 エージェントはターゲットアプリケーションのユーザーコンテキストに切り替わりますが、ディレクトリ構造に適切な permissions.To がない場合、処理が失敗します。これを解決するには、以下の権限を設定してください:ディレクトリ
/tmp/.com_ibm_tools_attach/に777の権限(すべてのユーザーに対する読み取り、書き込み、実行)を設定し、 Java のプロセスがアタッチ情報ファイルを作成できるようにします。このディレクトリ内のアンダースコアで始まるファイルに対して、権限を666(すべてのユーザーに対して読み書き可能)に設定してください。
パフォーマンスの問題
スタックが深いアプリケーションや、複数のスパンを含むリクエストのスタックトレースを取得すると、アプリケーションのパフォーマンスに影響を与える可能性があります。 パフォーマンスを最適化するには、スタックトレースの取得を無効にする必要があります。 詳細については、 「スタックトレースの取得を無効にする」 を参照してください。
重複するログ・スパン
クラスパスに Log4j と SLF4J の両方の依存関係が存在する場合、1つのログメッセージに対して、それぞれのロギングフレームワークごとに1つずつ、計2つのスパンが表示されることがあります。 この現象は、依存 spring-boot-starter-log4j2 関係を使用する際に特に頻繁に発生し、ログスパンが重複することになります。
ログの重複を避けるには、以下のいずれかの手順を実行してください:
- ファイル
pom.xmlからログ関連の依存関係の1つを除外してください。 - 次の例に示すように、ロギング計測プラグインのいずれかを無効にしてください:
この設定により、 SLF4J プラグインが無効化され、 Log4j のトレースのみが保持されるため、1つのログメッセージにつき1つのスパンしか生成されなくなります。com.instana.plugin.javatrace: instrumentation: plugins: Slf4jExit: false
呼び出しの欠落
Java 環境で Instana のトレーサーを使用する場合、以下の制限事項が適用されます:
Instana トレーサーは、アクティブなエントリ・スパンが存在する場合にのみ、発信コールをキャプチャします。 予想される呼び出しが見つからない場合は、その時点でアクティブなトレースが実行されていなかったことが原因である可能性があります。
Java では、この
public static void mainメソッドは、トレーサーがアタッチできる状態になる前に実行が開始または完了してしまう可能性があるため、インスツルメンテーションを行うことができません。Java tracing では、環境変数を使用してルート
INSTANA_ALLOW_ROOT_EXIT_SPAN終了スパンを有効にすることはサポートされていません。
Instana ダッシュボード上の「 IBM MQ 」メッセージのキュー名が正しくない
Instana ダッシュボードでキュー名が正しく表示されない場合は、 IBM MQ のメッセージ宛先ヘッダーを確認してください。 Instana キュー名は、 IBM MQ メッセージの宛先ヘッダーから取得されます。 ヘッダー内の値が正しくない、または一致していないと、キュー名が正しく表示されなくなります。

トラブルシューティング・ステップ
IBM MQ のメッセージ宛先ヘッダーを確認してください
- IBM のメッセージングシステムで、メッセージのプロパティを開きます。
- 宛先ヘッダーフィールド(たとえば、JMSDestination、destination、またはアプリケーション固有のヘッダーなど)を探します。
- その値が、メッセージングブローカーで設定されているキュー名またはトピック名と一致していることを確認してください。
- 値が正しくない場合は、修正してメッセージを再送信し、 Instana のダッシュボードに正しいキュー名が表示されることを確認してください。
サポートに連絡してください
ヘッダーの検証と設定の確認を行った後も、 Instana のダッシュボードに宛先が正しく表示されない場合は、 Instana のサポートまでご連絡ください。