跳至内容

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

1 分钟阅读
0

我想监控在 AWS Fargate 上运行的 Amazon Elastic Container Service (Amazon ECS) 任务的高内存利用率。

解决方法

创建 CloudWatch 警报

完成以下步骤:

  1. 打开 Amazon CloudWatch 控制台
  2. 选择 Alarms(警报),然后选择 All alarms(所有警报)。
  3. 选择 Create alarm(创建警报)。
  4. 使用统计数据、周期和阈值设置警报条件。

**注意:**当 Amazon ECS 服务使用 Fargate 启动类型时,CloudWatch 会自动开启内存和 CPU 利用率指标。

要查看 CloudWatch 指标,请参阅查看可用指标

为您的 Fargate 任务启用 CloudWatch Logs

完成以下步骤:

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

使用 Container Insights 监控内存利用率

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

完成以下步骤:

  1. 打开 CloudWatch 控制台
  2. 在导航窗格中,选择 Insights,然后选择 Container Insights
  3. Service(服务)下拉列表中,选择 ECS
  4. 使用下拉菜单选择要查看的资源类型。
    **注意:**任务按每个集群的任务定义分组。
  5. 要获取有关任务定义的详细信息,请选择任务定义的名称。
  6. Task definition details(任务定义详细信息)视图中,选择 View logs(查看日志),然后打开 CloudWatch Logs Insights。
  7. Query(查询)文本框中,输入以下查询,然后选择 Run query(运行查询):
    stats avg(MemoryUtilized) by bin (30m) as period, TaskDefinitionFamily, TaskDefinitionRevision | filter Type = "Task" | sort period desc, TaskDefinitionFamily |  limit 10

相关信息

适用于 Amazon ECS 的 AWS Fargate

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

How Amazon ECS manages CPU and memory resources(Amazon ECS 如何管理 CPU 和内存资源)

如何配置 CloudWatch Container Insights 来监控我的 Amazon ECS 任务和容器实例?

AWS 官方已更新 7 个月前