适用于 Amazon ECS 的监控工具 - Amazon Elastic Container Service

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

适用于 Amazon ECS 的监控工具

AWS 提供了多种可用于监控 Amazon ECS 的工具。您可以配置其中的一些工具来为您执行监控任务,但有些工具需要手动干预。建议您尽可能实现监控任务自动化。

自动监控工具

您可以使用以下自动化监控工具来监控 Amazon ECS,并在出现错误时进行报告:

  • Amazon CloudWatch 警报 — 在您指定的时间段内观察单个指标,并根据该指标在多个时间段内相对于给定阈值的值执行一项或多项操作。该操作是发送到亚马逊简单通知服务 (Amazon SNS) Simple Notification Scaling 主题或亚马逊 EC2 Auto Scaling 策略的通知。 CloudWatch 警报不会仅仅因为它们处于特定状态就调用操作;该状态必须已更改并保持了指定的时间段。有关更多信息,请参阅 使用监控 Amazon ECS CloudWatch

    对于任务使用 Fargate 启动类型的服务,您可以使用 CloudWatch 警报根据 CPU 和内存利用率等 CloudWatch 指标扩展和扩展服务中的任务。有关更多信息,请参阅 自动扩展您的 Amazon ECS 服务

    对于具有使用 EC2 启动类型的任务或服务的集群,您可以使用 CloudWatch 警报根据集群内存预留等 CloudWatch 指标扩展和扩展容器实例。

    对于使用经过 Amazon ECS 优化的 Amazon Linux AMI 启动的容器实例,您可以使用 CloudWatch 日志在一个方便的位置查看容器实例中的不同日志。您必须在容器实例上安装 CloudWatch 代理。有关更多信息,请参阅 Amazon CloudWatch 用户指南中的使用命令行下载和配置 CloudWatch 代理。您还必须将 ECS-CloudWatchLogs 策略添加到 ecsInstanceRole 角色。有关更多信息,请参阅 监控容器实例所需的权限

  • Amazon Lo CloudWatch gs — 通过在任务定义中指定日志驱动程序,监控、存储和访问 Amazon ECS 任务中容器的awslogs日志文件。有关更多信息,请参阅 使用 awslogs 日志驱动程序

    您也可以从 Amazon ECS 容器实例监控、存储和访问操作系统及 Amazon ECS 容器代理日志文件。这种访问日志的方法可以用于使用 EC2 启动类型的容器。

  • Amazon CloudWatch Events — 匹配事件并将其路由到一个或多个目标函数或流,以进行更改、捕获状态信息并采取纠正措施。有关更多信息,请参阅使用自动响应 Amazon ECS 错误 EventBridge本指南和什么是Amazon Ev CloudWatch ents? 在《亚马逊 CloudWatch 活动用户指南》中。

  • 容器见解-收集、汇总和汇总来自容器化应用程序和微服务的指标和日志。Container Insights 使用嵌入式指标格式将数据收集为性能日志事件。这些性能日志事件是使用结构化的 JSON 架构的条目,允许大规模摄取和存储高基数数据。根据这些数据, CloudWatch 创建集群、任务和服务级别的聚合指标作为 CloudWatch 指标。Container Insights 收集的指标可在 CloudWatch 自动仪表板中找到,也可以在 CloudWatch控制台的 “指标” 部分中查看。

  • AWS CloudTrail 日志监控-在账户之间共享日志文件,通过将 CloudTrail 日志文件发送到 “日志” 来实时监控 CloudWatch 日志文件,用 Java 编写日志处理应用程序,并验证您的日志文件在传送后是否未更改 CloudTrail。有关更多信息,请参阅本指南使用记录 Amazon ECS API 调用 AWS CloudTrail中的,以及AWS CloudTrail 用户指南中的使用 CloudTrail日志文件

  • 运行时监控-检测 AWS 环境中集群和容器的威胁。运行时监控使用 GuardDuty 安全代理,为单个 Amazon ECS 工作负载(例如文件访问、流程执行和网络连接)添加运行时可见性。

手动监控工具

监控 Amazon ECS 的另一个重要部分涉及手动监控 CloudWatch 警报未涵盖的项目。 CloudWatch Trusted Advisor、和其他 AWS 控制台仪表板提供了 AWS 环境状态的 at-a-glance 视图。建议您也可以查看容器实例上的日志文件以及任务中的容器。

  • 亚马逊 ECS 控制台:

    • EC2 启动类型的集群指标

    • 服务指标

    • 服务运行状况

    • 服务部署事件

  • CloudWatch 主页:

    • 当前告警和状态

    • 告警和资源图表

    • 服务运行状况

    此外,您还可以使用 CloudWatch 执行以下操作:

    • 创建自定义控制面板以监控您关心的服务。

    • 绘制指标数据图,以排除问题并弄清楚趋势。

    • 搜索并浏览您的所有 AWS 资源指标。

    • 创建和编辑告警接收有关问题的通知。

  • 容器运行状况检查-这些命令可在容器上本地运行,用于验证应用程序的运行状况和可用性。您可以在任务定义中为每个容器配置这些容器。

  • AWS Trusted Advisor 可以帮助您监控 AWS 资源以提高性能、可靠性、安全性和成本效益。所有用户都可以使用四张 Trusted Advisor 支票;50多张支票可供拥有商业或企业支持计划的用户使用。有关更多信息,请参阅 AWS Trusted Advisor

    Trusted Advisor 有以下与 Amazon ECS 相关的检查:

    • 一种容错能力,表示您在单个可用区中运行一项服务。

    • 一种容错能力,表示您尚未对多个可用区使用分散放置策略。

  • AWS Compute Optimizer 是一项分析 AWS 资源的配置和利用率指标的服务。它将报告您的资源是否处于最佳状态并生成优化建议,以降低成本并提高工作负载的性能。

    有关更多信息,请参阅 AWS Compute Optimizer 针对 Amazon ECS 的建议