收集

轻松收集和存储日志

Amazon CloudWatch Logs 服务允许您近乎实时地收集和存储来自资源、应用程序和服务的日志。日志分为三个主要类别:

1)公开日志这些是由 AWS 服务代表您在本地发布的日志。目前支持两类日志:Amazon VPC 流日志和 Amazon Route 53 日志。

2)由 AWS 服务发布的日志。目前有超过 30 种 AWS 服务会向 CloudWatch 发送日志。这些服务包括 Amazon API Gateway、AWS Lambda、AWS CloudTrail 以及许多其他服务。

3)自定义日志。这些是来自您自己的应用程序和本地资源的日志。

您可以使用 AWS Systems Manager 安装 CloudWatch 代理,也可以使用 PutLogData API 操作轻松发布日志。

收集和汇总基础设施和应用程序指标

借助 Amazon CloudWatch,您无需执行任何操作即可从超过 70 种 AWS 服务(例如 Amazon Elastic Compute Cloud (Amazon EC2)、Amazon DynamoDB、Amazon Simple Storage Service (Amazon S3)、Amazon ECS、AWS Lambda 和 Amazon API Gateway)收集基础设施指标。例如,Amazon EC2 实例会自动发布 CPU 利用率、数据传输和磁盘使用情况指标,以帮助您了解状态更改。您可以使用 API Gateway 的内置指标来检测延迟,也可以利用 AWS Lambda 的内置指标来检测错误或限制。同样,Amazon CloudWatch 还允许您从您的应用程序收集应用程序指标(例如用户活动、错误指标或已用内存),以监控运营性能,排查问题和发现趋势。您可以使用 CloudWatch 代理或通过 PutMetricData API 服务调用将这些指标发布到 CloudWatch。除了原定设置基础设施指标外,如果您需要更详细的指标(如分区级 Amazon Kinesis Data Streams 指标),只需为每项资源选择相应指标即可。同样,应用程序指标可在高达 1 秒的频率下用于统计数据、图形和高分辨率告警。

收集和汇总容器指标和日志

Container Insights 简化了辅助指标和容器生态系统日志的收集和汇总。它从每个容器中收集计算性能指标(如 CPU、内存、网络和磁盘信息)作为性能事件,并自动生成用于监控和告警的自定义指标。性能事件摄取为 CloudWatch Logs 提供有关运行环境的元数据,例如 Amazon EC2 实例 ID、服务、Amazon Elastic Block Store (Amazon EBS) 卷挂载和 ID 等,以简化监控和故障排除。从这些摄取的日志中自动提取 CloudWatch 自定义指标,并使用 CloudWatch Logs Insights 的高级查询语言对这些指标做进一步分析。Container Insights 还提供了收集应用程序日志 (stdout/stderr)、自定义日志、预定义 Amazon EC2 实例日志、Amazon EKS/k8s 数据层面日志和 Amazon EKS 控制面板日志的选项。对于 Amazon EKS 和 k8s 集群,可以使用预配置的 FluentD 代理收集日志。有关更多详细信息,请参阅 Container Insights 日志设置文档。对于 Amazon ECS,可以使用 Amazon CloudWatch Logs 日志记录驱动程序Fluent Bit 收集应用程序日志。

收集和汇总 Lambda 指标和日志

CloudWatch Lambda Insights 简化了从 AWS Lambda 函数收集及汇总辅助指标和日志。它从每个 Lambda 函数中收集 CPU、内存和网络等计算性能指标作为性能事件,同时自动生成用于监控和报警的自定义指标。性能事件作为 CloudWatch Logs 摄取,以简化监控和故障排除。从这些摄取的日志中自动提取 CloudWatch 自定义指标,并使用 CloudWatch Logs Insights 的高级查询语言对这些指标做进一步分析。参阅 Lambda Insights 入门文档了解更多详情。

流式传输指标

Amazon CloudWatch Metric Streams 支持您向选择的目的地,创建连续、近乎实时的指标流。这简化了使用 Amazon Kinesis Data Firehose HTTP 端点向常用的第三方服务提供商发送 CloudWatch 指标的流程。您可以创建包含最新的 CloudWatch 指标数据的连续、可扩展的流式传输,为控制面板、告警和其他依赖于准确及时指标数据的工具提供支持。您可以轻松将指标传输到 AWS 上的数据湖(例如 Amazon S3),并开始使用 Amazon Athena 等工具分析使用情况或性能。

