本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
適用於 Amazon ECS 叢集的範例 App Mesh 工作負載
若要從 Amazon ECS 的範例 Prometheus 工作負載收集指標,您必須在叢集中執行 Container Insights。如需安裝 Container Insights 的相關資訊,請參閱 Amazon ECS。
首先,按照這個演練
接下來,請依照下列步驟,在安裝彩色應用程式的相同 Amazon ECS 叢集上安裝具有 Prometheus 監控的 CloudWatch 代理程式。本節中的步驟會以橋接網路模式安裝 CloudWatch 代理程式。
下列步驟也將使用您在演練中設定的環境變數 ENVIRONMENT_NAME、AWS_PROFILE 以及 AWS_DEFAULT_REGION。
若要安裝具有 Prometheus 監控的 CloudWatch 代理程式以進行測試
-
輸入下列命令來下載 CloudFormation 範本。
curl -O https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/ecs-task-definition-templates/deployment-mode/replica-service/cwagent-prometheus/cloudformation-quickstart/cwagent-ecs-prometheus-metric-for-bridge-host.yaml -
輸入下列命令,設定網路模式。
export ECS_CLUSTER_NAME=${ENVIRONMENT_NAME} export ECS_NETWORK_MODE=bridge -
輸入下列命令來建立 CloudFormation 堆疊。
aws cloudformation create-stack --stack-name CWAgent-Prometheus-ECS-${ECS_CLUSTER_NAME}-EC2-${ECS_NETWORK_MODE} \ --template-body file://cwagent-ecs-prometheus-metric-for-bridge-host.yaml \ --parameters ParameterKey=ECSClusterName,ParameterValue=${ECS_CLUSTER_NAME} \ ParameterKey=CreateIAMRoles,ParameterValue=True \ ParameterKey=ECSNetworkMode,ParameterValue=${ECS_NETWORK_MODE} \ ParameterKey=TaskRoleName,ParameterValue=CWAgent-Prometheus-TaskRole-${ECS_CLUSTER_NAME} \ ParameterKey=ExecutionRoleName,ParameterValue=CWAgent-Prometheus-ExecutionRole-${ECS_CLUSTER_NAME} \ --capabilities CAPABILITY_NAMED_IAM \ --region ${AWS_DEFAULT_REGION} \ --profile ${AWS_PROFILE} -
(選用) 建立 CloudFormation 堆疊時,您會看到
CREATE_COMPLETE訊息。如果您要在看到訊息之前檢查狀態,請輸入下列命令。aws cloudformation describe-stacks \ --stack-name CWAgent-Prometheus-ECS-${ECS_CLUSTER_NAME}-EC2-${ECS_NETWORK_MODE} \ --query 'Stacks[0].StackStatus' \ --region ${AWS_DEFAULT_REGION} \ --profile ${AWS_PROFILE}
疑難排解
演練中的步驟會使用 jq 來剖析 AWS CLI的輸出結果。如需安裝 jq 的詳細資訊,請參閱 jq
$ aws configure
當回應變為 Default output format 時,輸入 json。
解除安裝具有 Prometheus 監控的 CloudWatch 代理程式
當您完成測試時,請輸入下列命令,透過刪除 CloudFormation 堆疊來解除安裝 CloudWatch 代理程式。
aws cloudformation delete-stack \ --stack-name CWAgent-Prometheus-ECS-${ECS_CLUSTER_NAME}-EC2-${ECS_NETWORK_MODE} \ --region ${AWS_DEFAULT_REGION} \ --profile ${AWS_PROFILE}