使用 AWS Distro for OpenTelemetry - Amazon CloudWatch

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

使用 AWS Distro for OpenTelemetry

您可以設定 Container Insights,以使用 AWS Distro for OpenTelemetry 收集器來收集 Amazon EKS 叢集中的指標。如需 AWS Distro for OpenTelemetry 的詳細資訊,請參閱 AWS Distro for OpenTelemetry

重要

如果您使用 AWS Distro for OpenTelemetry 安裝 ,則會安裝 Container Insights,但不會取得具有 Amazon EKS 增強可觀測性的 Container Insights。您不會在 Container Insights 搭配 Amazon EKS 的增強可觀測性中收集支援的詳細指標。

Container Insights 的設定方式取決於叢集是託管在 Amazon EC2 執行個體還是 AWS Fargate上。

託管於 Amazon EC2 的 Amazon EKS 叢集

如果您尚未這樣做,請確定您已滿足包含必要 IAM 角色在內的先決條件。如需詳細資訊,請參閱在 CloudWatch 中驗證 Container Insights 的先決條件

Amazon 提供了 Helm Chart,您可以使用此功能來設定監控 Amazon EC2 上的 Amazon Elastic Kubernetes Service。此監控會將 AWS Distro for OpenTelemetry (ADOT) 收集器用於指標,而 Fluent Bit 用於日誌。因此,Helm Chart 對於在 Amazon EC2 上使用 Amazon EKS 並希望收集指標和日誌以傳送到 CloudWatch Container Insights 的客戶非常有用。如需此 Helm Chart 的詳細資訊,請參閱用於將 EC2 上的 EKS 指標和日誌傳送到 Amazon CloudWatch Container Insights 的 ADOT Helm Chart

或者,您也可以使用本節其他部分中的說明。

首先,輸入下列命令,將 AWS Distro for OpenTelemetry 收集器部署為 DaemonSet。

curl https://raw.githubusercontent.com/aws-observability/aws-otel-collector/main/deployment-template/eks/otel-container-insights-infra.yaml | kubectl apply -f -

若要確認收集器正在執行中,請輸入下列命令。

kubectl get pods -l name=aws-otel-eks-ci -n aws-otel-eks

如果此命令的輸出中包括多個處於 Running 狀態的 pod,則收集器正在執行並從叢集收集指標。收集器會建立名為 aws/containerinsights/cluster-name/performance 的日誌群組,並將效能日誌事件傳送給它。

如需如何在 CloudWatch 中查看 Container Insights 指標的詳細資訊,請參閱 檢視 Container Insights 指標

AWS 也提供此案例的 GitHub 文件。如果您想要自訂 Container Insights 發佈的指標和日誌,請參閱 https://aws-otel.github.io/docs/getting-started/container-insights/eks-infra

託管於 Fargate 的 Amazon EKS 叢集

如需如何設定和部署 ADOT 收集器以從部署到 Fargate 上 Amazon EKS 叢集的工作負載收集系統指標,並將其傳送至 CloudWatch Container Insights 的說明,請參閱 AWS Distro for OpenTelemetry 文件中的 Container Insights EKS Fargate