本文へスキップ

オープンソーストレース

Javaアプリケーションで使用するフレームワークやオープンソースライブラリをエージェントを通じてトレースする設定方法を提供します。これはJavaエージェント設定ファイル(whatap.conf)にweavingオプションを追加して設定し、様々なフレームワークおよびライブラリバージョンに対応する方法を案内します。

例えば、フレームワークやオープンソースとしてspring-boot-3.x、feign-client-11、okhttp3-4.4を使用する場合、次のようにオプションを設定してください。

whatap.conf
weaving=spring-boot-3.0,feign-11,okhttp3-4.4

サポートされるオープンソースリスト

Javaエージェントを通じてトレースしているフレームワークまたはオープンソースに対する設定方法は、次を参照してください。

Apache Camel

CXF

camel-cxf Version設定値エージェント最小バージョン
3.15 以上weaving=camel-cxf-3.15v2.2.27

Netty

camel-netty4 Version設定値エージェント最小バージョン
2.25 以上weaving=camel-netty4-2.25v2.2.42

SEDA

camel-seda Version設定値エージェント最小バージョン
2.22 以上weaving=camel-seda-2.22v2.2.20
3.2 以上weaving=camel-seda-3.2v2.2.20

DB2

DB2 Version設定値エージェント最小バージョン
11.5 以上weaving=db2-11.5v2.2.18

DynamoDB

DynamoDB Version設定値エージェント最小バージョン
1.11weaving=dynamodb-1.11v2.2.39
2.25weaving=dynamodb-2.25v2.2.39

Feign Client

Feign Version設定値エージェント最小バージョン
11 以上weaving=feign-11v2.2.6

Hystrix

Hystrix Version設定値エージェント最小バージョン
1.5 以上weaving=hystrix-1.5v2.0_21

Kafka

Kafka Version設定値エージェント最小バージョン
kafka-clients 2.4.0 以上weaving=kafka-clients-2.4.0v2.2.15
reactor-kafka 1.3 以上weaving=reactor-kafka-1.3v2.2.5

Logging

Log4j2

Log4j2 Version設定値エージェント最小バージョン
2.17 以上weaving=log4j-2.17v2.2.28

Logback

Logback Version設定値エージェント最小バージョン
1.2.8 以上weaving=logback-1.2.8v2.2.28

MongoDB

MongoDB Version設定値エージェント最小バージョン
3.8.2 以上weaving=mongodb-3.8v2.2.11
4.0.3 以上weaving=mongodb-4.0v2.2.11
4.4 以上weaving=mongodb-4.4v2.2.11
4.8 以上weaving=mongodb-4.8v2.2.11
4.11 以上weaving=mongodb-4.11v2.2.45
5.0 以上weaving=mongodb-5.0v2.2.45

Mule Framework

Mule Version設定値エージェント最小バージョン
3.9.5 以上weaving=mule-3.9.5v2.2.23
4.5 以上weaving=mule-4.5v2.2.23

OkHttp

OkHttp Version設定値エージェント最小バージョン
2.7 以上weaving=okhttp-2.7v2.0_15
3.xweaving=okhttp3v2.0_15
3.x (4.4 以上)weaving=okhttp3-4.4v2.2.9

Quarkus Reactive

Quarkus Reactive Version設定値エージェント最小バージョン
1.13 以上weaving=quarkus-reactive-1.13v2.2.19
2.10 以上weaving=quarkus-reactive-2.10v2.2.19

RabbitMQ

reactor-rabbitmq Version設定値エージェント最小バージョン
1.2 以上weaving=reactor-rabbitmq-1.2v2.0_06

Redis

Jedis

Jedis Version設定値エージェント最小バージョン
2.9.0 以上weaving=jedis-2.9v2.2.43
2.9.3 以上weaving=jedis-2.9v2.0_33
3.2 以上weaving=jedis-3.2v2.0_09

Lettuce

Lettuce Version設定値エージェント最小バージョン
5.1 以上weaving=lettuce-5.1v2.2.7
6.2 以上weaving=lettuce-6.2v2.2.16

Retrofit

