您可以通過直接發送方式或OpenTelemetry Collector轉寄方式,將Jaeger平台上的Trace資料發送到Log Service。
前提條件
已建立Trace執行個體。更多資訊,請參見建立Trace執行個體。直接發送
使用Jaeger協議直接發送Trace資料到Log Service時,您需要在Jaeger平台上配置存取點資訊和鑒權資訊,詳細說明如下:
- 存取點資訊
- HTTPS協議的存取點為${endpoint}/jaeger/api/traces,例如https://test-project.cn-hangzhou-intranet.log.aliyuncs.com/jaeger/api/traces。
- gRPC協議的存取點為${endpoint}:10010,例如test-project.cn-hangzhou-intranet.log.aliyuncs.com:10010。警告 為保證傳輸安全性,使用gRPC協議時必須開啟TLS。
其中,${endpoint}需根據實際情況替換,詳細說明如下表所示。表 1. 變數說明 變數 說明 樣本 ${endpoint} Log ServiceProject的接入地址,格式為${project}.${region-endpoint},其中: - ${project}:Log ServiceProject名稱。
- ${region-endpoint}:Log ServiceProject所在地區的訪問網域名稱,支援公網和阿里雲內網(傳統網路、VPC)。更多資訊,請參見服務入口。
test-project.cn-hangzhou.log.aliyuncs.com - 鑒權資訊
您可以在gRPC協議、HTTPS協議的Header中或者Jaeger協議的Tag欄位中配置鑒權資訊,具體欄位及詳細說明如下表所示。
Jaeger Tag gRPC/HTTPS Header Key 說明 樣本 sls.otel.project x-sls-otel-project Log ServiceProject。 test-project sls.otel.instanceid x-sls-otel-instance-id Trace服務執行個體ID。更多資訊,請參見建立Trace執行個體。 test-traces sls.otel.akid x-sls-otel-ak-id 阿里雲帳號AccessKey ID。 建議您使用只具備Log ServiceProject寫入許可權的RAM使用者的AccessKey(包括AccessKey ID和AccessKey Secret)。授予RAM使用者向指定Project寫入資料許可權的具體操作,請參見授權。如何擷取AccessKey的具體操作,請參見存取金鑰。
無 sls.otel.aksecret x-sls-otel-ak-secret 阿里雲帳號AccessKey Secret。 建議您使用只具備Log ServiceProject寫入許可權的RAM使用者的AccessKey。
無
通過OpenTelemetry Collector轉寄
- 安裝OpenTelemetry Collector。
- 下載OpenTelemetry Collector。
- 配置OpenTelemetry Collector。
- 建立config.yaml檔案。
- 在config.yaml檔案中添加如下代碼。
如下代碼中的變數需根據實際情況替換。關於變數的詳細說明,請參見變數說明。
receivers: jaeger: protocols: grpc: endpoint: 0.0.0.0:6831 thrift_binary: endpoint: 0.0.0.0:6832 thrift_compact: endpoint: 0.0.0.0:6833 thrift_http: endpoint: 0.0.0.0:6834 exporters: logging/detail: loglevel: debug alibabacloud_logservice/sls-traces: endpoint: "${endpoint}" project: "${project}" logstore: "${instance}-traces" access_key_id: "${access-key-id}" access_key_secret: "${access-key-secret}" service: pipelines: traces: receivers: [jaeger] #接收端配置為jaeger。 exporters: [alibabacloud_logservice/sls-traces] #發送端配置為alibabacloud_logservice/sls-traces。 # for debug #exporters: [logging/detail,alibabacloud_logservice/sls-traces]
表 2. 變數說明 變數 說明 樣本 ${endpoint} Log ServiceProject的接入地址,格式為${region-endpoint}。其中${region-endpoint}為Log ServiceProject所在地區的訪問網域名稱,支援公網和阿里雲內網(傳統網路、VPC)。更多資訊,請參見服務入口。 cn-hangzhou.log.aliyuncs.com:10010 ${project} Log ServiceProject名稱。 test-project ${instance} Trace服務執行個體ID。更多資訊,請參見建立Trace執行個體。 test-traces ${access-key-id} 阿里雲帳號AccessKey ID。 建議您使用只具備Log ServiceProject寫入許可權的RAM使用者的AccessKey。授予RAM使用者向指定Project寫入資料許可權的具體操作,請參見授權。如何擷取AccessKey的具體操作,請參見存取金鑰。
無 ${access-key-secret} 阿里雲帳號AccessKey Secret。 建議您使用只具備Log ServiceProject寫入許可權的RAM使用者的AccessKey。
無
- 啟動OpenTelemetry Collector。
./otelcontribcol_linux_amd64 --config="./config.yaml"
- 配置Jaeger。將Jaeger的輸出端地址改為OpenTelemetry Collector監聽的地址。例如OpenTelemetry Collector的地址為${collector-host},則將Jaeger的輸出地址設定為${collector-host}:${port}/api/traces。說明 如果OpenTelemetry Collector報錯(解析失敗),則可切換Jaeger Receiver的4種接收模式逐一排查。