监控

通过控制面板查看统一运营视图

通过 Amazon CloudWatch 控制面板,您可以在统一视图中创建可重复使用的图表并可视化云资源和应用程序。您可以在单个控制面板中并排绘制指标和日志数据,从而快速获知具体情况,诊断问题并了解根本原因。例如,您可以可视化关键指标,如 CPU 利用率和内存,并将它们与容量进行比较。您还可以关联特定指标的日志模式,并设置告警以接收性能和运营问题提示。这让您能够全面了解整个系统的运行状况,并快速排查问题,以缩短解决问题的平均时间 (MTTR)。

复合告警

Amazon CloudWatch 复合告警使您能够组合多个告警并减少告警噪音。如果应用程序问题影响应用程序中的多个资源,您将收到一个针对整个应用程序的告警通知,而不是针对每个受影响的资源分别收到一个告警。这有助于您专注于查找运营问题的根本原因,以减少应用程序的停机时间。您可以为应用程序、AWS 区域或可用区等资源分组提供一个整体状态。

高分辨率告警

Amazon CloudWatch 告警允许您设置指标阈值并触发操作。您可以创建高精度警报,将百分位数设置为统计数据,并根据需要指定或忽略操作。例如,您可以创建针对 Amazon EC2 指标的警报,设置通知,并采取一项或多项操作来检测和关闭未使用或未充分利用的实例。实时发出针对指标和事件的警报这项功能使您能够最大限度地减少停机时间和潜在的业务影响。

关联日志和指标

应用程序和基础设施资源会以日志和指标的形式生成大量运营和监控数据。除了让您能够在一个平台中访问和可视化这些数据集之外,Amazon CloudWatch 还能让您轻松将它们相互关联。这有助于您快速诊断问题并了解根本原因。例如,您可以将某个日志模式(例如错误)与特定指标关联,并设置告警以接收性能和运营问题提示。

Application Insights

Amazon CloudWatch Application Insights 为企业应用程序提供可观测性的自动化设置,以便您直观了解此类应用程序的运行状况。该功能有助于跨应用程序资源和技术堆栈(例如数据库、Web (IIS) 和应用程序服务器、操作系统、负载均衡器、队列等)识别和设置关键指标和日志。它会持续监控这些遥测数据,以检测和关联异常和错误,并向您通知应用程序中的任何问题。为帮助排查问题,它会创建自动化控制面板来呈现检测到的问题,包括相关的指标异常和日志错误,以及可帮助您分析潜在根源的其他洞察。这样您就可以迅速采取补救操作,确保应用程序在良好的运行状况下运行,并且不会影响到终端用户。

容器监控洞察

Container Insights 在 CloudWatch 控制台中提供自动控制面板。这些控制面板按集群、Pod/任务和服务总结计算性能、错误和警报。对于 Amazon EKS 和 k8s,控制面板也可用于节点/EC2 实例和命名空间。每个控制面板按所选时间段的 CPU 和内存总结运行的一组容器 (pod)/任务或容器的列表。基于时间段和所选一组容器 (pod)/任务或容器,您可以按照上下文深入了解应用程序日志、AWS X-Ray 轨迹和性能事件。

Lambda 监控洞察

Lambda Insights 在 CloudWatch 控制台中提供自动控制面板。这些控制面板的作用是汇总计算性能和错误。每个控制面板包括所选时间段的指标列表,并允许您(基于时间段和所选函数)按照上下文深入了解应用程序日志、AWS X-Ray 轨迹和性能事件。

异常检测

Amazon CloudWatch 异常检测应用机器学习 (ML) 算法来连续分析指标数据并识别异常行为。它使您可以创建基于自然指标模式(例如一天中的时间、星期几、季节性或变化的趋势)自动调整阈值的告警。您还可以在控制面板上使用异常检测范围将指标可视化。这使您可以监视、隔离度量指标中的意外变化并进行故障排除。

ServiceLens

您可以使用 Amazon CloudWatch ServiceLens 在一个地方直观呈现和分析应用程序的运行状况、性能和可用性。CloudWatch ServiceLens 将 CloudWatch 指标和日志以及来自 AWS X-Ray 的轨迹结合在一起,为您提供应用程序及其依赖关系的完整视图。这能让您快速查明性能瓶颈、找出应用程序问题的根本原因和确定受影响的用户。利用 CloudWatch ServiceLens,您可以从三个主要方面了解应用程序:基础设施监控(使用指标和日志了解支持应用程序的资源)、事务监控(使用轨迹了解资源之间的依赖关系)及终端用户监控(使用 Canary 监控您的端点并在您的终端用户体验降低时通知您)。CloudWatch ServiceLens 提供服务地图(直观呈现所有资源的上下文联系)和直观的界面,让您能深入研究相关的监控数据。

