View a markdown version of this page

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

使用操作日志监控 Amazon ECS 操作

Amazon ECS 操作日志概述

借助 Amazon ECS 操作日志,您可以监控 Amazon ECS 在容器生命周期操作期间代表您执行的所有操作。操作日志会记录集群内的每个资源操作、状态变化和服务发起的 API 调用并添加时间戳。

操作日志会记录以前不可见的操作,例如容器映像下载、负载均衡器注册和安全组配置等。未启用操作日志时,您只能观测资源的起始和结束状态。启用操作日志后,您可以看到 Amazon ECS 在这些状态变换之间执行的每个中间步骤。

启用操作日志后,Amazon 管理控制台中的 Amazon Q 将可以访问这些日志,从而帮助您直接从控制台调试部署失败和进程守护程序问题。

操作日志的优势

操作日志为 Amazon ECS 工作负载的管理提供了以下优势:

  • 更好了解服务操作:可以查看 Amazon ECS 在状态变换之间执行的但以前不可见的操作,包括基础设施预置、网络配置和资源注册等。

  • 改进问题排查:无需联系 Amazon Support 即可诊断部署失败和基础设施问题。操作日志支持的失败原因类型不断增加。

  • 更长失败元数据保留期:失败任务元数据保留期超过标准的 1 小时保留期。您可以按照自己的节奏查看有关失败的详细信息。

  • 可自助调试:可通过检查引致失败的完整操作顺序,来独立调查并解决问题。

记录的内容

操作日志会捕获以下 Amazon ECS 操作的相关记录:

  • 服务部署:状态变换、回滚和生命周期挂钩执行。

  • 托管式进程守护程序生命周期:托管式进程守护程序的创建、更新、删除和实例耗尽操作。

操作日志的工作原理

您可以在集群级别选择启用操作日志。您可以通过 Amazon ECS 控制台或使用 Amazon CloudWatch API(PutDeliverySource、PutDeliveryDestination 和 CreateDelivery)启用操作日志。

启用操作日志后,Amazon ECS 将通过 CloudWatch Ingestion Hub 发出结构化的 JSON 日志。Amazon ECS 会将日志传输到您选择的目标:CloudWatch Logs、Amazon S3 或 Amazon Data Firehose。

操作日志采用即发即弃(fire-and-forget)的发布方式。日志发布永远不会阻止或降低 Amazon ECS 资源操作的性能。如果出现暂时性传输失败问题,Amazon ECS 会继续处理您的工作负载而不会中断服务。

日志架构概览

每个操作日志条目都包含以下字段:

  • timestamp:事件发生时的 Unix 时间(以毫秒为单位)。

  • logLevel:严重度级别:INFO、WARN 或 ERROR。

  • account:Amazon 账户 ID。

  • region:发生该事件的 Amazon 区域。

  • resourceArn:代表选择启用范围的集群 ARN。

  • actionSourceId:子资源标识符,例如服务 ARN 或进程守护程序 ARN。

  • eventName:操作标识符,例如 DAEMON_DEPLOYMENT_IN_PROGRESS。

  • detail:包含其他操作上下文的事件特定 JSON 有效载荷。

日志目标与组织

您可以将操作日志发送到以下目标:

  • CloudWatch Logs:CloudWatch Logs 会将日志存储在一个名为 /aws/vendedlogs/ecs/action-logs/{resourceId} 的日志组中。Amazon ECS 使用 {actionSourceId} 作为日志流名称,为每个子资源创建单独的日志流。

  • Amazon S3:Amazon S3 按账户、区域和 5 分钟时间段对日志进行分区。Amazon S3 使用 gzip 格式压缩文件,从而实现高效存储。

  • Amazon Data Firehose:Amazon Data Firehose 以换行符分隔的 JSON 记录格式近乎实时地传输日志。

定价

操作日志是一项付费功能,执行标准的 CloudWatch 已出售日志定价。您需要支付日志摄取和存储费用,具体取决于集群生成的日志量。您可以通过目标设置来配置保留期。通过 Amazon ECS 控制台启用操作日志时,CloudWatch Logs 使用的默认保留期为 7 天。