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

注意

SignalFx Tracing Library for PHP は、2024年2月21日をもって非推奨となり、2025年2月21日にサポート終了 (EOS) となります。それまでは、重要なセキュリティ修正とバグ修正のみが提供されます。EOS の日付が過ぎると、ライブラリはアーカイブされ、保守されなくなります。

新規あるいは既存の PHP アプリケーションをインストルメンテーションしたい場合は、OpenTelemetry PHP instrumentation を使用してください。

Splunk Observability Cloud に PHP アプリケーションをインストルメンテーションする (非推奨) 🔗

SignalFx Tracing Library for PHPは、PHPアプリケーションを自動的にインストルメンテーションします。

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

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

使用する環境やアプリケーションに合わせた基本的なインストールコマンドをすべて生成するには、PHPガイド付きセットアップを使用します。PHP ガイド付きセットアップにアクセスするには、以下の手順に従います:

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

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

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

    2. Go to the Available integrations tab, or select Add Integration in the Deployed integrations tab.

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

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

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

SignalFx Tracing Library for PHPを手動でインストールします。 🔗

ガイド付きセットアップを使用しない場合は、以下の手順に従って手動で SignalFx Tracing Library for PHP をインストールしてください:

  1. PHPアプリケーションのインストルメンテーション

  2. PHP インストルメンテーションを環境にデプロイする

  3. Splunk Observability Cloud 用の PHP インストルメンテーションを設定する

PHPアプリケーションのインストルメンテーション 🔗

以下の手順に従って、アプリケーションを自動的にインストルメンテーションしてください:

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

  2. 以下の場所からインストールスクリプトをダウンロードしてください:

    curl -LO  https://github.com/signalfx/signalfx-php-tracing/releases/latest/download/signalfx-setup.php
    
  3. インストールスクリプトを実行してインストールします:

    php signalfx-setup.php --php-bin=all
    

    注釈

    --php-bin オプションを省略すると、対話的に PHP のインストールを選択することができます。

  4. 以下の環境変数を設定します:

    # Add the following lines to your Apache configuration file
    
    SetEnv SIGNALFX_SERVICE_NAME="<my-service-name>"
    SetEnv SIGNALFX_ENDPOINT_URL='http://localhost:9411/api/v2/spans'
    SetEnv SIGNALFX_TRACE_GLOBAL_TAGS="deployment.environment:<my_environment>"
    
  5. サーバーを再起動してください。

次に、PHPインストルメンテーションをご利用の環境にデプロイします。詳細は PHP インストルメンテーションを環境にデプロイする を参照ください。

注釈

スパンにカスタム属性を追加したり、手動でスパンを生成したい場合は、 PHPアプリケーションやサービスを手動でインストルメンテーションしてください。Splunk Observability Cloud 用に PHP アプリケーションを手動でインストルメンテーションする を参照ください。

INIファイルの設定 🔗

環境変数を設定しない場合、ライブラリはINIファイルからデフォルト値を抽出します。SIGNALFX_TRACE_ で始まる環境変数を使用して定義された設定の接頭辞は signalfx.trace. です。SIGNALFX_ で始まるその他の環境変数の接頭辞は signalfx. です。

signalfx-setup.php スクリプトを使用すると、手動で各ファイルを探すことなく INI ファイルオプションを設定できます。例:

php signalfx-setup.php --update-config --signalfx.endpoint_url=http://172.17.0.1:9080/v1/trace

これは、エンドポイントなど、システムで動作するすべての PHP サービスに共通するオプションを指定する際に便利です。

PHP インストルメンテーションを環境にデプロイする 🔗

PHP のインストルメンテーションを Docker や Kubernetes にデプロイすることもできますし、Splunk Observability Cloud に直接データを送信することもできます。お使いの環境に合わせた手順は、以下のセクションを参照してください:

PHPインストルメンテーションをDockerにデプロイする 🔗

Dockerを使ってPHPインストルメンテーションをデプロイすることができます。以下の手順に従ってください:

  1. Dockerがアクセスできる場所にスタートアップ・シェル・スクリプトを作成します。スクリプトの名前は何でもよく、例えばsetup.shなど。

  2. PHPアプリケーションのインストルメンテーション に記載されている環境変数をエクスポートするように、起動シェルスクリプトを編集します。

  3. 起動シェルスクリプトに以下のコマンドを追加し、PHPインストルメンテーションを初期化します:

    curl -LO https://github.com/signalfx/signalfx-php-tracing/releases/latest/download/signalfx-setup.php
    php signalfx-setup.php --php-bin=all
    php signalfx-setup.php --update-config --signalfx.endpoint_url=https://ingest.<realm>.signalfx.com/v2/trace/signalfxv1
    php signalfx-setup.php --update-config --signalfx.access_token=<access_token>
    php signalfx-setup.php --update-config --signalfx.service_name=<service-name>
    
  4. スクリプトに、supervisorctlsupervisordsystemd、または同様のコマンドを使用してアプリケーションを起動する行を追加します。以下の例では、supervisorctl を使用しています:

    supervisor start my-php-app
    
  5. Dockerfileの最後に、新しく作成したシェルスクリプトを実行するコマンドを追加します。

  6. docker build コマンドを使用してコンテナを再構築します。

次に、Splunk Observability Cloud 用の PHP インストルメンテーションを設定します。Splunk Observability Cloud 用の PHP インストルメンテーションを設定する を参照してください。

注意

Xdebug 拡張機能は PHP のインストルメンテーションと互換性がないので、必ず無効にしてください。

KubernetesにPHPインストルメンテーションをデプロイする 🔗

KubernetesにPHPインストルメンテーションをデプロイするには、Kubernetesのリソースに環境変数を公開するようにKubernetes Downward APIを設定します。

次の例は、.spec.template.spec.containers.env セクションにエージェント設定を追加して、環境変数を公開するようにデプロイを更新する方法を示しています:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-deployment
spec:
  selector:
    matchLabels:
      app: your-application
  template:
    metadata:
      labels:
        app: your-application
    spec:
      containers:
      - name: myapp
        image: <image-name>
        env:
          - name: HOST_IP
            valueFrom:
              fieldRef:
                fieldPath: status.hostIP
          - name: SIGNALFX_SERVICE_NAME
            value: "<service-name>"
          - name: SIGNALFX_ENDPOINT_URL
            value: "http://$(HOST_IP):9411/api/v2/spans"
          - name: SIGNALFX_TRACE_GLOBAL_TAGS
            value: "deployment.environment:<my_environment>"

次に、Splunk Observability Cloud 用の PHP インストルメンテーションを設定します。Splunk Observability Cloud 用の PHP インストルメンテーションを設定する を参照してください。

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

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

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

SetEnv SIGNALFX_ACCESS_TOKEN=<access_token>
SetEnv SIGNALFX_ENDPOINT_URL=https://ingest.<realm>.signalfx.com/v2/trace/signalfxv1

エージェントが使用するホストを上書きするには、環境変数 OTEL_RESOURCE_ATTRIBUTES を使用して、ホストの名前を希望するソースに設定します:

$env:OTEL_RESOURCE_ATTRIBUTES=host.name=<host_name>

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

Splunk レルムを見つけるには、レルムに関する注意事項 を参照してください。

次に、Splunk Observability Cloud 用の PHP インストルメンテーションを設定します。詳細は Splunk Observability Cloud 用の PHP インストルメンテーションを設定する を参照してください。

注釈

取り込みAPIエンドポイントの詳細については、APMのトレースの送信 を参照してください。

This page was last updated on 2024年08月07日.