本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
適用於 Amazon ECS 叢集的範例 App Mesh 工作負載
若要從 Amazon ECS 的範例 Prometheus 工作負載收集指標,您必須在叢集中執行 Container Insights。如需安裝 Container Insights 的相關資訊,請參閱 在 Amazon ECS 上設定 Container Insights。
首先,按照這個演練
接下來,請依照下列步驟,在安裝彩色應用程式的相同 Amazon ECS 叢集上安裝具有 Prometheus 監控的 CloudWatch 代理程式。本節中的步驟會以橋接網路模式安裝 CloudWatch 代理程式。
下列步驟也將使用您在演練中設定的環境變數 ENVIRONMENT_NAME
、AWS_PROFILE
以及 AWS_DEFAULT_REGION
。
若要安裝具有 Prometheus 監控的 CloudWatch 代理程式以進行測試
-
輸入下列命令來下載 AWS 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
-
輸入下列命令來建立 AWS 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}
-
(選用) 建立 AWS 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 代理程式
當您完成測試時,請輸入下列命令,透過刪除 AWS 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}