ZipkinからSimple Log Serviceにトレースデータをインポートできます。 OpenTelemetry Collectorを使用してトレースデータをSimple Log Serviceに転送することもできます。
前提条件
トレースインスタンスが作成されます。 詳細については、「トレースインスタンスの作成」をご参照ください。
Zipkinからトレースデータをインポートする
Zipkinプロトコルを使用してトレースデータをSimple Log Serviceにインポートする場合は、Zipkin SDKでエンドポイントと認証の設定を構成する必要があります。 次のリストでは、設定について説明します。
送信中のデータセキュリティを確保するには、HTTPS経由でデータをインポートする必要があります。
エンドポイントの設定
HTTP 2.0: HTTPSエンドポイントは ${endpoint}/zipkin/api/v2/spans形式です。 例: https://test-project.cn-hangzhou-intranet.log.aliyuncs.com/zipkin/api/v2/spans 。 このタイプのエンドポイントを使用することを推奨します。
HTTP 1.0: HTTPSエンドポイントは ${endpoint}/zipkin/api/v1/spans形式です。 例: https://test-project.cn-hangzhou.log.aliyuncs.com/zipkin/api/v1/spans 。
${endpoint} 変数を実際の値に置き換える必要があります。 次の表では、変数について説明します。
表 1. 変数の説明
変数
説明
例
${endpoint}
エンドポイント。 形式は ${project}.${region-endpoint} です。
${project}: Simple Log Serviceプロジェクトの名前。
${region-endpoint}: プロジェクトが存在するリージョンのSimple Log Serviceエンドポイント。 Simple Log Serviceには、パブリックまたは内部エンドポイントを使用してアクセスできます。 インターネット経由でパブリックエンドポイントにアクセスできます。 内部エンドポイントには、クラシックネットワークまたは仮想プライベートクラウド (VPC) 経由でアクセスできます。 詳細については、「エンドポイント」をご参照ください。
test-project.cn-hangzhou.log.aliyuncs.com
認証設定
HTTPSヘッダーフィールドで認証設定を設定できます。 次の表では、フィールドについて説明します。
HTTPSヘッダーフィールド
説明
例
x-sls-otel-project
Simple Log Serviceプロジェクトの名前。
test-project
x-sls-otel-instance-id
トレースインスタンスのID。 詳細については、「トレースインスタンスの作成」をご参照ください。
テストトレース
x-sls-otel-ak-id
Alibaba CloudアカウントのAccessKey ID。
Simple Log Serviceプロジェクトに対する書き込み権限のみを持つRAMユーザーのAccessKeyペアを使用することを推奨します。 AccessKey ペアは、AccessKey ID と AccessKey Secret で構成されます。 特定のプロジェクトの書き込み権限をRAMユーザーに付与する方法の詳細については、「カスタムポリシーを使用してRAMユーザーに権限を付与する」をご参照ください。 AccessKeyペアを取得する方法の詳細については、「AccessKeyペア」をご参照ください。
なし
x-sls-otel-ak-secret
Alibaba CloudアカウントのAccessKeyシークレット。
Simple Log Serviceプロジェクトに対する書き込み権限のみを持つRAMユーザーのAccessKeyペアを使用することを推奨します。
なし
OpenTelemetry Collectorを使用したトレースデータの転送
Zipkin SDKを使用して、ZipkinからOpenTelemetry Collectorにトレースデータをインポートし、OpenTelemetry Collectorを使用してデータをSimple Log Serviceに転送できます。 このメソッドは、HTTPまたはHTTPSによるデータ送信をサポートします。
OpenTelemetry Collectorをインストールします。
OpenTelemetryコレクターを設定します。
config.yamlという名前のファイルを作成します。
次のコードをconfig.yamlファイルに追加します。
次のコードの変数を実際の値に置き換えます。 変数の詳細については、「変数の説明」をご参照ください。
receivers: zipkin: endpoint: 0.0.0.0:9411 exporters: logging/detail: loglevel: debug alibabacloud_logservice/traces: endpoint: "${endpoint}" project: "${project}" logstore: "${instance}-traces" access_key_id: "${access-key-id}" access_key_secret: "${access-key-secret}" service: pipelines: traces: receivers: [zipkin] # Set the receivers parameter to zipkin. exporters: [alibabacloud_logservice/traces] # Set the exporters parameter to alibabacloud_logservice/sls-traces. # for debug #exporters: [logging/detail,alibabacloud_logservice/traces]
表 2. 変数の説明
変数
説明
例
${endpoint}
Simple Log Serviceのエンドポイント。 形式は ${region-endpoint} です。 ${region-endpoint} は、実際にはSimple Log Serviceプロジェクトが存在するリージョンのエンドポイントです。 Simple Log Serviceには、パブリックまたは内部エンドポイントを使用してアクセスできます。 インターネット経由でパブリックエンドポイントにアクセスできます。 内部エンドポイントには、クラシックネットワークまたはVPC経由でアクセスできます。 詳細については、「エンドポイント」をご参照ください。
cn-hangzhou.log.aliyuncs.com
${project}
Simple Log Serviceプロジェクトの名前。
test-project
${instance}
トレースインスタンスのID。 詳細については、「トレースインスタンスの作成」をご参照ください。
テストトレース
${access-key-id}
Alibaba CloudアカウントのAccessKey ID。
Simple Log Serviceプロジェクトに対する書き込み権限のみを持つRAMユーザーのAccessKeyペアを使用することを推奨します。 特定のプロジェクトの書き込み権限をRAMユーザーに付与する方法の詳細については、「カスタムポリシーを使用してRAMユーザーに権限を付与する」をご参照ください。 AccessKeyペアを取得する方法の詳細については、「AccessKeyペア」をご参照ください。
なし
${access-key-secret}
Alibaba CloudアカウントのAccessKeyシークレット。
Simple Log Serviceプロジェクトに対する書き込み権限のみを持つRAMユーザーのAccessKeyペアを使用することを推奨します。
なし
OpenTelemetryコレクターを起動します。
./otelcontribcol_linux_amd64 --config="./config.yaml"
Zipkinを設定します。
Zipkinの出力エンドポイントを、OpenTelemetry Collectorがリッスンできるエンドポイントに変更します。 たとえば、OpenTelemetry Collectorのエンドポイントが ${collector-host} の場合、Zipkinの出力エンドポイントを ${collector-host} :9411に変更します。