什么是 Amazon CloudWatch?
Amazon CloudWatch 可实时监控 Amazon Web Services(Amazon)资源以及在 Amazon 上运行的应用程序,所提供的多种工具支持从系统层面全面观测应用程序性能、运行状况和资源利用率。
主题
通过指标、警报和控制面板实现操作可见性
指标会按用户定义的时间间隔收集和跟踪关键性能数据。许多 Amazon 服务都会自动向 CloudWatch 报告指标,您也可以通过应用程序在 CloudWatch 中发布自定义指标。
控制面板提供资源和应用程序的统一视图,在单一位置对指标和日志进行可视化展示。您还可以跨账户和地区共享控制面板,借此增强运营感知能力。CloudWatch 为许多 Amazon 服务提供了精心设计的自动控制面板,无需您自行构建。
您可以设置警报,根据用户定义的阈值持续监控 CloudWatch 指标。警报可自动就阈值违反情况发出提醒,还可通过触发自动操作来自动响应资源行为的变化。
应用程序性能监控(APM)
借助 Application Signals 即可自动检测和监控应用程序的关键性能指标(如延迟、错误率和请求率),无需手动插入检测工具或更改代码。Application Signals 还提供精心设计的控制面板,只需最少的设置即可开始监控。
CloudWatch Synthetics 则对此起到补充作用,让您能够通过名为金丝雀的可配置脚本主动监控端点和 API。这些脚本会模拟用户行为,在可用性问题或性能下降问题影响真实用户之前向您发出提醒。您也可以使用 CloudWatch RUM 从真实用户会话中收集性能数据。
使用 CloudWatch 中的服务级别目标(SLO)来定义、跟踪应用程序的特定可靠性目标并设置提醒,有助您通过设置错误预算和长期监控 SLO 合规性来履行服务质量承诺。
基础设施监控
许多 Amazon 服务都会自动免费向 CloudWatch 发送基本指标。此处列出了会发送指标的具体服务。CloudWatch 还为多个关键 Amazon 基础设施提供了额外的监控功能:
数据库洞察功能支持实时监控数据库性能指标,分析 SQL 查询性能,并对 Amazon 数据库服务的数据库负载问题进行排查。
Lambda 洞察功能为 Lambda 函数提供系统级指标,包括内存和 CPU 利用率跟踪以及冷启动检测和分析。
Container Insights 功能支持收集和分析来自容器化应用程序、Amazon ECS 集群、Amazon EKS 集群及 Amazon EC2 上自主管理型 Kubernetes 集群的指标。
收集、存储和查询日志
CloudWatch Logs 提供了一套强大的功能,可用于全面的日志管理和分析。从 Amazon 服务和自定义应用程序提取的日志存储在日志组和日志流中,便于组织管理。使用 CloudWatch Logs Insights 可对日志数据执行交互式快速查询,支持包括 SQL 和 PPL 在内的三种查询语言。使用日志异常检测可在日志组中查找日志事件中的异常模式,这些模式表明可能存在问题。创建指标筛选条件可从日志中提取数值并生成 CloudWatch 指标,这些指标可用于设置警报和控制面板。设置订阅筛选条件可实时处理和分析日志,也可将日志路由到其他服务,例如 Amazon S3 或 Firehose。
使用 CloudWatch 代理从 Amazon EC2 Fleet 收集指标、日志和追踪数据
使用 CloudWatch 代理可从 Amazon EC2 实例和本地服务器实例集收集有关进程、CPU、内存、磁盘使用率及网络性能的详细系统指标。您可以使用该代理收集和监控来自应用程序的自定义指标,汇总来自多个来源的日志,并根据收集的数据配置警报。您也可以用其收集 GPU 指标。该代理支持 Windows 和 Linux 操作系统,可集成 Systems Manager 来实现集中化配置管理。
跨账户监控
CloudWatch 跨账户可观测性功能支持设置一个中央监控账户,对跨多个账户的应用程序进行监控和问题排查。在该中央账户中,您可以查看来自组织内源账户的指标、日志和追踪数据。这种集中式方法让您能够创建跨账户控制面板,设置警报来监视来自多个账户的指标,并跨账户边界执行根本原因分析。通过 CloudWatch 跨账户可观测性功能,您可以单独关联源账户,也可以通过 Amazon Organizations 自动关联源账户。
解决方案目录
CloudWatch 提供了一系列现成的配置,可帮助您快速实现对各种 Amazon 服务和常见工作负载的监控,例如 Java 虚拟机(JVM)、NVIDIA GPU、Apache Kafka、Apache Tomcat 和 NGINX。这些解决方案提供了重点指导,包括安装和配置 CloudWatch 代理、部署预定义的自定义控制面板以及设置相关警报的说明。
网络和互联网监控
CloudWatch 通过 CloudWatch 网络监控提供全面的网络和互联网监控功能。
网络监测仪使用 Amazon 全球网络数据来分析应用程序与终端用户之间的互联网性能和可用性。借助网络监测仪,您可以识别或收到有关影响客户的延迟增加或区域中断的通知。网络监测仪的工作原理是分析 VPC 流日志,自动提供有关网络流量模式和性能状况的洞察。您还可以获取有关如何优化客户端应用性能的建议。
网络流量监测仪会显示实例上安装的轻量级软件代理收集的网络性能信息。借助流量监测仪,您可以快速可视化指定时间范围内网络连接的丢包率和延迟情况。每个监测仪还会生成一个网络运行状况指标(NHI),告诉您在评估的时间段内,监测仪跟踪的网络流是否存在 Amazon 网络问题。
使用 Amazon Direct Connect 连接时,您可以使用网络综合监测仪中的综合监测仪,通过在 VPC 和本地端点之间运行综合测试来主动监测网络连接情况。创建综合监测仪时,您可以通过提供 VPC 子网和本地 IP 地址来指定探测器。Amazon 会在后台创建和管理使用探测器执行往返时间和丢包率测量所需的基础设施。这些测试可在连接性、DNS 和延迟问题影响应用程序之前检测到这些问题,以便您采取措施来改善终端用户体验。
账单和成本
有关 CloudWatch 定价的详细信息,请参阅 Amazon CloudWatch 定价
有关可以帮助分析账单以及优化和降低成本的信息,请参阅 分析、优化和降低 CloudWatch 成本。
Amazon CloudWatch 资源
下列相关资源在您使用此服务的过程中会有所帮助。
资源 | 描述 |
---|---|
“常见问题解答”涵盖了开发人员对此产品提出的一些最热门的问题。 |
|
这是一个帮助您入门的资源整合点,您可以在这里找到相关的文档、代码示例、发布说明和其他信息,帮助您通过 Amazon 构建创新的应用程序。 |
|
此控制台让您无需进行编程即可执行 Amazon CloudWatch 和其他各种 Amazon 产品的大部分功能。 |
|
由开发人员组成的社群形式的论坛,开发人员可在这里讨论与 Amazon CloudWatch 有关的技术问题。 |
|
用于创建和管理 Amazon Web Services 支持 案例的中心。还包括指向其他有用资源的链接,如论坛、技术常见问题、服务运行状况和 Amazon Trusted Advisor。 |
|
提供 Amazon CloudWatch 相关信息的主要网页。 |
|
用来查询 Amazon 账单、账户、事件、滥用等信息的中心联络点。 |