Synthetics

借助 Amazon CloudWatch Synthetics,您可以更加轻松地监控应用程序端点。它全天候对端点运行测试,并在端点运行不正常时发出提示。可以自定义这些测试,以在应用程序中检查可用性、延迟、事务、坏链接或死链接、按步骤完成任务情况、页面加载错误、UI 资产加载延迟、复杂的向导流或检出流。您还可以使用 CloudWatch Synthetics 隔离告警应用程序端点,并将它们映射回底层基础设施问题,以缩短解决问题的平均时间 (MTTR)。有了这项新功能,CloudWatch 现在可以收集 Canary流量,即使应用程序上没有任何客户体验,它也可以不间断地验证客户体验,让您能够比客户更早地发现问题。CloudWatch Synthetics 支持对 REST API、URL 和网站内容进行监控,并检查网络钓鱼、代码注入和跨站脚本攻击未经授权的更改。

RUM

Amazon CloudWatch RUM 使您了解应用程序的客户端性能并缩短解决问题的平均时间 (MTTR)。它使您能够近乎实时地收集关于 Web 应用程序性能的客户端数据,以识别和调试问题。CloudWatch RUM 对 CloudWatch Synthetics 数据进行补充,使您更加了解终端用户体验。您可以将性能异常可视化,并使用相关调试数据(如错误信息、堆栈轨迹和用户会话)来修复性能问题(如 JavaScript 错误、崩溃和延迟)。您还可以了解终端用户影响的范围,包括用户数量、地理位置或浏览器。 CloudWatch RUM 聚合应用程序中关于用户旅程的所有数据,从而帮助您确定要启动哪些功能和优先修复哪些错误。

操作

Auto Scaling

Auto Scaling 可帮助您自动规划容量和资源。您可以设置阈值,以发出针对关键指标的警报并触发自动的 Auto Scaling 操作。例如,您可以设置 Auto Scaling 工作流,以根据 CPU 利用率指标添加或删除 EC2 实例,并优化资源成本。

使用 CloudWatch Events 自动响应操作更改

CloudWatch Events 提供近乎实时的系统事件流,这些事件描述了 AWS 资源的更改。它让您能够快速响应操作更改并采取纠正措施。您只需编写规则以指明哪些事件与您的应用程序有关,以及当规则与事件匹配时要执行哪些自动化操作。例如,您可以设置一条规则来调用 AWS Lambda 函数或发布一条 Amazon Simple Notification Service (Amazon SNS) 主题通知。

在 EKS、ECS 和 k8s 集群上发出告警并自动执行操作

对于 Amazon EKS 和 k8s 集群,Container Insights 允许您发出计算指标告警,以触发 Amazon EC2 Auto Scaling 组上的 Auto Scaling 策略,并为您提供停止、终止、重启和恢复任何 Amazon EC2 实例的功能。对于 Amazon ECS 集群,可以将任务和服务中的计算指标用于服务 Auto Scaling。 

分析

粒度数据和延长保留期

借助 Amazon CloudWatch,您可以使用 15 个月的指标数据(存储和保留)监控趋势和季节性。您可以利用这些数据执行历史分析以优化资源利用率。使用 CloudWatch,您还可以收集频率高达 1 秒的运行状况指标,包括自定义指标(例如来自本地部署应用程序的指标)。精细的实时数据让您能够实现更好的可视化,并发现和监控趋势,从而优化应用程序性能和运行状况。

指标自定义运营

通过 Amazon CloudWatch 指标数学,您可以跨多个指标执行计算以进行实时分析,以便您可以轻松地从现有 CloudWatch 指标中获取见解,并更好地了解基础设施的运行状况和性能。您可以在 AWS 管理控制台中可视化这些计算指标,将它们添加到 CloudWatch 控制面板,或使用 GetMetricData API 操作检索它们。指标数学支持算术运算(例如 +、-、/、*)和数学函数(例如总和、平均值、最小值、最大值和标准偏差)。

日志分析

