すべてのプロダクト
Search
ドキュメントセンター

Application Real-Time Monitoring Service:JDK 17 上の Java アプリケーションにおけるモニタリングデータの欠落

最終更新日:Mar 12, 2026

JDK 17 で実行されている Java アプリケーションを Application Real-Time Monitoring Service (ARMS) に接続した後、ARMS コンソールにモニタリングデータが表示されない場合があります。この問題は、ARMS エージェントのバージョンが JDK 17 をサポートしていない場合、または古い Servlet API の依存関係がエージェントのインストルメンテーションロジックを妨げている場合に発生します。

原因 1:ARMS エージェントのバージョンが JDK 17 をサポートしていない

JDK 17 のサポートは、ARMS エージェント V2.8.3 で導入されました。ご利用のエージェントが V2.8.3 より古い場合、JDK 17 で実行されているアプリケーションをインストルメント化できず、モニタリングデータは収集されません。

バージョン要件

アプリケーションフレームワークARMS エージェントの最小バージョン
JDK 17 (Spring Boot 3.0 なし)V2.8.3
JDK 17 と Spring Boot 3.0V2.9.1.2

ARMS エージェント V2.8.3 は JDK 17 をサポートしていますが、Spring Boot 3.0 はサポートしていません。Spring Boot 3.0 には JDK 17 が必要です。アプリケーションで Spring Boot 3.0 を使用している場合は、ARMS エージェントを V2.9.1.2 以降にアップグレードしてください。

ソリューション

ARMS エージェントを、ご利用のアプリケーションフレームワークに適合するバージョンにアップグレードします。アップグレード手順については、ARMS エージェントのアップグレードに関するドキュメントをご参照ください。

修正の確認

  1. アップグレード後、アプリケーションを再起動します。

  2. ARMS エージェントの起動ログを調べて、正しいエージェントバージョンがロードされていることを確認します。エージェントのバージョン番号を含むログエントリを探してください。

  3. ARMS コンソールを開き、アプリケーションのモニタリングページに移動します。

  4. 数分以内にモニタリングデータが表示されることを確認します。

原因 2:古い Servlet API の依存関係による不適切なインストルメンテーション

Spring Boot 3.0 以降、組み込みの Apache Tomcat は Tomcat 10 にアップグレードされ、Servlet 5.0 を使用するようになりました。このバージョンでは、Servlet API のパッケージ名が javax から jakarta に変更されました。

ARMS エージェントは、Servlet API のパッケージ名を使用して、インストルメンテーションを適用する場所を決定します。アプリケーションの POM の依存関係に、アプリケーションが実際には使用しない古い Servlet API バージョン (javax パッケージ名を使用するもの) が含まれている場合、エージェントは誤ったパッケージ名を検出し、jakarta の代わりに javax にインストルメンテーションを適用します。その結果、インストルメンテーションは有効にならず、コンソールにはモニタリングデータが表示されません。

確認方法

プロジェクトの pom.xml を調べて、javax 名前空間を使用する Servlet API の依存関係がないか確認します:

<!-- 例:問題を引き起こす古い依存関係 -->
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>4.0.1</version>
</dependency>

お使いの Spring Boot 3.0 アプリケーションにこのような依存関係が含まれているものの、実際には使用されていない場合、ARMS エージェントがインストルメンテーションのターゲットを誤って識別する可能性があります。

ソリューション

次のいずれかのアプローチを選択します:

  • 未使用の Servlet API の依存関係を削除する。 アプリケーションで不要な場合は、pom.xml から javax.servlet の依存関係を削除します。これにより、ARMS エージェントが正しい jakarta パッケージ名を検出できるようになります。

  • ARMS エージェントを V3.2.0 以降にアップグレードする。 ARMS エージェント V3.2.0 では、POM 内の古い依存関係に関係なく、アクティブな Servlet API パッケージ名を正しく識別することで、この問題が修正されています。V3.2.0 にアップグレードするには、チケットを送信してください。

修正の確認

  1. 未使用の依存関係を削除するか、ARMS エージェントをアップグレードした後、アプリケーションを再起動します。

  2. ARMS エージェントの起動ログを調べて、エージェントが正常にロードされたことを確認します。

  3. ARMS コンソールを開き、アプリケーションのモニタリングページに移動します。

  4. 数分以内にトレースやメトリックなどのモニタリングデータが表示されることを確認します。

クイックリファレンス

症状考えられる原因修正方法
データなし、ARMS エージェントが V2.8.3 より古いエージェントが JDK 17 をサポートしていないV2.8.3 以降にアップグレード
データなし、Spring Boot 3.0 アプリ、ARMS エージェントが V2.9.1.2 より古いエージェントが Spring Boot 3.0 をサポートしていないV2.9.1.2 以降にアップグレード
データなし、Spring Boot 3.0 アプリ、POM に古い javax.servlet 依存関係ありエージェントが誤ったパッケージ名にインストルメンテーションを適用古い依存関係を削除するか、V3.2.0 以降にアップグレード