Splunk Observability Cloud 用の Ruby エージェントを設定する
Splunk Distribution of OpenTelemetry 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 にデータを直接送信する」を参照してください。
トレース設定
以下の設定は、トレースの制限と属性を制御します:
|
環境変数 |
説明 |
|---|---|
|
|
インストルメンテーションしているサービスまたはアプリケーションの名前。 |
|
|
報告されたスパンごとに追加されるリソース属性のカンマ区切りリスト。たとえば、 |
|
|
スパンごとの属性の最大数。デフォルト値は [無制限] です。 |
|
|
イベントあたりの属性の最大数。デフォルト値は [無制限] です。 |
|
|
リンクごとの属性の最大数。デフォルト値は [無制限] です。 |
|
|
スパンあたりの最大イベント数。デフォルト値は [無制限] です。 |
|
|
スパンあたりの最大リンク数。デフォルト値は |
|
|
属性値の文字列の最大長。上限より大きい値は切り捨てられます。デフォルト値は |
エクスポーターの設定
以下の設定は、トレースエクスポーターとそのエンドポイントをコントロールします:
|
環境変数 |
説明 |
|---|---|
|
|
使用するエクスポータを追跡します。複数のカンマ区切り値を設定できます( |
|
|
OTLP エンドポイント。デフォルト値は |
Splunk Distribution of OpenTelemetry Ruby では、デフォルトで OTLP gRPC span exporter を使用します。
プロパゲータの構成
以下の設定はトレース伝搬をコントロールします:
|
環境変数 |
説明 |
|---|---|
|
|
使用するプロパゲータのカンマ区切りリスト。デフォルト値は |
SignalFx Ruby Tracing Libraryとの後方互換性のために、b3multiトレースプロパゲータを使用してください:
- Linux
-
export OTEL_PROPAGATORS=b3multi - Windows PowerShell
-
$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 のインストルメンテーションを有効にしたら、以下の環境変数を設定します。
- Linux
-
export SPLUNK_TRACE_RESPONSE_HEADER_ENABLED=true - Windows PowerShell
-
$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 Web サイトの Server-Timing と traceparent のドキュメントを参照してください。