通过 Amazon CloudWatch Logs Insights,您可从日志促进可行的智能以解决操作问题,而无需预配置服务器或管理软件。您可以立即开始使用聚合、筛选器和正则表达式编写查询。此外,您还可以可视化时间序列数据,深入查看各个日志事件以及将查询结果导出到 CloudWatch 控制面板。这将为您带来完整的的运营可见性。只需在 AWS 管理控制台中单击几下,您即可开始使用 Logs Insights 查询发送到 CloudWatch 的日志。您只需为实际运行的查询付费。

分析容器指标、日志和轨迹

Container Insights 通过使用 CloudWatch Logs Insights 的高级查询语言简化从自动控制面板到精细性能事件、应用程序日志 (stdout/stderr)、自定义日志、预定义 Amazon EC2 实例日志、Amazon EKS/k8s 数据层面日志和 Amazon EKS 控制面板日志的深层链接,进而简化了对指标、日志和轨迹的可观察数据的分析。

分析 Lambda 指标、日志和轨迹

Lambda Insights 通过使用 CloudWatch Logs Insights 的高级查询语言简化从自动控制面板到精细性能事件、应用程序日志和自定义日志的深层链接,进而简化了对指标、日志和轨迹的可观察数据的分析。

Contributor Insights

Amazon CloudWatch 现已包含 Contributor Insights,它可以分析时间序列数据,帮助您了解影响系统性能的几大因素。安装完成后,Contributor Insights 将持续运行,用户无需干预。这有助于开发人员和运营商在事件运营期间更快地隔离、诊断和补救问题。Contributor Insights 可帮助您了解是谁或什么影响了您的系统和应用程序性能,如特定资源、客户账户或 API 调用。这使您能够找出异常值,找到最繁忙的流量模式,并对最常利用的系统进程进行排序。您可以创建 Contributor Insights 规则,来评估发送到 CloudWatch Logs 的结构化录入事件中的模式,包括来自 AWS CloudTrail、Amazon Virtual Private Cloud (Amazon VPC)、Amazon API Gateway 等 AWS 服务的日志,以及服务或本地部署服务器发送的任何自定义日志,例如 Apache 访问日志。Contributor Insights 近乎实时地评估这些日志事件并显示报告。报告会列出数据集中的重要贡献者并列出独特贡献者的数量。贡献者是一个聚合指标,它基于 CloudWatch Logs 中包含的日志字段(例如 VPC 流日志中的 account-id 或 interface-id)的维度,或者基于任何其他自定义的维度集。您可以根据自己的自定义指标对贡献者数据进行排序和过滤。Contributor Insights 报告数据可以在 CloudWatch 控制面板上显示,可以与 CloudWatch 指标一起用来绘制图表,还可以将其添加到 CloudWatch 告警中。

Metrics Insights

Amazon CloudWatch Metrics Insights 是一个快速、灵活并基于 SQL 的查询引擎,使您能够近乎实时地在数百万计运营指标内确定趋势和模式。利用 Metrics Insights,您可以通过灵活查询和即时指标聚合,获得基础设施和大规模应用程序性能的更好可见性。Metrics Insights 查询可用于创建强大可视化,帮助您主动监控和快速查明问题,并缩短解决问题的平均时间 (MTTR)。 

Evidently

借助 Amazon CloudWatch Evidently,应用程序开发人员可以在推出新功能供普遍使用之前进行实验,以提前发现意外后果,从而减少与推出新功能有关的风险。 Evidently 能够使您在发布新功能之前在整个应用程序堆栈中验证这些功能,确保所发布的功能更加安全。启动新功能时,您可以向小用户群公开这些功能,监控关键指标(例如页面加载时间或转换),然后调高流量。Evidently 还允许您试用不同的设计方案,收集用户数据,并在生产中发布最有效的设计。 

合规性与安全性

Amazon CloudWatch 与 AWS Identity and Access Management (IAM) 集成,因此您可以控制哪些用户和资源有权访问您的数据及其访问方式。

Amazon CloudWatch Logs 也符合 PCI 和 FedRamp 标准。对数据进行静态和动态加密。您还可以使用 AWS Key Management Service (AWS KMS) 加密功能来加密日志组,以提高合规性和安全性。

了解有关 Amazon CloudWatch 定价的更多信息

访问定价页面
准备好开始构建了吗?
开始使用 Amazon CloudWatch
还有更多问题?
联系我们