Splunk Observability Cloud 用の Ruby エージェントを設定する 🔗
Splunk Distribution of OpenTelemetry Ruby の Ruby エージェントを、インストルメンテーションのニーズに合わせて設定することができます。ほとんどの場合、基本的な設定を変更するだけで十分です。
以下のセクションでは、Splunk Distribution of OpenTelemetry Ruby 独自の新機能を有効にするオプションを含め、Ruby エージェントを設定するために利用可能なすべての設定について説明します。
一般設定 🔗
以下の設定は、Splunk Distribution of OpenTelemetry Ruby 固有のものです:
環境変数 |
説明 |
---|---|
|
Splunk Observability Cloud に直接データを送信するための Splunk 認証トークン。デフォルトでは設定されていません。Splunk Observability Cloud インジェスト・エンドポイントにデータを送信する必要がなければ不要です。Splunk Observability Cloudを使用して認証トークンを作成および管理する を参照してください。 |
|
組織のレルムの名前、例えば |
|
|
Splunk Observability Cloud に直接データを送信するには、Splunk Observability Cloud に直接データを送信する を参照してください。
トレース設定 🔗
以下の設定は、トレースの制限と属性を制御します:
環境変数 |
説明 |
---|---|
|
インストルメンテーションするサービスまたはアプリケーションの名前。 |
|
報告されたスパンごとに追加されるリソース属性のカンマ区切りリスト。例えば、 |
|
スパンごとの属性の最大数。デフォルト値は無制限です。 |
|
イベントごとの属性の最大数。デフォルト値は無制限です。 |
|
リンクあたりの最大属性数。デフォルト値は無制限です。 |
|
1スパンあたりの最大イベント数。デフォルト値は無制限です。 |
|
スパンあたりの最大リンク数。デフォルト値は |
|
属性値の文字列の最大長。制限値より大きな値は切り捨てられます。デフォルト値は |
エクスポーターの設定 🔗
以下の設定は、トレースエクスポーターとそのエンドポイントをコントロールします:
環境変数 |
説明 |
---|---|
|
使用するトレース・エクスポーター。カンマで区切られた複数の値を設定できます (例: |
|
OTLP エンドポイント。デフォルト値は |
Splunk Distribution of OpenTelemetry Ruby では、デフォルトで OTLP gRPC span exporter を使用します。
プロパゲータの構成 🔗
以下の設定はトレース伝搬をコントロールします:
環境変数 |
説明 |
---|---|
|
使用したいプロパゲータのカンマ区切りリスト。デフォルト値は |
SignalFx Ruby Tracing Libraryとの後方互換性のために、b3multiトレースプロパゲータを使用してください:
export OTEL_PROPAGATORS=b3multi
$env:OTEL_PROPAGATORS=b3multi
サーバートレース情報 🔗
モバイルおよびウェブアプリケーションからのリアルユーザーモニタリング(RUM)リクエストとサーバートレース・データを接続するには、コンフィギュレーションでRackのインストルメンテーションを有効にします:
Splunk::Otel.configure do |c|
c.use "OpenTelemetry::Instrumentation::Rack"
end
# Add the middleware in Rack::Builder
Rack::Builder.app do
use OpenTelemetry::Instrumentation::Rack::Middlewares::TracerMiddleware
use Splunk::Otel::Rack::RumMiddleware
run ->(_env) { [200, { "content-type" => "text/plain" }, ["OK"]] }
end
ActionPackを使用する場合、インストルメンテーションActionPackが有効になっていれば、ミドルウェアは自動的に追加されます:
# Rails use ActionPack
Splunk::Otel.configure do |c|
c.use "OpenTelemetry::Instrumentation::ActionPack"
c.use "Splunk::Otel::Instrumentation::ActionPack"
end
Rackのインストルメンテーションを有効にしたら、以下の環境変数を設定します:
export SPLUNK_TRACE_RESPONSE_HEADER_ENABLED=true
$env:SPLUNK_TRACE_RESPONSE_HEADER_ENABLED=true
この環境変数を設定すると、インストルメンテーションはHTTPレスポンスに以下のレスポンス・ヘッダーを追加します:
Access-Control-Expose-Headers: Server-Timing
Server-Timing: traceparent;desc="00-<serverTraceId>-<serverSpanId>-01"
Server-Timing
ヘッダーには、traceId
と spanId
が traceparent
形式で含まれています。詳しくは、W3CウェブサイトのServer-Timingとtraceparentのドキュメントを参照してください。