Splunk Observability Cloud に Ruby アプリケーションをインストルメンテーションする
Ruby 用 OpenTelemetry インストルメンテーションを使用して Ruby アプリケーションを計測し、データを Splunk Observability Cloud に取り込みます。
OpenTelemetry Collector を使用して、Ruby アプリケーションのトレースを Splunk APM に送信できます。
前提条件
開始する前に、以下のコンポーネントがインストールされていることを確認してください。
-
Bundler バージョン 2.4 以上
-
Ruby バージョン 3.0 以上
サポートされているライブラリとフレームワークを使用しているか確認してください。サポートされているライブラリのリストについては、https://github.com/open-telemetry/opentelemetry-ruby-contrib/tree/main/instrumentation を参照してください。
さらに、Splunk Distribution of OpenTelemetry Collector をインストールする必要があります。次のディストリビューションを使用できます。
Collector をインストールしたら、環境で Collector のインスタンスが実行されていることを確認します。
アプリケーションをインストルメンテーションする
Rubyアプリケーションをインストルメンテーションするには、以下の手順に従ってください:
-
opentelemetry-sdkとopentelemetry-instrumentation-allパッケージをインストールします:bundle add opentelemetry-sdk opentelemetry-instrumentation-all -
プロジェクトディレクトリの config/initializers/ に、以下のコードで opentelemetry.rb というファイルを作成します:
require 'opentelemetry/sdk' require 'opentelemetry/instrumentation/all' OpenTelemetry::SDK.configure do |c| c.use_all() # activates all instrumentation end -
インストルメンテーションされたアプリケーションを実行する
Splunk Observability Cloud に直接データを送信する
デフォルトでは、すべてのデータは Splunk Distribution of OpenTelemetry Collector のローカルインスタンスに送られます。
Splunk Observability Cloud に直接データを送信する必要がある場合は、以下の手順に従ってください:
-
以下のコマンドを使って、OpenTelemetry エクスポーターパッケージをインストールします:
gem install opentelemetry-exporter-otlp -
config/exporters/opentelemetry.rb ファイルを編集して、OpenTelemetry エクスポーターパッケージを含めます。
require 'opentelemetry/sdk' require 'opentelemetry/instrumentation/all' require 'opentelemetry-exporter-otlp' OpenTelemetry::SDK.configure do |c| c.use_all() # activates all instrumentation end -
エンドポイントを Splunk Observability Cloud に設定し、grpc プロトコルを使用してデータを送信します。次のコマンドを使用します。
export OTEL_EXPORTER_OTLP_ENDPOINT="http://ingest.<realm>.signalfx.com" export OTEL_EXPORTER_OTLP_PROTOCOL="grpc" export OTEL_EXPORTER_OTLP_TRACES_HEADERS="x-sf-token=<access_token>"<realm>を Splunk Observability Cloud レルムに、<access-token>をインジェスト権限を持つ Splunk Observability Cloud アクセストークンに置き換えてください。アクセストークンを取得するには、「Splunk Observability Cloud を使用したユーザー API アクセストークンの取得と管理」を参照してください。
Splunk のレルムを見つけるには、「Splunk Observability Cloud の SSO 統合を設定する」でレルムに関する注意事項を参照してください。
-
アプリケーションを再起動します。
さらに詳しく
設定例については、https://github.com/open-telemetry/opentelemetry-ruby/tree/main/examples を参照してください。