Retrofit Version設定値エージェント最小バージョン
2.5 以上weaving=retrofit-2.5v2.2.39
注意

okhttp設定と同時使用不可

Ribbon

Ribbon Version設定値エージェント最小バージョン
全バージョンweaving=ribbonv2.2.10

Spring Boot

Spring Boot Version設定値エージェント最小バージョン
2.1 以上weaving=spring-boot-2.1v2.2.23
2.5 以上weaving=spring-boot-2.5v2.2.9
2.7 以上weaving=spring-boot-2.7v2.2.9
3.0 以上weaving=spring-boot-3.0v2.2.9
3.2 以上weaving=spring-boot-3.2v2.2.38
4.0 以上weaving=spring-boot-4.0v2.2.69
含まれる技術スタックを表示
  • spring-boot-2.1: r2dbc-mysql-0.8.2, spring-cloud-gateway-2.1, spring-kafka-2.7, spring-webflux-5.1, tomcat9
  • spring-boot-2.5: r2dbc-mysql-0.8.2, spring-cloud-gateway-3.0, spring-kafka-2.7, spring-webflux-5.3, mongodb-4.0.3, reactor-kafka-1.3, rxjava2, tomcat9
  • spring-boot-2.7: jasync-r2dbc-mysql-2.1.23, r2dbc-mysql-0.9.3, spring-cloud-gateway-3.1, spring-kafka-3.0, spring-webflux-5.3, mongodb-4.4, reactor-kafka-1.3, rxjava2, tomcat9
  • spring-boot-3.0: jasync-r2dbc-mysql-2.1.23, r2dbc-mysql-1.0.2, spring-cloud-gateway-4.0, spring-kafka-3.0, spring-webflux-6.0, mongodb-4.8, redis(lettuce-6.2), reactor-kafka-1.3, rxjava3, tomcat10
  • spring-boot-3.2: jasync-r2dbc-mysql-2.1.23, r2dbc-mysql-1.1.3, spring-cloud-gateway-4.1, spring-kafka-3.1, spring-webflux-6.1, redis(lettuce-6.2), reactor-kafka-1.3, rxjava3, tomcat10
  • spring-boot-4.0: RestTemplate, RestClient, WebClient, R2DBC

Tomcat

Tomcat Version設定値エージェント最小バージョン
9.xweaving=tomcat9v2.2.5
10.xweaving=tomcat10v2.2.5

Undertow

Undertow Version設定値エージェント最小バージョン
2.2 以上weaving=undertow-2.2v2.2.39
2.3 以上weaving=undertow-2.3v2.2.14

Vert.x

Vert.x Version設定値エージェント最小バージョン
3.5.3weaving=vertx-3.5v2.2.42
3.9weaving=vertx-3.9v2.2.44
4.5weaving=vertx-4.5v2.2.39

JavaエージェントのCVE誤検知防止

Javaエージェントに含まれるライブラリクラスは、アプリケーションで実際に使用する時のみロードされます。CVE脆弱性検査時にライブラリが検出されても、使用していなければ実際の脆弱性はありません。

不要なトレースクラスを削除するには、次のコマンドを実行してください。

java -cp whatap.agent-X.Y.Z.jar whatap.agent.setup.RemoveWeaving -remove [weaving jar filename]
注意

Javaエージェントアップデート時には、削除作業を再度実行する必要があります。

ノート

特定のライブラリクラスを削除するコマンドは、Javaエージェント2.2.37バージョン以上でサポートされます。

使用法: java -cp whatap.agent-X.Y.Z.jar whatap.agent.setup.RemoveWeaving [arguments] [weaving jar filename]

Example
java -cp whatap.agent-2.2.37.jar whatap.agent.setup.RemoveWeaving -remove spring-boot-2.5.jar spring-boot-2.7.jar

Arguments:

  • -r または -remove: Javaエージェントからweaving jarファイルを削除し、新しいJavaエージェントを生成します。

  • -l または -list: weaving jarファイルリストを出力します。

  • -d または -debug: デバッグロギング(debug logging)を有効化します。

  • -e または -error: エラーに対するフルスタックトレース情報を表示します。

  • -h または -help: ヘルプを出力して終了します。