使用 Amazon 设计和实现日志记录和监控 CloudWatch - AWS 规范性指导

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

使用 Amazon 设计和实现日志记录和监控 CloudWatch

Khurram Nizami,Amazon Web Services (AWS)

2023 年 4 月文件历史记录

本指南可帮助您使用亚马逊 CloudWatch和相关的Amazon Web Services (AWS) 管理和治理服务为使用亚马逊弹性计算云 (Amazon EC2) 实例、亚马逊弹性容器服务 (Amazon ECS)、亚马逊弹性Kubernetes服务 (Amazon EKS) 和本地服务器的工作负载设计和实施日志记录和监控。AWS Lambda该指南适用于管理AWS云端工作负载的运营团队、 DevOps 工程师和应用程序工程师。

您的日志记录和监控方法应基于 Well-Architected FrameAWS work 的六大支柱。这些支柱是卓越运营安全性、可靠性性能效率成本优化。架构完善的监控和警报解决方案可帮助您主动分析和调整基础架构,从而提高可靠性和性能。

本指南并未广泛讨论用于安全或成本优化的日志记录和监控,因为这些主题需要深入评估。有许多支持安全记录和监控的AWS服务,包括、、Amazon Inspector AWS CloudTrailAWS Config、Amaz on Detecti ve、Amazon Macie GuardDuty、亚马逊AWS Security Hub。您还可以使用AWS Cost ExplorerAWS预算CloudWatch 计费指标来优化成本。

下表概述了您的日志记录和监控解决方案应解决的六个方面。

捕获和采集日志文件和指标 识别、配置系统和应用程序日志及指标,并将其发送给来自不同来源的AWS服务。
搜索和分析日志 搜索和分析日志以进行操作管理、问题识别、故障排除和应用程序分析。
监控指标和警报 识别工作负载中的观察结果和趋势,并据此采取行动。
监控应用程序和服务可用性 通过持续监控服务可用性来减少停机时间并提高实现服务级别目标的能力。
追踪应用程序 跟踪系统和外部依赖项中的应用程序请求,以微调性能、执行根本原因分析和解决问题。
创建仪表板和可视化效果 创建侧重于系统和工作负载的相关指标和观察结果的仪表板,这有助于持续改进和主动发现问题。

CloudWatch 可以满足大多数日志和监控要求,提供可靠、可扩展且灵活的解决方案。除了用于监控和分析 CloudWatch 的日志集成外,许多AWS服务还会自动提供 CloudWatch 指标。 CloudWatch 还提供代理和日志驱动程序以支持各种计算选项,例如服务器(云端和本地)、容器和无服务器计算。本指南还涵盖了以下用于日志记录和监控的AWS服务:

您选择的AWS计算服务也会影响您的日志记录和监控解决方案的实施和配置。例如,Amaz CloudWatch on EC2、亚马逊 ECS、亚马逊 EKS 和 Lambda 的实现和配置是不同的。

应用程序和工作负载所有者通常会忘记日志和监控,或者对其进行配置和实施不一致。这意味着工作负载进入生产环境时可观察性有限,这会延迟识别问题并增加故障排除和解决问题所花费的时间。您的日志和监控解决方案至少必须解决操作系统 (OS) 级别日志和指标的系统层问题,以及应用程序日志和指标的应用程序层。该指南提供了一种针对不同计算类型(包括下表中概述的三种计算类型)处理这两个层的推荐方法。

长时间运行且不可变的 EC2 实例 多个AWS区域或账户中多个操作系统 (OS) 的系统和应用程序日志和指标。
容器 您的 Amazon ECS 和 Amazon EKS 集群的系统和应用程序日志及指标,包括不同配置的示例。
Serverless (无服务器) 您的 Lambda 函数的系统和应用程序日志和指标以及自定义注意事项。

本指南提供了一个日志记录和监控解决方案,该解决方案涉及 CloudWatch以下领域的相关AWS服务:

本指南在这些领域中使用了实施示例,也可以从AWS示例 GitHub 存储库中获取。