我想要配置 Amazon CloudWatch Container Insights 来监控我的 Amazon Elastic Container Service(Amazon ECS)任务和容器部署。
解决方案
**注意:**如果在运行 AWS 命令行界面(AWS CLI)命令时收到错误,请参阅 Troubleshoot AWS CLI errors。此外,请确保使用的是最新版本的 AWS CLI。
要配置 CloudWatch Container Insights 以监控 Amazon ECS 任务和容器部署,请完成下面的步骤。
修改账户设置
要为创建的所有新集群启用 Container Insights,请配置 Container Insights 账户设置。
使用 CloudWatch 控制台修改账户设置
完成下面的步骤:
- 打开 Amazon ECS 控制台。
- 在导航栏中,使用区域选择器选择一个区域。
- 选择账户设置。
- 在 CloudWatch Container Insights 部分中,设置或清除经过身份验证的 AWS Identity and Access Management(IAM)用户和角色的每个设置的复选框。
- 配置这些设置后,选择保存。
- 在确认屏幕上,选择确认。
以 AWS 根用户账户身份登录时,可以更改该账户的默认设置。或者,可以更改该账户中任何特定 IAM 用户或 IAM 角色的设置。
使用 AWS CLI 修改所有 IAM 用户或角色的默认账户设置
要修改账户中所有 IAM 用户或角色的默认账户设置,请运行下面的 AWS CLI 命令:
aws ecs put-account-setting-default --name containerInsights --value enabled --region <REGION_NAME>
**注意:**除非 IAM 用户或角色明确覆盖这些设置,否则上述命令的更改将应用于整个 AWS 账户。有关更多信息,请参阅修改 Amazon ECS 账户设置。
创建已启用 Container Insights 的集群
要在创建集群时启用 Container Insights,请使用 Amazon ECS 控制台或 AWS CLI。
创建已启用 Container Insights 的集群
完成下面的步骤:
- 打开 Amazon ECS 控制台。
- 在导航栏中,使用区域选择器选择一个区域。
- 在导航窗格上,选择集群。
- 选择创建集群。
- 在创建集群页上,选择创建集群所需的设置。
- 展开监控,然后选择使用 Container Insights。
- 选择创建。
使用 AWS CLI 创建启用了 Container Insights 的集群
要创建启用了 Container Insights 的新集群,请运行下面的命令:
aws ecs create-cluster --cluster-name <CLUSTER_NAME> --settings "name=containerInsights,value=enabled" --region <REGION_NAME>
在现有 Amazon ECS 集群上启用 Container Insights
要在现有集群上启用 Container Insights,请运行下面的命令:
aws ecs update-cluster-settings --cluster <CLUSTER_NAME> --settings name=containerInsights,value=enabled --region <REGION_NAME>
Container Insights 选项
使用 CloudWatch Container Insights 时,请查看以下选项:
- 当您使用 Amazon Elastic Compute Cloud(Amazon EC2)启动类型时,任务不需要具有容器 CPU 资源配置。要在 Amazon ECS 任务级别显示 CPU 利用率指标,请在任务定义中定义任务级别或容器级别的 CPU 参数。
- 网络指标适用于在 AWS Fargate 上运行的所有任务以及在使用桥接的 Amazon EC2 实例上运行的任务。指标也适用于使用 Amazon Virtual Private Cloud(Amazon VPC)网络模式的任务。
- 要从托管在 EC2 实例上的 ECS 集群收集实例级指标,请部署 CloudWatch 代理。
使用 CloudWatch Logs Insights 查看 Container Insights 数据
Containers Insights 收集的用于 Amazon ECS 收集的指标是系列级别的聚合和平均指标。可使用 CloudWatch Logs Insights 来分析数据。请注意,CloudWatch Logs Insights 不跟踪单个任务。
Container Insights 检索性能日志事件,并自动将性能指标收集为日志。要收集性能指标,请打开 CloudWatch Logs Insights 控制台。然后,使用下面的格式选择一个日志组:
/aws/ecs/containerinsights/<CLUSTER_NAME>/performance
下面的示例查询显示了任务级别的 CPU 和内存使用情况:
stats avg(CpuUtilized) as CPU, avg(MemoryUtilized) as Mem by TaskId
| filter Type="Task"
| sort Mem, CPU desc
相关信息
Amazon ECS 集群
Amazon ECS Container Insights 指标
在 Amazon ECS 上针对集群级别和服务级别指标设置 Container Insights
部署 CloudWatch 代理以收集 Amazon ECS 上的 EC2 实例级别指标
查看 Container Insights 指标