Docs » Splunk Observability Cloud でサポートされているインテグレーション » バックエンドアプリケーションをインストルメンテーションして、スパンを Splunk APM に送信する » Splunk Observability Cloud (OpenTelemetry) 用に Ruby アプリケーションをインストルメンテーションする » Splunk Observability Cloud に Ruby アプリケーションをインストルメンテーションする » Splunk Observability Cloud 用の Ruby エージェントを設定する

Splunk Observability Cloud 用の Ruby エージェントを設定する 🔗

Splunk Distribution of OpenTelemetry Ruby の Ruby エージェントを、インストルメンテーションのニーズに合わせて設定することができます。ほとんどの場合、基本的な設定を変更するだけで十分です。

以下のセクションでは、Splunk Distribution of OpenTelemetry Ruby 独自の新機能を有効にするオプションを含め、Ruby エージェントを設定するために利用可能なすべての設定について説明します。

一般設定 🔗

以下の設定は、Splunk Distribution of OpenTelemetry Ruby 固有のものです:

環境変数

説明

SPLUNK_ACCESS_TOKEN

Splunk Observability Cloud に直接データを送信するための Splunk 認証トークン。デフォルトでは設定されていません。Splunk Observability Cloud インジェスト・エンドポイントにデータを送信する必要がなければ不要です。Splunk Observability Cloudを使用して認証トークンを作成および管理する を参照してください。

SPLUNK_REALM

組織のレルムの名前、例えば us0 。レルムを設定すると、テレメトリは Splunk OpenTelemetry Collector をバイパスして Splunk Observability Cloud のインジェスト・エンドポイントに直接送信されます。

SPLUNK_TRACE_RESPONSE_HEADER_ENABLED

net/http インストルメンテーション・パッケージを使用して、HTTP レスポンスヘッダーにサーバートレース情報を追加できます。詳細は サーバートレース情報 を参照してください。デフォルト値は true です。

Splunk Observability Cloud に直接データを送信するには、Splunk Observability Cloud に直接データを送信する を参照してください。

トレース設定 🔗

以下の設定は、トレースの制限と属性を制御します:

環境変数

説明

OTEL_SERVICE_NAME

インストルメンテーションするサービスまたはアプリケーションの名前。OTEL_RESOURCE_ATTRIBUTES 変数で定義されたサービス名よりも優先されます。

OTEL_RESOURCE_ATTRIBUTES

報告されたスパンごとに追加されるリソース属性のカンマ区切りリスト。例えば、key1=val1,key2=val2 です。

OTEL_SPAN_ATTRIBUTE_COUNT_LIMIT

スパンごとの属性の最大数。デフォルト値は無制限です。

OTEL_EVENT_ATTRIBUTE_COUNT_LIMIT

イベントごとの属性の最大数。デフォルト値は無制限です。

OTEL_LINK_ATTRIBUTE_COUNT_LIMIT

リンクあたりの最大属性数。デフォルト値は無制限です。

OTEL_SPAN_EVENT_COUNT_LIMIT

1スパンあたりの最大イベント数。デフォルト値は無制限です。

OTEL_SPAN_LINK_COUNT_LIMIT

スパンあたりの最大リンク数。デフォルト値は 1000 です。

OTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT

属性値の文字列の最大長。制限値より大きな値は切り捨てられます。デフォルト値は 12000 です。

エクスポーターの設定 🔗

以下の設定は、トレースエクスポーターとそのエンドポイントをコントロールします:

環境変数

説明

OTEL_TRACES_EXPORTER

使用するトレース・エクスポーター。カンマで区切られた複数の値を設定できます (例: otlp,console )。デフォルト値は otlp です。デバッグ目的には、コンソールにスパンを書き込む console エクスポーターを使用してください。

OTEL_EXPORTER_OTLP_ENDPOINT

OTLP エンドポイント。デフォルト値は http://localhost:4318 です。

Splunk Distribution of OpenTelemetry Ruby では、デフォルトで OTLP gRPC span exporter を使用します。

プロパゲータの構成 🔗

以下の設定はトレース伝搬をコントロールします:

環境変数

説明

OTEL_PROPAGATORS

使用したいプロパゲータのカンマ区切りリスト。デフォルト値は tracecontext,baggage です。サポートされているプロパゲータのリストは OpenTelemetry のドキュメントにあります。

SignalFx Ruby Tracing Libraryとの後方互換性のために、b3multiトレースプロパゲータを使用してください:

export 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

この環境変数を設定すると、インストルメンテーションはHTTPレスポンスに以下のレスポンス・ヘッダーを追加します:

Access-Control-Expose-Headers: Server-Timing
Server-Timing: traceparent;desc="00-<serverTraceId>-<serverSpanId>-01"

Server-Timing ヘッダーには、traceIdspanIdtraceparent 形式で含まれています。詳しくは、W3CウェブサイトのServer-Timingとtraceparentのドキュメントを参照してください。

このページは 2024年03月01日 に最終更新されました。