如何监控 Fargate 上 Amazon ECS 任务的高内存利用率?

2 分钟阅读
0

我想监控在 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

完成以下步骤:

  1. 启用 awslogs 日志驱动程序
  2. 将所需的日志配置参数添加到任务定义中
  3. 向您的任务的 AWS Identity and Access Management (IAM) 角色授予向 CloudWatch Logs 发送日志的权限。
  4. 在 CloudWatch 控制台中查看您的日志

**注意:**在查看日志之前,您的任务必须进入 Running(正在运行)状态。

使用 Container Insights 监控内存利用率

要监控 Fargate 任务中每个容器的内存利用率,请使用 CloudWatch Container Insights

完成以下步骤:

  1. 打开 CloudWatch 控制台
  2. 在导航窗格的 Container Insights 下,选择 Resources(资源)。
  3. 要获取有关资源的详细信息,请选择该资源的名称。
    **注意:**任务按每个集群的任务定义分组。
  4. 要获取有关任务定义的详细信息,请选择任务定义的名称。
  5. Container Performance(容器性能)部分中,选择 Actions(操作),然后选择 View performance logs(查看性能日志)以打开 CloudWatch Logs Insights。
  6. 对于 Query(查询),输入以下查询,然后选择 Run query(运行查询):
    stats avg(MemoryUtilized) by bin (30m) as period, TaskDefinitionFamily, TaskDefinitionRevision                | filter Type = "Task" | sort period desc, TaskDefinitionFamily |  limit 10

使用 Container Insights 设置高内存利用率警报

完成以下步骤:

  1. 打开 CloudWatch 控制台
  2. 在导航窗格的 Container Insights 下,选择 Performance Monitoring(性能监控)。
  3. 在菜单上,选择 ECS Tasks(ECS 任务)或 ECS Services(ECS 服务)。
  4. Memory Utilization(内存利用率)卡片上,展开该卡片,然后选择 View in Metrics(在指标中查看)。
  5. 选择 Graphed metrics(图表化指标)选项卡,然后在任务的 Actions(操作)列中选择钟形图标。
  6. Specify metric and conditions(指定指标和条件)页面上,选择您的值或保留默认值。
  7. Conditions(条件)部分的 Define the threshold value(定义阈值)中,输入 70 以将警报的内存利用率阈值设置为 70%。
  8. 选择 Next(下一步)。
  9. Configure actions(配置操作)页面的 Select an SNS topic(选择 SNS 主题)部分中,选择 Create new topic(创建新主题)。
  10. Send a notification to(发送通知到)中,输入您希望将警报通知发送到的电子邮箱 ID。
  11. 选择 Next(下一步)。
  12. Add name and description(添加名称和描述)页面的 Alarm name(警报名称)中输入警报的名称。
  13. (可选)在 Alarm description(警报描述)中,输入警报的描述。
  14. 选择 Next(下一步),然后选择 Create alarm(创建角色)。
  15. 要确认您的订阅,请按照确认电子邮件中的说明进行操作。
    **注意:**CloudWatch 不会自动根据日志数据创建所有可能的指标。要查看其他指标和详细信息,请使用 CloudWatch Logs Insights 分析日志数据

相关信息

适用于 Amazon ECS 的 AWS Fargate

适用于 Amazon ECS 的 Amazon CloudWatch Container Insights 简介

Amazon ECS 如何管理 CPU 和内存资源

AWS 官方
AWS 官方已更新 1 年前