本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
部署 AWS Distro for OpenTelemetry 以收集 Amazon ECS 叢集上的 EC2 執行個體層級指標
使用本節中的步驟,使用 AWS Distro for OpenTelemetry 在 Amazon ECS 叢集上收集 EC2 執行個體層級指標。如需 AWS Distro for OpenTelemetry 的詳細資訊,請參閱 AWS Distro for OpenTelemetry
這些步驟假設您已經有一個執行 Amazon ECS 的叢集。必須使用 EC2 啟動類型來部署此叢集。如需將 AWS Distro for Open Telemetry 與 Amazon ECS 搭配使用並為此設定 Amazon ECS 叢集的詳細資訊,請參閱在 Amazon Elastic Container Service for ECS EC2 執行個體層級指標中設定 AWS Distro for OpenTelemetry Collector
使用 快速設定 CloudFormation
下載 CloudFormation 範本檔案,以在 EC2 上安裝適用於 Amazon ECS 的 AWS Distro for OpenTelemetry 收集器。執行下列 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 替換為您儲存範本檔案的路徑。然後匯出下列參數並執行 CloudFormation 命令,如下列命令所示。
-
Cluster_Name– Amazon ECS 叢集名稱
-
AWS_Region– 將傳送資料的區域
-
PATH_TO_CloudFormation_TEMPLATE – 儲存 CloudFormation 範本檔案的路徑。
-
command – 若要讓 AWS Distro for OpenTelemetry 收集器收集 Amazon ECS on Amazon EC2 的執行個體層級指標,您必須
--config=/etc/ecs/otel-instance-metrics-config.yaml為此參數指定 。
ClusterName=Cluster_NameRegion=AWS_Regioncommand=--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 主控台查看任務是否正在執行。
故障診斷快速設定
若要檢查 CloudFormation 堆疊的狀態,請輸入下列命令。
ClusterName=cluster-nameRegion=cluster-regionaws cloudformation describe-stack --stack-name AOCECS-$ClusterName-$Region --region $Region
如果 StackStatus 的值不是 CREATE_COMPLETE 或 CREATE_IN_PROGRESS,請檢查堆疊事件以找出錯誤。輸入以下命令。
ClusterName=cluster-nameRegion=cluster-regionaws cloudformation describe-stack-events --stack-name AOCECS-$ClusterName-$Region --region $Region
若要檢查 AOCECS 常駐程式服務的狀態,請輸入以下命令。在輸出中,您應該會看到 runningCount 等於 deployment (部署) 區段的 desiredCount。如果不相等,請檢查輸出的 failures (失敗) 區段。
ClusterName=cluster-nameRegion=cluster-regionaws ecs describe-services --services AOCECS-daemon-service --cluster $ClusterName --region $Region
您也可以使用 CloudWatch Logs 主控台檢查代理程式日誌。尋找 /aws/ecs/containerinsights/{ClusterName}/performance 日誌群組。
手動和自訂設定
請依照本節中的步驟手動部署 AWS Distro for OpenTelemetry,以從託管於 Amazon EC2 執行個體的 Amazon ECS 叢集收集執行個體層級指標。
步驟 1:必要的角色和政策
需要兩個 IAM 角色。如果角色不存在,即必須建立角色。如需這些角色的詳細資訊,請參閱建立 IAM 政策
步驟 2:建立任務定義
建立任務定義,並使用它來啟動 AWS Distro for OpenTelemetry 做為協助程式服務。
若要使用任務定義範本來建立任務定義,請遵循使用 AWS OTel Collector 為 EC2 執行個體建立 ECS EC2 任務定義
若要使用 Amazon ECS 主控台建立任務定義,請遵循 Install AWS OTel Collector 中的指示,方法是透過 Amazon ECS EC2 執行個體指標的 AWS 主控台建立任務定義
步驟 3:啟動常駐程式服務
若要啟動 AWS Distro for OpenTelemetry 做為協助程式服務,請遵循使用協助程式服務在 Amazon Elastic Container Service (Amazon ECS) 上執行任務
(選用) 進階組態
或者,您可以選擇使用 SSM 為 Amazon EC2 執行個體託管之 Amazon ECS 叢集中的 AWS
Distro for OpenTelemetry,指定其他組態選項。如需有關建立組態檔案的詳細資訊,請參閱自訂 OpenTelemetry 組態