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

Amazon ECS CloudWatch Container Insights

CloudWatch Container Insights 从容器化应用程序和微服务中收集、聚合和汇总指标与日志。指标包括资源的使用率,如 CPU、内存、磁盘和网络。CloudWatch 自动控制面板中提供了指标。有关 Amazon ECS Container Insights 指标的完整列表,请参阅 Amazon CloudWatch 用户指南中的 Amazon ECS Container Insights 指标

运行数据是作为性能日志事件收集的。这些条目使用结构化 JSON 模式来大规模摄取和存储高基数数据。从该数据中,CloudWatch 在集群、服务和任务级别创建更高级别的聚合指标以作为 CloudWatch 指标。有关更多信息,请参阅 Amazon CloudWatch 用户指南中的 Amazon ECS Container Insights 指标

重要

CloudWatch Container Insights 收集的指标按自定义指标收费。有关 CloudWatch 定价的信息,请参阅 CloudWatch 定价。Amazon ECS 还提供了不产生额外成本的监控指标。有关更多信息,请参阅 Amazon ECS CloudWatch 指标

Container Insights 注意事项

在使用 CloudWatch Container Insights时,应考虑以下事项。

  • CloudWatch Container Insights 指标仅反映指定时间范围内具有正在运行的任务的资源。例如,如果您的集群包含一个服务,但该服务没有处于 RUNNING 状态的任务,则不会向 CloudWatch 发送任何指标。如果您有两个服务,其中一个服务具有正在运行的任务,而另一个服务没有,则仅发送具有正在运行的任务的服务的指标。

  • 网络指标适用于在 Fargate 上运行的所有任务以及在 Amazon EC2 实例上运行的任务,这些任务使用 bridgeawsvpc 网络模式。

针对集群级别和服务级别指标设置 CloudWatch Container Insights

可以通过选择加入 containerInsights 账户设置来为创建的所有新集群启用 Container Insights,通过在集群创建期间启用它来对单个集群启用,或者使用 UpdateClusterSettings API 来对现有集群启用。

可通过 Amazon ECS 控制台和 Amazon CLI 选择使用 containerInsights 账户设置。您必须运行版本 1.16.200 或更高版本的 Amazon CLI 才能使用此功能。有关创建 Amazon ECS 集群的信息,请参阅 使用经典控制台创建集群新的 Amazon ECS 控制台中的集群管理

重要

对于包含使用 EC2 启动类型的的任务或服务的集群,您的容器实例必须运行版本 1.29.0 或更高版本的 Amazon ECS 代理。有关更多信息,请参阅 Amazon ECS Linux 容器代理版本

使用控制台为所有用户更改 Container Insights 的默认值

当所有用户和角色创建新集群时,您可以让所有这些集群启用 Container Insights。这些更改将应用于整个 Amazon 账户,除非一个用户或角色显式覆盖自己的这些设置。账户上的任意用户可以使用下列步骤之一修改账户中所有用户或角色的默认账户设置。以下步骤说明如何使用 Amazon Web Services Management Console 设置此默认值。

  1. 作为账户的所有者,在 https://console.aws.amazon.com/ecs/ 上打开 Amazon ECS 控制台。

  2. 在屏幕顶部的导航栏中,选择要为其选择加入 Container Insights 默认集群的区域。

  3. 从控制面板中选择账户设置

  4. 对于 IAM 用户或角色,确保选择了您的根用户或容器实例 IAM 角色。

  5. 对于 Container Insights,选中对应复选框。完成后,选择保存

    重要

    若要执行此操作,您必须为用户授予 ecs:PutAccountSetting 权限。

  6. 在确认屏幕上,选择 Confirm (确认) 以保存选择。

使用命令行为所有用户更改 Container Insights 的默认值

当所有 IAM 用户和角色创建新集群时,您可以让所有这些集群启用 Container Insights。这些更改将应用于整个 Amazon 账户,除非一个用户或角色显式覆盖自己的这些设置。账户上的任意用户可以使用下列步骤之一修改账户中所有用户或角色的默认账户设置。以下步骤说明如何使用 Amazon Command Line Interface 设置此默认值。

  1. put-account-setting-default (Amazon CLI)

    aws ecs put-account-setting-default --name containerInsights --value enabled --region us-east-1
  2. Write-ECSAccountSettingDefault (Amazon Tools for Windows PowerShell)

    Write-ECSAccountSettingDefault -Name containerInsights -Value enabled -Region us-east-1 -Force

使用命令行为特定用户更改 Container Insights 的默认值

当特定用户或角色创建新集群时,您可以让所有这些集群启用 Container Insights。例如,当 Amazon CloudFormation 使用特定角色在生产账户中进行所有更改时,这很有用。账户所有者可以使用以下命令之一,并在请求中指定主体用户或容器实例 IAM 角色的 ARN 来修改账户设置。

  1. put-account-setting (Amazon CLI)

    以下示例用于修改特定 用户的账户设置:

    aws ecs put-account-setting --name containerInsights --value enabled --principal-arn arn:aws:iam::aws_account_id:user/userName --region us-east-1
  2. Write-ECSAccountSetting (Amazon Tools for Windows PowerShell)

    以下示例用于修改特定 用户的账户设置:

    Write-ECSAccountSetting -Name containerInsights -Value enabled -PrincipalArn arn:aws:iam::aws_account_id:user/userName -Region us-east-1 -Force

使用命令行为特定集群启用 Container Insights

使用以下命令之一为集群启用 Container Insights。

  • update-cluster-settings (Amazon CLI)

    aws ecs update-cluster-settings --cluster cluster_name_or_arn --settings name=containerInsights,value=enabled|disabled --region us-east-1