使用 CloudWatch 监控 Amazon ECS - Amazon Elastic Container Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

使用 CloudWatch 监控 Amazon ECS

您可以使用 Amazon CloudWatch 监控您的 Amazon ECS 资源,此工具可从 Amazon ECS 收集原始数据,并将数据处理为易读的近乎实时的指标。这些统计数据会保存两周,以便您能够访问历史信息并更好地了解您的群集或服务的运行情况。预设情况下,Amazon ECS 指标数据以 1 分钟为间隔自动发送到 CloudWatch。有关 CloudWatch 的更多信息,请参阅 Amazon CloudWatch 用户指南

Amazon ECS 为集群和服务提供免费的指标。对于附加成本,您可以为集群启用 Amazon ECS CloudWatch Container Insights,了解每个任务的指标,包括 CPU、内存和 EBS 文件系统利用率。有关安装 Container Insights 的更多信息,请参阅 使用 Container Insights 监控 Amazon ECS 容器

注意事项

使用 Amazon ECS CloudWatch 指标时应考虑以下内容。

  • Fargate 上托管的任何 Amazon ECS 服务都会自动启用 CloudWatch CPU 和内存利用率指标,因此您无需采取任何手动步骤。

  • 对于在 Amazon EC2 实例上托管的任何 Amazon ECS 任务或服务,Amazon EC2 实例都需要版本 1.4.0 或更高版本(Linux))或者 1.0.0 或更高版本(Windows)的容器代理才能生成 CloudWatch 指标。但是,我们建议使用最新的容器代理版本。有关检查您的代理版本并更新到最新版本的信息,请参阅更新 Amazon ECS 容器代理

  • 为了获得可靠的 CloudWatch 指标,最低的 Docker 版本是 Docker 20.10.13 版本及更高版本。

  • 您的 Amazon ECS 容器实例还需要对您用来启动 Amazon EC2 实例的 IAM 角色的 ecs:StartTelemetrySession 权限。如果您在 CloudWatch 指标可用于 Amazon ECS 之前已创建您的 Amazon ECS 容器实例 IAM 角色,则可能需要添加此权限。有关检查容器实例 IAM 角色和为容器实例附加托管 IAM 策略的信息,请参阅 Amazon ECS 容器实例 IAM 角色

  • 您可以通过在 Amazon ECS 容器代理配置中设置 ECS_DISABLE_METRICS=true 来禁用 Amazon EC2 实例上的 CloudWatch 指标收集。有关更多信息,请参阅 Amazon ECS 容器代理配置

推荐的指标

Amazon ECS 为您提供用来监控资源的免费 CloudWatch 指标。整个集群中的 CPU 和内存预留以及 CPU、内存和 EBS 文件系统利用率,以及集群中的服务上的 CPU、内存和 EBS 文件系统利用率,都可以使用这些指标进行测量。对于您的 GPU 工作负载,您可以度量集群中的 GPU 预留。

在集群中托管 Amazon ECS 任务的基础设施决定了哪些指标可用。对于在 Fargate 基础设施上托管的任务,Amazon ECS 提供 CPU、内存,并提供 EBS 文件系统利用率指标来帮助监控您的服务。对于在 EC2 实例上托管的任务,Amazon ECS 在集群和服务级别上提供 CPU、内存和 GPU 预留指标以及 CPU 和内存利用率指标。您需要单独监控构成底层基础设施的 Amazon EC2 实例。有关监控 Amazon EC2 实例的更多信息,请参阅适用于 Linux 实例的 Amazon EC2 用户指南中的监控 Amazon EC2

有关与 Amazon ECS 一起使用的建议警报的信息,请参阅《Amazon CloudWatch Logs 用户指南》中的以下内容之一: