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

OpenTelemetry PHP 拡張モジュールは、PHP 拡張モジュールと利用可能なインストルメンテーション ライブラリを使用して、PHP アプリケーションを自動的に計測します。次の手順に従って、操作を開始します。

注: 元の OpenTelemetry ドキュメントに変更があったため、「自動インストルメンテーション」は「ゼロコード インストルメンテーション」に変更されました。詳細については、「Splunk Observability Cloud のインストルメンテーションの方法」を参照してください。

OpenTelemetry PHP 拡張モジュールは、PHP 拡張モジュールと利用可能なインストルメンテーション ライブラリを使用して、PHP アプリケーションを自動的に計測します。テレメトリを Splunk Distribution of OpenTelemetry Collector に送信するか、Splunk Observability Cloud 取り込みエンドポイントに直接送信できます。

始めるには、ガイド付きセットアップを使用するか、指示に従って手動でインストールしてください。

ガイド付きセットアップを使用してカスタマイズされた指示を生成する

ご利用の環境とアプリケーションの基本的なインストールコマンドをすべて生成するには、PHP OpenTelemetry ガイド付きセットアップを使用します。PHP OpenTelemetry ガイド付きセットアップにアクセスするには、次の手順に従います。

  1. Splunk Observability Cloud にログインします。

  2. PHP OpenTelemetry ガイド付きセットアップを開きます。オプションで、ガイド付きセットアップに自分で移動することもできます:

    1. ナビゲーションメニューで、Data Management を選択します。

    2. Available integrations タブにアクセスするか、Deployed integrations タブで Add Integration を選択します。

    3. インテグレーションフィルターメニューで、By Product を選択します。

    4. APM 製品を選択します。

    5. PHP (OpenTelemetry) タイルを選択し、PHP OpenTelemetry ガイド付きセットアップを開きます。

Splunk Distribution of OpenTelemetry PHP を手動でインストールする

ガイド付きセットアップを使用しない場合は、以下の手順に従って手動でインストールし、PHP アプリケーションを自動的にインストルメンテーションします。

  1. 要件を満たしているか確認してください。「OpenTelemetry PHP インストルメンテーションの互換性と要件」を参照してください。

  2. コマンドラインで PECL を使って OpenTelemetry PHP 拡張モジュールをインストールします:

    Linux
    sudo apt-get install gcc make autoconf
    pecl install opentelemetry
    Windows

    GitHub のリリースページから、コンパイル済みの DLL ファイルをダウンロードします。

    DLL は、php.ini ファイルの extension_dir の値で定義された拡張モジュールのディレクトリに置くようにしてください。

  3. php.ini ファイルに拡張子を追加します:

    Linux
    [opentelemetry]
    extension=opentelemetry.so
    Windows
    [opentelemetry]
    extension=php_opentelemetry.dll
  4. Composer を使用して、必要なインストルメンテーションをインストールします:

    php composer.phar install open-telemetry/exporter-otlp:^1.0.3
    php composer.phar install php-http/guzzle7-adapter:^1.0

    また、追加のインストルメンテーションをインストールすることもできます。「サポートされているライブラリとフレームワーク」を参照してください。

  5. php.ini ファイルまたは環境変数で基本設定を行います:

    OTEL_PHP_AUTOLOAD_ENABLED=true \
    OTEL_SERVICE_NAME="<your-service-name>" \
    OTEL_RESOURCE_ATTRIBUTES="deployment.environment=<your_env>" \
  6. アプリケーションを実行します。

    インストルメンテーション シナリオのサンプルは、GitHub の「OpenTelemetry PHP examples」を参照してください。

インストルメンテーションを設定するには、「Instrumentation settings」を参照してください。

サーバートレースデータを介して RUM を APM に接続する

モバイルやウェブアプリケーションからのリアルユーザーモニタリング (RUM) リクエストをサーバートレースデータに接続するには、OpenTelemetry サーバータイミングプロパゲータを依存関係として追加します:

php composer.phar install open-telemetry/opentelemetry-propagation-server-timing:^0.0.2

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

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

Collector をバイパスして Splunk Observability Cloud に直接データを送信するには、次の環境変数を設定します:

OTEL_EXPORTER_OTLP_TRACES_HEADERS=x-sf-token=<access_token>
OTEL_EXPORTER_OTLP_ENDPOINT=https://ingest.<realm>.signalfx.com/v2/trace/otlp

アクセストークンを取得するには、「Splunk Observability Cloud を使用したユーザー API アクセストークンの取得と管理」を参照してください。

Splunk のレルムを見つけるには、「Splunk Observability Cloud の SSO 統合を設定する」でレルムに関する注意事項を参照してください。

インストルメンテーション設定

以下の設定を使用してOpenTelemetry PHP拡張モジュールを設定できます。

一般設定

{「keys」:「識別子」、「description」:「説明」、「instrumented_components」:「コンポーネント」、「signals」:「信号」、「env」:「環境変数」、「default」:「デフォルト」、「type」:「タイプ」}

インストルメンテーション

https://raw.githubusercontent.com/splunk/o11y-gdi-metadata/main/apm/opentelemetry-php-metadata.yaml

エクスポート設定

{「keys」:「識別子」、「description」:「説明」、「instrumented_components」:「コンポーネント」、「signals」:「信号」、「env」:「環境変数」、「default」:「デフォルト」、「type」:「タイプ」}

インストルメンテーション

https://raw.githubusercontent.com/splunk/o11y-gdi-metadata/main/apm/opentelemetry-php-metadata.yaml

インストルメンテーション設定

{「keys」:「識別子」、「description」:「説明」、「instrumented_components」:「コンポーネント」、「signals」:「信号」、「env」:「環境変数」、「default」:「デフォルト」、「type」:「タイプ」}

インストルメンテーション

https://raw.githubusercontent.com/splunk/o11y-gdi-metadata/main/apm/opentelemetry-php-metadata.yaml