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

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Amazon ECS CloudWatch 容器见解

CloudWatch Container Insights 收集、汇总和汇总来自容器化应用程序和微服务的指标和日志。

运行数据是作为性能日志事件收集的。这些条目使用结构化 JSON 模式来大规模摄取和存储高基数数据。根据这些数据,在集群、服务和任务级别 CloudWatch 创建更高级别的聚合指标作为 CloudWatch 指标。指标包括资源的使用率,如 CPU、内存、磁盘和网络。 CloudWatch 自动控制面板中提供了指标。有关可用指标的信息,请参阅亚马逊 CloudWatch 用户指南中的 Amazon ECS 容器洞察指标

重要

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

Container Insights 注意事项

使用 CloudWatch 容器见解时应考虑以下几点。

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

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

为集群和服务级别指标设置 CloudWatch 容器见解

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

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

重要

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

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

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

  1. https://console.aws.amazon.com/ecs/v2 打开控制台。

  2. 在顶部的导航栏中,选择要查看其账户设置的区域。

  3. 在导航页面中,选择 Account Settings(账户设置)。

  4. 选择更新

  5. 在 “CloudWatch 容器见解” 下,选择 “CloudWatch容器见解”。

    重要

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

  6. 选择 ‬保存更改

  7. 在确认屏幕上,选择 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. 写入 ECS (AccountSettingDefault) 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. 写入 ECS (AccountSetting) 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