本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 OpenTelemetry 收集指標和追蹤
您可以使用 CloudWatch 代理程式搭配 OpenTelemetry Protocol (OTLP) 從您的應用程式或服務收集指標和追蹤,這是熱門的開放原始碼解決方案。您可以使用任何 OpenTelemetry SDK 將指標和追蹤傳送至 CloudWatch 代理程式。如需可用 OpenTelemetry SDKs的詳細資訊,請參閱 OpenTelemetry 支援的語言 APIs和 SDKs。
若要收集 OpenTelemetry 指標和追蹤,請將 otlp
區段新增至 CloudWatch 代理程式組態檔案。區段具有下列欄位:
-
grpc_endpoint
- 選用。指定 CloudWatch 代理程式的地址,以用來接聽使用 gRPC 遠端程序呼叫傳送的 OpenTelemetry 指標或追蹤。格式是ip:port
。此地址必須符合在 OpenTelemetry SDK 中為 gRPC 匯出程式設定的地址。如果您省略此欄位,預設為使用127.0.0.1:4317
。 -
http_endpoint
- 選用。指定 CloudWatch 代理程式的地址,以用來接聽透過 HTTP 傳送的 OpenTelemetry 指標或追蹤。格式是ip:port
。此地址必須符合在 OpenTelemetry SDK 中為 HTTP 匯出程式設定的地址。如果您省略此欄位,預設為使用127.0.0.1:4318
。 -
tls
- 選用。指定應使用 TLS 設定伺服器。-
cert_file
– 用於 TLS 必要連線的 TLS 憑證路徑。 -
key_file
– 用於 TLS 必要連線的 TLS 金鑰路徑。
-
otlp
區段可以放置在 CloudWatch 代理程式組態檔案中的多個區段中,具體取決於您要傳送指標和追蹤的方式和位置。每個otlp
區段都需要唯一的端點。如需分割指標和追蹤端點的詳細資訊,請參閱 OpenTelemetry SDK 文件中的 OTLP Exporter Configuration
若要將指標傳送至 CloudWatch 或 Amazon Managed Service for Prometheus,請在 otlp
區段metrics_collected
下方新增 metrics
區段。如需將指標傳送至不同目的地的詳細資訊,請參閱 手動建立或編輯 CloudWatch 代理程式組態檔案。下列範例顯示將指標傳送至 CloudWatch 的組態:
{ "metrics": { "metrics_collected": { "otlp": { "grpc_endpoint": "127.0.0.1:4317", "http_endpoint": "127.0.0.1:4318" } } } }
若要使用內嵌指標格式 (EMF) 將指標傳送至 Amazon CloudWatch Logs,請在 otlp
區段metrics_collected
下方新增 logs
區段。根據預設,這會將 EMF 日誌傳送至/aws/cwagent
日誌群組和產生的日誌串流。根據預設,指標會擷取到CWAgent
命名空間中。下列範例顯示將指標作為 EMF 日誌傳送至 CloudWatch Logs 的組態:
{ "logs": { "metrics_collected": { "otlp": { "grpc_endpoint": "127.0.0.1:4317", "http_endpoint": "127.0.0.1:4318" } } } }
若要傳送追蹤到 AWS X-Ray,請在 otlp
區段traces_collected
下方新增 traces
區段。下列範例顯示將追蹤傳送至 X-Ray 的組態:
{ "traces": { "traces_collected": { "otlp": { "grpc_endpoint": "127.0.0.1:4317", "http_endpoint": "127.0.0.1:4318" } } } }