本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
App Mesh 集群的示例Amazon ECS工作负载
要从 的示例 Prometheus 工作负载收集指标Amazon ECS,您必须在集群中运行 Container Insights。有关安装 Container Insights 的信息,请参阅在 Amazon ECS 上设置 Container Insights。
首先,按照本演练
接下来,执行以下步骤以在安装了颜色应用程序的同一CloudWatch集群上安装具有 Prometheus 监控功能的 Amazon ECS 代理。本节中的步骤以桥接网络模式安装CloudWatch代理。
您在演练中ENVIRONMENT_NAME
设置的环境变量 AWS_PROFILE
、 AWS_DEFAULT_REGION
和 也将在以下步骤中使用。
安装具有 Prometheus 监控的 CloudWatch 代理以进行测试
-
输入以下命令以下载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
-
通过输入以下命令设置网络模式。
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 的更多信息,请参阅
$ 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}