

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

# 使用 Amazon 设计和实施日志和监控 CloudWatch
<a name="welcome"></a>

*Khurram Nizami, Amazon Web Services (AWS)*

*2023 年 4 月*（[文档历史记录](doc-history.md)）

本指南可帮助您使用[亚马逊 CloudWatch和相关的亚马逊网络服务 (AWS) 管理和治理服务为使用亚马逊](https://docs.aws.amazon.com//AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html)[弹性计算云 (Amazon EC2) 实例、亚马逊弹性容器服务 (Amazon ECS)、亚马逊弹性容器服务 (Amazon ECS)](https://docs.aws.amazon.com//ec2/index.html) [、亚马逊弹性 Kub [ernetes 服务](https://docs.aws.amazon.com//eks/latest/userguide/what-is-eks.html) (A](https://docs.aws.amazon.com//AmazonECS/latest/developerguide/Welcome.html) mazon EKS) 和本地服务器的工作负载设计和实施日志和监控。[AWS Lambda](https://docs.aws.amazon.com//lambda/latest/dg/welcome.html)该指南适用于在 AWS 云端管理工作负载的运营团队、 DevOps 工程师和应用工程师。

您的日志和监控方法应基于 Well-Architecte AWS d Framework 的[六大支柱](https://aws.amazon.com//architecture/well-architected/?wa-lens-whitepapers.sort-by=item.additionalFields.sortDate&wa-lens-whitepapers.sort-order=desc)。这些支柱是[卓越运营](https://docs.aws.amazon.com//wellarchitected/latest/operational-excellence-pillar/welcome.html)、[安全](https://docs.aws.amazon.com//wellarchitected/latest/security-pillar/welcome.html)[性、可靠性](https://docs.aws.amazon.com//wellarchitected/latest/reliability-pillar/welcome.html)、[性能效率](https://docs.aws.amazon.com//wellarchitected/latest/performance-efficiency-pillar/welcome.html)和[成本优化](https://docs.aws.amazon.com//wellarchitected/latest/cost-optimization-pillar/welcome.html)。架构良好的监控和警报解决方案可帮助您主动分析和调整基础架构，从而提高可靠性和性能。

本指南并未广泛讨论安全性或成本优化的日志记录和监控，因为这些都是需要深入评估的主题。有许多 AWS 服务支持安全记录和监控，包括、Amazon Inspector [AWS CloudTrail[AWS Config](https://docs.aws.amazon.com//config/latest/developerguide/WhatIsConfig.html)](https://docs.aws.amazon.com//awscloudtrail/latest/userguide/cloudtrail-user-guide.html)、[Amazon Detec](https://docs.aws.amazon.com//inspector/latest/userguide/inspector_introduction.html) t [ive、A](https://docs.aws.amazon.com//detective/latest/userguide/detective-investigation-about.html) [mazon Macie](https://docs.aws.amazon.com//macie/latest/user/what-is-macie.html) GuardDuty、A [mazon](https://docs.aws.amazon.com//guardduty/latest/ug/what-is-guardduty.html) 和。[AWS Security Hub CSPM](https://docs.aws.amazon.com//securityhub/)您还可以使用[AWS Cost Explorer[AWS Budgets](https://docs.aws.amazon.com/cost-management/latest/userguide/budgets-managing-costs.html)](https://docs.aws.amazon.com//awsaccountbilling/latest/aboutv2/ce-what-is.html)、和[CloudWatch 账单指标](https://docs.aws.amazon.com//AmazonCloudWatch/latest/monitoring/gs_monitor_estimated_charges_with_cloudwatch.html)进行成本优化。

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


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

CloudWatch 可以满足大多数日志和监控要求，并提供可靠、可扩展和灵活的解决方案。除了用于监控和分析的 CloudWatch 日志集成外，许多 AWS 服务还会自动提供 CloudWatch 指标。 CloudWatch 还提供代理和日志驱动程序以支持各种计算选项，例如服务器（云端和本地）、容器和无服务器计算。本指南还涵盖以下用于日志记录和监控的 AWS 服务：
+ AWS Systems Manager Di [st@@ [ri](https://docs.aws.amazon.com//systems-manager/latest/userguide/distributor.html) butor、Systems Manager 状态](https://docs.aws.amazon.com//systems-manager/latest/userguide/systems-manager-state.html)[管理器和 Systems Manager Autom](https://docs.aws.amazon.com//systems-manager/latest/userguide/systems-manager-automation.html) ation 用于自动化、配置和更新您的 EC2 实例和本地服务器的 CloudWatch 代理 
+ 用于高级日志聚合、搜索和分析的 [Amazon OpenSearch 服务](https://docs.aws.amazon.com//opensearch-service/latest/developerguide/what-is.html)
+ [Amazon Route 53 运行状况检查](https://docs.aws.amazon.com//Route53/latest/DeveloperGuide/dns-failover.html)和 S [CloudWatchynthetics](https://docs.aws.amazon.com//AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries.html) 用于监控应用程序和服务的可用性
+ [适用于 Prometheus 的亚马逊托管服务，用于](https://docs.aws.amazon.com//prometheus/latest/userguide/what-is-Amazon-Managed-Service-Prometheus.html)大规模监控容器化应用程序
+ [AWS X-Ray](https://docs.aws.amazon.com//xray/latest/devguide/aws-xray.html)用于应用程序跟踪和运行时分析
+ [Amazon Manag](https://docs.aws.amazon.com//grafana/latest/userguide/what-is-Amazon-Managed-Service-Grafana.html) [ed Grafana 用于可视化和分析来自多个来源（例如亚马逊服务和 OpenSearch 亚马逊 T CloudWatch imestream）的数据](https://docs.aws.amazon.com//timestream/latest/developerguide/what-is-timestream.html)

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

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


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

本指南提供了一种日志和监控解决方案，可解决 CloudWatch 以下领域的相关 AWS 服务：
+ [规划您的 CloudWatch 部署](planning-cloudwatch-deployment.md)— 规划 CloudWatch 部署的注意事项和集中 CloudWatch 配置的指导。
+ [为 EC2 实例和本地服务器配置 CloudWatch 代理](configure-cloudwatch-ec2-on-premises.md)— 系统级和应用程序级日志记录和指标的 CloudWatch 配置详细信息。
+ [CloudWatch 适用于 Amazon EC2 和本地服务器的代理安装方法](cloudwatch-installation-ec2-on-premises.md)— 安装 CloudWatch 代理的方法，包括使用 Systems Manager 在多个区域和账户中自动部署。
+ [在 Amazon ECS 上进行日志记录和监控](amazon-ecs-logging-monitoring.md)— 在 Amazon CloudWatch ECS 中配置集群级和应用程序级日志记录和指标的指南。
+ [Amazon EKS 中的日志记录和监控](amazon-eks-logging-monitoring.md)— 在 Amazon CloudWatch EKS 中配置集群级和应用程序级日志记录和指标的指南。
+ [Prometheus 在亚马逊 EKS 上进行监控](prometheus-monitoring-eks.md)— 介绍并比较了适用于 Prometheus 的亚马逊托管服务与 Prometheus 的 Container Insights 监 CloudWatch 控。
+ [的日志和指标 AWS Lambda](lambda-logging-metrics.md)— 为您的 Lambda 函数 CloudWatch 进行配置的指南。
+ [搜索和分析日志 CloudWatch](cloudwatch-search-analysis.md)— 使用 Amazon A CloudWatch pplication Insights、Lo CloudWatch gs Insights 分析日志以及将日志分析扩展到亚马逊 OpenSearch 服务的方法。
+ [带有的警报选项 CloudWatch](alarming-options-cloudwatch.md)— 介绍 CloudWatch 警报和 CloudWatch 异常检测，并提供警报创建和设置指南。
+ [监控应用程序和服务可用性](monitoring-application-service-availability.md)— 介绍并比较了 S CloudWatch ynthetics 和 Route 53 运行状况检查，以实现自动可用性监控。
+ [使用跟踪应用程序 AWS X-Ray](application-tracing-xray.md)— 使用适用于亚马逊 EC2、亚马逊 ECS、亚马逊 EKS 和 Lambda 的 X-Ray 进行应用程序跟踪的介绍和设置
+ [仪表板和可视化效果 CloudWatch](cloudwatch-dashboards-visualizations.md)— CloudWatch 仪表板简介，用于提高跨 AWS 工作负载的可观察性。
+ [CloudWatch 与 AWS 服务集成](cloudwatch-integration-aws-services.md)— 说明如何与各种 AWS 服务 CloudWatch 集成。
+ [用于生成控制面板和可视化的 Amazon Managed Grafana](amg-dashboarding-visualization.md)— 介绍并比较了用于仪表板和可视化的 Amazon Managed Gra CloudWatch fana。

本指南中使用了这些领域的实施示例，也可以从[AWS 示例 GitHub 存储库](https://github.com/aws-samples/logging-monitoring-apg-guide-examples)中获得。