部署 AWS Distro for OpenTelemetry 以收集 Amazon ECS叢集上的EC2執行個體層級指標 - Amazon CloudWatch

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

部署 AWS Distro for OpenTelemetry 以收集 Amazon ECS叢集上的EC2執行個體層級指標

使用本節中的步驟,使用 AWS Distro for OpenTelemetry 在 Amazon ECS叢集上收集EC2執行個體層級指標。如需 AWS 適用於 的 Distro 的詳細資訊 OpenTelemetry,請參閱AWS 適用於 的 Distro OpenTelemetry

這些步驟假設您已有執行 Amazon 的叢集ECS。此叢集必須使用EC2啟動類型部署。如需將 AWS Distro for Open Telemetry 與 Amazon 搭配使用ECS並為此設定 Amazon ECS叢集的詳細資訊,請參閱在 Amazon Elastic Container Service 中設定 AWS Distro for OpenTelemetry Collector 的ECSEC2執行個體層級指標

使用 快速設定 AWS CloudFormation

下載 AWS CloudFormation 範本檔案,以在 ECS上安裝適用於 Amazon 收集器的 AWS OpenTelemetry DistroEC2。執行下列 curl 命令。

curl -O https://raw.githubusercontent.com/aws-observability/aws-otel-collector/main/deployment-template/ecs/aws-otel-ec2-instance-metrics-daemon-deployment-cfn.yaml

下載範本檔案後,請開啟並取代 PATH_TO_CloudFormation_TEMPLATE 以及您儲存範本檔案的路徑。然後匯出下列參數並執行 AWS CloudFormation 命令,如下列命令所示。

  • Cluster_Name – Amazon ECS叢集名稱

  • AWS_Region – 傳送資料的 區域

  • PATH_TOCloudFormation_TEMPLATE– 您儲存 AWS CloudFormation 範本檔案的路徑。

  • 命令 – 若要讓 AWS Distro for OpenTelemetry Collector 收集 Amazon ECS on Amazon 的執行個體層級指標EC2,您必須--config=/etc/ecs/otel-instance-metrics-config.yaml為此參數指定 。

ClusterName=Cluster_Name Region=AWS_Region command=--config=/etc/ecs/otel-instance-metrics-config.yaml aws cloudformation create-stack --stack-name AOCECS-${ClusterName}-${Region} \ --template-body file://PATH_TO_CloudFormation_TEMPLATE \ --parameters ParameterKey=ClusterName,ParameterValue=${ClusterName} \ ParameterKey=CreateIAMRoles,ParameterValue=True \ ParameterKey=command,ParameterValue=${command} \ --capabilities CAPABILITY_NAMED_IAM \ --region ${Region}

執行此命令之後,請使用 Amazon ECS主控台來查看任務是否正在執行。

故障診斷快速設定

若要檢查 AWS CloudFormation 堆疊的狀態,請輸入下列命令。

ClusterName=cluster-name Region=cluster-region aws cloudformation describe-stack --stack-name AOCECS-$ClusterName-$Region --region $Region

如果 StackStatus 的值不是 CREATE_COMPLETECREATE_IN_PROGRESS,請檢查堆疊事件以找出錯誤。輸入以下命令。

ClusterName=cluster-name Region=cluster-region aws cloudformation describe-stack-events --stack-name AOCECS-$ClusterName-$Region --region $Region

若要檢查 AOCECS 常駐程式服務的狀態,請輸入以下命令。在輸出中,您應該會看到 runningCount 等於 deployment (部署) 區段的 desiredCount。如果不相等,請檢查輸出的 failures (失敗) 區段。

ClusterName=cluster-name Region=cluster-region aws ecs describe-services --services AOCECS-daemon-service --cluster $ClusterName --region $Region

您也可以使用 CloudWatch Logs 主控台來檢查客服人員日誌。尋找 /aws/ecs/containerinsights/{ClusterName}/performance 日誌群組。

手動和自訂設定

請按照本節中的步驟手動部署 的 AWS Distro OpenTelemetry ,以從託管在 Amazon 執行個體上的 Amazon ECS叢集收集EC2執行個體層級指標。

步驟 1:必要的角色和政策

需要兩個 IAM 角色。如果角色不存在,即必須建立角色。如需這些角色的詳細資訊,請參閱建立IAM政策建立IAM角色。

步驟 2:建立任務定義

建立任務定義,並使用它來啟動 的 AWS OpenTelemetry Distro 作為常駐程式服務。

若要使用任務定義範本來建立任務定義,請遵循使用 AWS OTel Collector 為EC2執行個體建立ECSEC2任務定義中的指示。

若要使用 Amazon ECS主控台來建立任務定義,請依照安裝 AWS OTel收集器中的指示,透過 AWS 主控台建立 Amazon ECSEC2執行個體指標 的任務定義

步驟 3:啟動常駐程式服務

若要將 AWS Distro for OpenTelemetry 啟動為常駐程式服務,請遵循使用常駐程式服務在 Amazon Elastic Container Service (Amazon ECS) 上執行任務中的指示。

(選用) 進階組態

或者,您可以使用 SSM ,在託管於 Amazon EC2執行個體的 AWS Amazon ECS叢集 OpenTelemetry 中指定適用於 的 Distro 的其他組態選項。如需建立組態檔案的詳細資訊,請參閱自訂 OpenTelemetry 組態 。如需有關您在組態檔案中可使用之選項的詳細資訊,請參閱 AWS Container Insights Receiver