注意
Splunk Distribution of OpenTelemetry Javaは、2024年6月25日をもって非推奨となり、2025年6月30日にサポート終了となります。それまでは、重要なセキュリティ修正とバグ修正のみが提供されます。
新規のお客様は、Splunk Distribution of OpenTelemetry Java の最新バージョンをご利用ください。既存のお客様は、2.5.0以上への移行をご検討ください。移行方法については、OpenTelemetry Java 2.xメトリクスの移行ガイド を参照してください。
Splunk Observability Cloud用のJavaエージェント1.xを設定する(非推奨) 🔗
以下のセクションでは、Splunk Distribution of OpenTelemetry Java独自の新機能を有効にするオプションを含め、Javaエージェント1.xを設定するために利用可能なすべての設定について説明します。
設定方法 🔗
エージェントの設定は2つの方法で変更できます:
環境変数を設定します。例:
export OTEL_SERVICE_NAME=my-java-app
$env:OTEL_SERVICE_NAME=my-java-app
システム・プロパティをランタイム・パラメータとして追加します。例:
java -javaagent:./splunk-otel-javaagent.jar \ -Dotel.service.name=<my-java-app> \ -jar <myapp>.jar
環境変数は、OpenTelemetry エージェントを設定するための望ましい方法です。システムプロパティを指定すると、既存の環境変数を上書きします。
一般設定 🔗
以下の設定は、Splunk Distribution of OpenTelemetry Java 固有のものです:
環境変数 |
説明 |
---|---|
|
組織のレルムの名前、例えば |
|
Splunk Observability Cloud に直接データを送信するための Splunk 認証トークン。デフォルトでは設定されていません。Splunk Observability Cloud インジェスト・エンドポイントにデータを送信する必要がなければ不要です。Splunk Observability Cloudを使用して認証トークンを作成および管理する を参照してください。 |
|
HTTP レスポンス・ヘッダーへのサーバートレース情報の追加を有効にします。詳細については、サーバートレース情報 を参照してください。デフォルト値は |
|
すべてのメトリクスのリソース属性として、完全なコマンド行を追加します。Falseを指定すると、255文字を超えるコマンドは切り捨てられます。 |
トレース設定 🔗
以下の設定は、トレースの制限と属性を制御します:
環境変数 |
説明 |
---|---|
|
インストルメンテーションするサービスまたはアプリケーションの名前。 |
|
報告されたスパンごとに追加されるリソース属性のカンマ区切りリスト。例えば、 |
|
ホスト名またはIPアドレスからのマッピングのカンマ区切りリストを指定して、 |
|
対象メソッド文字列の |
|
特定のメソッドについて |
|
スパンごとの属性の最大数。デフォルト値は無制限です。 |
|
スパンあたりの最大イベント数。デフォルト値は無制限です。 |
|
スパンあたりの最大リンク数。デフォルト値は |
エクスポーターの設定 🔗
以下の設定は、トレースエクスポーターとそのエンドポイントをコントロールします:
環境変数 |
説明 |
---|---|
|
使用するトレース・エクスポーター。カンマ区切りで複数の値を設定できます。 |
|
OTLP gRPC エンドポイント。デフォルト値は |
Splunk Distribution of OpenTelemetry Java は、デフォルトで OTLP gRPC span エクスポーターを使用します。Splunk Observability Cloud に直接データを送信するには、Splunk Observability Cloud に直接データを送信する を参照してください。
サンプラーの設定 🔗
以下の設定はトレースサンプリングをコントロールします:
環境変数 |
説明 |
---|---|
|
使用するサンプラー。デフォルト値は
|
|
セミコロンで区切られた、
|
トレースサンプリングの例 🔗
次の例は、rules
traces sampler を使用して、/healthcheck
エンドポイントを監視から除外する方法を示しています:
export OTEL_TRACES_SAMPLER=rules
export OTEL_TRACES_SAMPLER_ARG=drop=/healthcheck;fallback=parentbased_always_on
除外されたエンドポイントを呼び出した結果として起こるダウンストリームサービスへのリクエストもすべて除外されます。
プロパゲータの構成 🔗
以下の設定はトレース伝搬をコントロールします:
環境変数 |
説明 |
---|---|
|
使用したいプロパゲータのカンマ区切りリスト。デフォルト値は |
旧バージョンの Splunk Distribution of OpenTelemetry Java または SignalFx Java Agent との後方互換性を保つには、b3multi トレースプロパゲータを使用してください:
export OTEL_PROPAGATORS=b3multi
$env:OTEL_PROPAGATORS=b3multi
AlwaysOn Profilingの Java 設定 🔗
以下の設定は、Java エージェントの AlwaysOn Profiling機能を制御します:
環境変数 |
説明 |
---|---|
|
AlwaysOn Profilingを有効にします。デフォルト値は |
|
プロファイラ・ログのコレクタ・エンドポイント。デフォルトでは、 |
|
JDK Flight Recorder ファイルの場所。デフォルト値はローカルディレクトリ ( |
|
記録単位の継続時間。 |
|
JDK Flight Recorder (JFR) ファイルを保存するかどうか。デフォルト値は |
|
コールスタックをサンプリングする頻度をミリ秒単位で指定します。デフォルト値は10000ミリ秒です。 |
|
注釈 OpenJDKのバージョン15.0から17.0.8は、メモリプロファイリングに対応していません。詳しくはJDKバグシステムの https://bugs.openjdk.org/browse/JDK-8309862 を参照してください。 システム・プロパティ: |
|
単位時間あたりのスタック・トレースで表される、メモリ・プロファイリング・データのレート制限。 |
|
TLAB メモリイベントを有効にするかどうか。デフォルト値は、 |
|
エージェント内部スレッドのスタックトレースと JDK 内部フレームのスタックトレースを含めるかどうか。デフォルト値は |
|
スパンコンテキストにリンクされているスタックトレースのみを含めるかどうか。デフォルト値は |
AlwaysOn Profilingの詳細については、Splunk APMのAlwaysOn Profilingの概要 を参照してください。
メトリクス収集設定 🔗
注釈
OpenTelemetryのネイティブメトリクスから移行するには、OpenTelemetry Java 2.xメトリクスの移行ガイド を参照してください。
以下の設定は、Java エージェントのメトリクス収集を制御します:
環境変数 |
説明 |
---|---|
|
システム・プロパティ: |
|
OTelコレクタのメトリクスエンドポイント。デフォルトは |
|
非推奨。代わりに |
サーバートレース情報 🔗
モバイルおよびウェブアプリケーションからのリアルユーザーモニタリング(RUM)リクエストとサーバートレース・データを接続するために、トレース・レスポンス・ヘッダーがデフォルトで有効になっています。インストルメンテーションは、HTTP レスポンスに以下のレスポンス・ヘッダーを追加します:
Access-Control-Expose-Headers: Server-Timing
Server-Timing: traceparent;desc="00-<serverTraceId>-<serverSpanId>-01"
Server-Timing
ヘッダーは、traceId
と spanId
パラメータを traceparent
形式で含みます。詳しくは、W3CウェブサイトのServer-Timingとtraceparentのドキュメントを参照してください。
以下のサーバー・フレームワークとライブラリは、Server-Timing
の情報を追加します:
Servlet API バージョン 2.2 から 4.X。
Nettyバージョン3.8から4.0。
注釈
トレース・レスポンス・ヘッダーを無効にする必要がある場合は、SPLUNK_TRACE_RESPONSE_HEADER_ENABLED
を false
に設定します。
その他の設定 🔗
環境変数 |
説明 |
---|---|
|
Javaエージェントの自動インストルメンテーションをグローバルに有効にします。デフォルト値は |