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

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

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

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

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

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

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

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

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