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

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 启动类型或使用 bridge 网络模式的任务。

使用已启用 Container Insights 的集群

可以选择使用 containerInsights 账户设置为所有新集群启用 Container Insights,或者在集群创建期间使用集群设置在单个集群上启用该服务,也可以使用 UpdateClusterSettings API 在现有集群上启用该服务。

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

重要

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

使用控制台为您账户上的所有 IAM 用户和角色选择已启用 Container Insights 的集群

  1. 以账户的根用户身份打开位于 https://console.amazonaws.cn/ecs/ 的 Amazon ECS 控制台。

  2. 在屏幕顶部的导航栏中,选择要为其选定已启用 Container Insights 的集群的区域。

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

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

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

    重要

    IAM 用户和 IAM 角色需要 ecs:PutAccountSetting 权限来执行此操作。

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

使用命令行为您账户上的所有 IAM 用户和角色选择已启用 Container Insights 的集群

账户上的任意用户可以使用下列命令之一修改账户中所有 IAM 用户或角色的默认账户设置。这些更改将应用于整个 AWS 账户,除非一个 IAM 用户或角色显式覆盖自己的这些设置。

  • put-account-setting-default (AWS CLI)

    aws ecs put-account-setting-default --name containerInsights --value enabled --region us-east-1
  • Write-ECSAccountSettingDefault (适用于 Windows PowerShell 的 AWS 工具)

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

使用命令行以根用户身份为 IAM 用户或容器实例 IAM 角色选择已启用 Container Insights 的集群

账户的根用户可以使用以下命令之一,并在请求中指定委托人 IAM 用户或容器实例 IAM 角色的 ARN 来修改账户设置。

  • put-account-setting (AWS CLI)

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

    aws ecs put-account-setting --name containerInsights --value enabled --principal-arn arn:aws:iam::aws_account_id:user/userName --region us-east-1
  • Write-ECSAccountSetting (适用于 Windows PowerShell 的 AWS 工具)

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

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

使用命令行更新现有集群的设置

使用以下命令之一更新集群的设置。

  • update-cluster-settings (AWS CLI)

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