我想监控在 AWS Fargate 上运行的 Amazon Elastic Container Service (Amazon ECS) 任务的高内存利用率。
解决方法
要在 Fargate 上监控 Amazon ECS 任务的高内存利用率,请使用以下方法。
使用 Amazon CloudWatch 指标
在 Amazon ECS 控制台或 CloudWatch 控制台中查看您的 CloudWatch 指标。
**注意:**使用 Fargate 启动类型的 Amazon ECS 服务会自动启用 CloudWatch 内存和 CPU 利用率指标。
为您的 Fargate 任务启用 CloudWatch Logs
完成以下步骤:
- 启用 awslogs 日志驱动程序。
- 将所需的日志配置参数添加到任务定义中。
- 向您的任务的 AWS Identity and Access Management (IAM) 角色授予向 CloudWatch Logs 发送日志的权限。
- 在 CloudWatch 控制台中查看您的日志。
**注意:**在查看日志之前,您的任务必须进入 Running(正在运行)状态。
使用 Container Insights 监控内存利用率
要监控 Fargate 任务中每个容器的内存利用率,请使用 CloudWatch Container Insights。
完成以下步骤:
- 打开 CloudWatch 控制台。
- 在导航窗格的 Container Insights 下,选择 Resources(资源)。
- 要获取有关资源的详细信息,请选择该资源的名称。
**注意:**任务按每个集群的任务定义分组。
- 要获取有关任务定义的详细信息,请选择任务定义的名称。
- 在 Container Performance(容器性能)部分中,选择 Actions(操作),然后选择 View performance logs(查看性能日志)以打开 CloudWatch Logs Insights。
- 对于 Query(查询),输入以下查询,然后选择 Run query(运行查询):
stats avg(MemoryUtilized) by bin (30m) as period, TaskDefinitionFamily, TaskDefinitionRevision | filter Type = "Task" | sort period desc, TaskDefinitionFamily | limit 10
使用 Container Insights 设置高内存利用率警报
完成以下步骤:
- 打开 CloudWatch 控制台。
- 在导航窗格的 Container Insights 下,选择 Performance Monitoring(性能监控)。
- 在菜单上,选择 ECS Tasks(ECS 任务)或 ECS Services(ECS 服务)。
- 在 Memory Utilization(内存利用率)卡片上,展开该卡片,然后选择 View in Metrics(在指标中查看)。
- 选择 Graphed metrics(图表化指标)选项卡,然后在任务的 Actions(操作)列中选择钟形图标。
- 在 Specify metric and conditions(指定指标和条件)页面上,选择您的值或保留默认值。
- 在 Conditions(条件)部分的 Define the threshold value(定义阈值)中,输入 70 以将警报的内存利用率阈值设置为 70%。
- 选择 Next(下一步)。
- 在 Configure actions(配置操作)页面的 Select an SNS topic(选择 SNS 主题)部分中,选择 Create new topic(创建新主题)。
- 在 Send a notification to(发送通知到)中,输入您希望将警报通知发送到的电子邮箱 ID。
- 选择 Next(下一步)。
- 在 Add name and description(添加名称和描述)页面的 Alarm name(警报名称)中输入警报的名称。
- (可选)在 Alarm description(警报描述)中,输入警报的描述。
- 选择 Next(下一步),然后选择 Create alarm(创建角色)。
- 要确认您的订阅,请按照确认电子邮件中的说明进行操作。
**注意:**CloudWatch 不会自动根据日志数据创建所有可能的指标。要查看其他指标和详细信息,请使用 CloudWatch Logs Insights 分析日志数据。
相关信息
适用于 Amazon ECS 的 AWS Fargate
适用于 Amazon ECS 的 Amazon CloudWatch Container Insights 简介
Amazon ECS 如何管理 CPU 和内存资源