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

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

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

Khurram Nizami, Amazon Web Services (AWS)

2023 年 4 月文档历史记录

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

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

本指南并未广泛讨论安全性或成本优化的日志记录和监控,因为这些都是需要深入评估的主题。有许多 AWS 服务支持安全记录和监控,包括、Amazon Inspector AWS CloudTrailAWS ConfigAmazon Detec t ive、A mazon Macie GuardDuty、A mazon 和。AWS Security Hub您还可以使用AWS Cost ExplorerAWS Budgets、和CloudWatch 账单指标进行成本优化。

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

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

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

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

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

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

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

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