このトピックでは、Zipkinを使用してPHPアプリケーションからSimple Log Serviceにトレースデータをインポートする方法について説明します。
背景情報
トレースインスタンスが作成されます。 詳細については、「トレースインスタンスの作成」をご参照ください。
PHPがインストールされています。
Composerがインストールされています。
手順
functions.phpファイルのパラメータを変更します。
$httpReporterURLパラメーターを変更します。
コード内の ${endpoint} 変数を実際の値に置き換えます。 変数の詳細については、「変数」をご参照ください。
$httpReporterURL = 'https://${endpoint}/zipkin/api/v2/spans';
表 1. 変数
変数
説明
例
${endpoint}
エンドポイント。 形式は ${project}.${region-endpoint} です。
${project}: Simple Log Serviceプロジェクトの名前。
${region-endpoint}: プロジェクトのエンドポイント。 インターネット、クラシックネットワーク、または仮想プライベートクラウド (VPC) のエンドポイントを使用して、Simple Log Serviceにアクセスできます。 詳細については、「エンドポイント」をご参照ください。
test-project.cn-hangzhou.log.aliyuncs.com
Zipkin\Reporters\Httpファイルを作成するときに、headersパラメーターを追加します。
次のコードの変数を実際の値に置き換えます。 変数の詳細については、「変数」をご参照ください。
$reporter = new Zipkin\Reporters\Http( \Zipkin\Reporters\Http\CurlFactory::create(), ['endpoint_url' => $httpReporterURL, 'headers' => ['x-sls-otel-project' => '${project}', 'x-sls-otel-instance-id' => '${instance}', 'x-sls-otel-ak-id' => '${access-key-id}', 'x-sls-otel-ak-secret' => '${access-key-secret}'] ] );
表 2. 変数
変数
説明
例
${project}
Simple Log Serviceプロジェクトの名前。
test-project
${instance}
トレースインスタンスのID。 詳細については、「トレースインスタンスの作成」をご参照ください。
テストトレース
${access-key-id}
Alibaba CloudアカウントのAccessKey ID。
Simple Log Serviceプロジェクトの書き込み権限のみを持つResource Access Management (RAM) ユーザーのAccessKeyペアを使用することを推奨します。 AccessKey ペアは、AccessKey ID と AccessKey Secret で構成されます。 特定のプロジェクトの書き込み権限をRAMユーザーに付与する方法については、「カスタムポリシーを使用してRAMユーザーに権限を付与する」をご参照ください。 AccessKeyペアの取得方法については、「AccessKeyペア」をご参照ください。
なし
${access-key-secret}
Alibaba CloudアカウントのAccessKeyシークレット。
Simple Log Serviceプロジェクトの書き込み権限のみを持つRAMユーザーのAccessKeyペアを使用することを推奨します。
なし
依存関係をインストールします。
composer install
サービスを開始します。
composer run-frontend composer run-backend
サービスにアクセスし、トレースデータをSimple Log serviceに送信します。
curl http://localhost:8081