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

Splunk Observability Cloud に Ruby アプリケーションをインストルメンテーションする 🔗

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アプリケーションをインストルメンテーションするには、以下の手順に従ってください:

  1. opentelemetry-sdkopentelemetry-instrumentation-all パッケージをインストールします:

    bundle add opentelemetry-sdk opentelemetry-instrumentation-all
    
  2. プロジェクトディレクトリの config/initializers/ に、以下のコードで opentelemetry.rb というファイルを作成します:

    require 'opentelemetry/sdk'
    require 'opentelemetry/instrumentation/all'
    OpenTelemetry::SDK.configure do |c|
        c.use_all() # activates all instrumentation
    end
    
  3. インストルメンテーションされたアプリケーションを実行する

Splunk Observability Cloud に直接データを送信する 🔗

デフォルトでは、すべてのデータは Splunk Distribution of OpenTelemetry Collector のローカルインスタンスに送られます。

Splunk Observability Cloud に直接データを送信する必要がある場合は、以下の手順に従ってください:

  1. 以下のコマンドを使って、OpenTelemetry エクスポーターパッケージをインストールします:

    gem install opentelemetry-exporter-otlp
    
  2. 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
    
  3. エンドポイントを 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 レルムを見つけるには、レルムに関する注意事項 を参照してください。

  4. アプリケーションを再起動します。

さらに詳しく 🔗

設定例については、https://github.com/open-telemetry/opentelemetry-ruby/tree/main/examples を参照してください。

This page was last updated on 2024年03月21日.