OpenTelemetryからSimple Log Serviceにトレースデータをインポートするか、OpenTelemetry Collectorを使用してトレースデータをSimple Log Serviceに転送できます。
前提条件
トレースインスタンスが作成されます。 詳細については、「トレースインスタンスの作成」をご参照ください。
OpenTelemetryからトレースデータをインポートする
OpenTelemetryプロトコルを使用してトレースデータをSimple Log Serviceにインポートする場合、OpenTelemetryでエンドポイントと認証の設定を構成する必要があります。 次の例では、必要な設定について説明します。
エンドポイントの設定
HTTPSエンドポイントは、${endpoint}/opentelemetry/v1/traces形式 (例: https://test-project.cn-hangzhou-intranet.log.aliyuncs.com/opentelemetry/v1/traces ) です。
gRPCエンドポイントの形式は ${endpoint}:10010です (例: ) 。
重要伝送セキュリティを確保するには、gRPCプロトコルを使用するときにトランスポート層セキュリティ (TLS) を有効にする必要があります。
${endpoint} 変数を実際の値に置き換える必要があります。 次の表では、変数について説明します。
表 1. 変数
変数
説明
例
${endpoint}
エンドポイント。 形式は ${project}.${region-endpoint} です。
${project}: Simple Log Serviceプロジェクトの名前。
${region-endpoint}: プロジェクトのエンドポイント。 インターネット、クラシックネットワーク、または仮想プライベートクラウド (VPC) のエンドポイントを使用して、Simple Log Serviceにアクセスできます。 詳細については、「エンドポイント」をご参照ください。
test-project.cn-hangzhou.log.aliyuncs.com
認証設定
認証設定は、gRPCまたはHTTPSプロトコルのヘッダー、またはOpenTelemetryプロトコルの [リソース] フィールドで設定できます。 次の表に、必須フィールドを示します。
OpenTelemetryリソース
gRPC/HTTPSヘッダーキー
説明
例
sls.otel.project
x-sls-otel-project
Simple Log Serviceプロジェクトの名前。
test-project
sls.otel.instanceid
x-sls-otel-instance-id
トレースインスタンスのID。 詳細については、「トレースインスタンスの作成」をご参照ください。
test-otel
sls.otel.akid
x-sls-otel-ak-id
Alibaba CloudアカウントのAccessKey ID。
Simple Log Serviceプロジェクトの書き込み権限のみを持つResource Access Management (RAM) ユーザーのAccessKeyペアを使用することを推奨します。 AccessKey ペアは、AccessKey ID と AccessKey Secret で構成されます。 特定のプロジェクトの書き込み権限をRAMユーザーに付与する方法については、「カスタムポリシーを使用してRAMユーザーに権限を付与する」をご参照ください。 AccessKeyペアの取得方法については、「AccessKeyペア」をご参照ください。
なし
sls.otel.aksecret
x-sls-otel-ak-secret
Alibaba CloudアカウントのAccessKeyシークレット。
Simple Log Serviceプロジェクトの書き込み権限のみを持つRAMユーザーのAccessKeyペアを使用することを推奨します。
なし
OpenTelemetryコレクターを使用してトレースデータを転送する
OpenTelemetryコレクターを設定します。
config.yamlという名前のファイルを作成します。
次のコードをconfig.yamlファイルに追加します。
次のコードの変数を実際の値に置き換えます。 変数の詳細については、「変数」をご参照ください。
receivers: otlp: protocols: grpc: endpoint: "0.0.0.0:55680" http: endpoint: "0.0.0.0:55681" exporters: logging/detail: loglevel: debug alibabacloud_logservice/traces: endpoint: "${endpoint}" project: "${project}" logstore: "${instance-id}-traces" access_key_id: "${access-key-id}" access_key_secret: "${access-key-secret}" alibabacloud_logservice/metrics: endpoint: "${endpoint}" project: "${project}" logstore: "${instance-id}-metrics" access_key_id: "${access-key-id}" access_key_secret: "${access-key-secret}" alibabacloud_logservice/logs: endpoint: "${endpoint}" project: "${project}" logstore: "${instance-id}-logs" access_key_id: "${access-key-id}" access_key_secret: "${access-key-secret}" service: pipelines: traces: receivers: [otlp] # Set the receivers parameter to otlp. exporters: [alibabacloud_logservice/traces] # Set the exporters parameter to alibabacloud_logservice/traces. # for debug #exporters: [logging/detail,alibabacloud_logservice/traces] metrics: receivers: [otlp] exporters: [alibabacloud_logservice/metrics] logs: receivers: [otlp] exporters: [alibabacloud_logservice/logs]
表 2. 変数
変数
説明
例
${endpoint}
Simple Log Serviceのエンドポイント。 形式は ${region-endpoint} です。 ${region-endpoint} はプロジェクトのエンドポイントです。 インターネット、クラシックネットワーク、またはVPCのエンドポイントを使用して、Simple Log Serviceにアクセスできます。 詳細については、「エンドポイント」をご参照ください。
cn-hangzhou.log.aliyuncs.com
${project}
Simple Log Serviceプロジェクトの名前。
test-project
${instance-id}
トレースインスタンスの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"