App Mesh 集群的示例Amazon ECS工作负载 - Amazon CloudWatch
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

App Mesh 集群的示例Amazon ECS工作负载

要从 的示例 Prometheus 工作负载收集指标Amazon ECS,您必须在集群中运行 Container Insights。有关安装 Container Insights 的信息,请参阅在 Amazon ECS 上设置 Container Insights

首先,按照本演练在Amazon ECS集群上部署示例颜色应用程序。完成后,您将在端口 9901 上公开 App Mesh Prometheus 指标。

接下来,执行以下步骤以在安装了颜色应用程序的同一CloudWatch集群上安装具有 Prometheus 监控功能的 Amazon ECS 代理。本节中的步骤以桥接网络模式安装CloudWatch代理。

您在演练中ENVIRONMENT_NAME设置的环境变量 AWS_PROFILEAWS_DEFAULT_REGION和 也将在以下步骤中使用。

安装具有 Prometheus 监控的 CloudWatch 代理以进行测试

  1. 输入以下命令以下载AWS CloudFormation模板。

    curl -O https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/master/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 代理

完成测试后,请输入以下命令以通过删除CloudWatch堆栈来卸载AWS CloudFormation代理。

aws cloudformation delete-stack \ --stack-name CWAgent-Prometheus-ECS-${ECS_CLUSTER_NAME}-EC2-${ECS_NETWORK_MODE} \ --region ${AWS_DEFAULT_REGION} \ --profile ${AWS_PROFILE}