使用 OpenTelemetry 收集指標和追蹤 - Amazon CloudWatch

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用 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" } } } }