Splunk Observability Cloud に PHP アプリケーションをインストルメンテーションする 🔗
注釈
Due to changes in the upstream OpenTelemetry documentation, 「automatic instrumentation」 has been changed to 「zero-code instrumentation」. For more information, see Instrumentation methods for Splunk Observability Cloud.
OpenTelemetry PHP エクステンションは、PHP エクステンションと利用可能なインストルメンテーションライブラリを使用して、PHP アプリケーションを自動的に計測します。テレメトリを Splunk Distribution of OpenTelemetry Collector に送信するか、Splunk Observability Cloud のインジェストエンドポイントに直接送信することができます。
始めるには、ガイド付きセットアップを使用するか、指示に従って手動でインストールしてください。
ガイド付きセットアップを使用してカスタマイズされた指示を生成する 🔗
使用する環境やアプリケーションに合わせた基本的なインストールコマンドを生成するには、PHP OpenTelemetry ガイド付きセットアップを使用します。PHP OpenTelemetry ガイド付きセットアップにアクセスするには、以下の手順に従います:
Splunk Observability Cloud にログインします。
PHP OpenTelemetry ガイド付きセットアップ を開きます。オプションで、ガイド付きセットアップに自分で移動することもできます:
ナビゲーションメニューで、
を選択します。Go to the Available integrations tab, or select Add Integration in the Deployed integrations tab.
インテグレーションフィルターーメニューで、By Product を選択します。
APM 製品を選択します。
PHP (OpenTelemetry) タイルを選択し、PHP OpenTelemetry ガイド付きセットアップを開きます。
Splunk Distribution of OpenTelemetry PHP を手動でインストールする 🔗
ガイド付きセットアップを使用しない場合は、以下の手順に従って手動でインストールし、PHP アプリケーションを自動的にインストルメンテーションします:
条件を満たしているか確認してください。OpenTelemetry PHP インストルメンテーションの互換性と要件 を参照してください。
コマンドラインで PECL を使って OpenTelemetry PHP 拡張モジュールをインストールします:
sudo apt-get install gcc make autoconf pecl install opentelemetry
GitHubの リリースページ から、コンパイル済みの DLL ファイルをダウンロードします。
DLL は、php.ini ファイルの
extension_dir
の値で定義された拡張モジュールのディレクトリに置くようにしてください。php.ini ファイルに拡張子を追加します:
[opentelemetry] extension=opentelemetry.so
[opentelemetry] extension=php_opentelemetry.dll
Composer を使用して、必要なインストルメンテーションをインストールします:
php composer.phar install open-telemetry/exporter-otlp:^1.0.3 php composer.phar install php-http/guzzle7-adapter:^1.0
また、追加のインストルメンテーションをインストールすることもできます。サポートされているライブラリとフレームワーク を参照してください。
php.ini ファイルまたは環境変数で基本設定を行います:
OTEL_PHP_AUTOLOAD_ENABLED=true \ OTEL_SERVICE_NAME="<your-service-name>" \ OTEL_RESOURCE_ATTRIBUTES="deployment.environment=<your_env>" \
アプリケーションを実行します。
インストルメンテーションシナリオのサンプルは、GitHub の OpenTelemetry PHP examples を参照してください。
To configure the instrumentation, see インストルメンテーション設定.
サーバートレースデータを介して 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/trace/otlp
アクセストークンを取得するには、Splunk Observability Cloudを使用したユーザー APIアクセストークンの取得と管理 を参照してください。
Splunk レルムを見つけるには、レルムに関する注意事項 を参照してください。
インストルメンテーション設定 🔗
You can configure the OpenTelemetry PHP extension using the following settings.