View a markdown version of this page

適用於 Amazon ECS 叢集的範例 App Mesh 工作負載 - Amazon CloudWatch

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

適用於 Amazon ECS 叢集的範例 App Mesh 工作負載

若要從 Amazon ECS 的範例 Prometheus 工作負載收集指標,您必須在叢集中執行 Container Insights。如需安裝 Container Insights 的相關資訊,請參閱 Amazon ECS

首先,按照這個演練在 Amazon ECS 叢集上部署範例色彩應用程式。完成後,您將在連接埠 9901 上公開 App Mesh Prometheus 指標。

接下來,請依照下列步驟,在安裝彩色應用程式的相同 Amazon ECS 叢集上安裝具有 Prometheus 監控的 CloudWatch 代理程式。本節中的步驟會以橋接網路模式安裝 CloudWatch 代理程式。

下列步驟也將使用您在演練中設定的環境變數 ENVIRONMENT_NAMEAWS_PROFILE 以及 AWS_DEFAULT_REGION

若要安裝具有 Prometheus 監控的 CloudWatch 代理程式以進行測試
  1. 輸入下列命令來下載 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
  2. 輸入下列命令,設定網路模式。

    export ECS_CLUSTER_NAME=${ENVIRONMENT_NAME} export ECS_NETWORK_MODE=bridge
  3. 輸入下列命令來建立 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}
  4. (選用) 建立 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 CLI 的預設輸出格式設定為 JSON,以便 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}