跳至主要内容

Amazon CloudWatch 文档

概述

Amazon CloudWatch 是一项监控和管理服务,旨在为亚马逊云科技、混合和本地应用程序与基础设施资源提供数据和切实可行的洞察。借助 CloudWatch,您可以从单一平台以日志和指标的形式收集和访问您的性能和运行数据。这有助于解决以“孤岛”方式分别监控各个独立系统和应用程序(服务器、网络、数据库等)的难题。CloudWatch 可帮助您监控堆栈(应用程序、基础设施和服务),并利用警报、日志和事件数据来采取措施并缩短平均解决时间(MTTR)。这样可以腾出重要的资源,使您可以专注于构建应用程序和创造商业价值。

CloudWatch 可为您提供切实可行的洞察,帮助您优化应用程序性能、管理资源利用率并了解全系统的运行状况。CloudWatch 提供指标和日志数据的可见性、数据留存(指标)以及对指标执行计算的能力。这样您就可以进行历史数据分析以优化成本,并获取实时洞察以优化应用程序和基础设施资源。

您可以使用 CloudWatch Container Insights 对容器化应用程序和微服务进行监控、故障排查和告警。您可以收集、聚合并汇总 CPU、内存、磁盘和网络数据等资源的计算利用率信息,以及容器重启失败等诊断信息,以帮助 DevOps 工程师隔离和解决问题。Container Insights 为您提供来自容器管理服务 [例如 Amazon ECS for Kubernetes(Amazon EKS)、Amazon Elastic Container Service(Amazon ECS)、Amazon Fargate 和独立 Kubernetes(k8s)] 的洞察。

收集

收集和存储日志
 
Amazon CloudWatch Logs 服务允许您收集和存储来自资源、应用程序和服务的日志。日志分为三个主要类别:1)公开日志。这些是由亚马逊云科技服务代表您在本地发布的日志。2)由亚马逊云科技服务发布的日志。目前有超过 30 种亚马逊云科技服务会向 CloudWatch 发送日志。3)自定义日志。这些是来自您自己的应用程序和本地资源的日志。
 
内置指标
 
从分布式应用程序(例如使用微服务架构构建的应用程序)收集指标是很耗时的。Amazon CloudWatch 允许您从 70 多个亚马逊云科技服务(如 Amazon EC2、Amazon DynamoDB、AmazonS3、Amazon ECS、Amazon Lambda 和 Amazon API Gateway)收集默认指标,而无需您采取任何行动。
 
自定义指标
 
Amazon  CloudWatch 可帮助您从自己的应用程序中收集自定义指标,以帮助您监控运营性能、解决问题并发现趋势。用户活动是一个可以在一段时间内收集和监视的自定义度量的示例。您可以使用 CloudWatch Agent 或 PutMetricData API 操作将这些度量发布到 CloudWater。
 
收集和汇总容量指标和日志
 
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 控制面板日志的选项。
 
收集和汇总 Lambda 指标和日志

 
CloudWatch Lambda Insights 简化了从 Amazon Lambda 函数收集及汇总辅助指标和日志。它从每个 Lambda 函数中收集 CPU、内存和网络等计算性能指标作为性能事件,同时自动生成用于监控和报警的自定义指标。性能事件作为 CloudWatch Logs 摄取,以简化监控和故障排除。从这些摄取的日志中自动提取 CloudWatch 自定义指标,并使用 CloudWatch Logs Insights 的高级查询语言对这些指标做进一步分析。
 
流式传输指标
 
Amazon CloudWatch Metric Streams 帮助您向您选择的目的地创建连续的指标流。Metrics Streams 简化了使用 Amazon Kinesis Data Firehose HTTP 端点向常用的第三方服务提供商发送 CloudWatch 指标的流程。您可以将指标传输至亚马逊云科技的数据湖。
 

监控

通过控制面板查看统一运营视图
 
通过 Amazon CloudWatch 控制面板,您可以在统一视图中创建可重复使用的图表并可视化云资源和应用程序。您可以在单个控制面板中并排绘制指标和日志数据,从而快速获知具体情况,诊断问题并了解根本原因。例如,您可以可视化关键指标,如 CPU 利用率和内存,并将它们与容量进行比较。您还可以关联特定指标的日志模式,并设置告警以接收性能和运营问题提示。这让您能够全面了解整个系统的运行状况,并快速排查问题,以缩短解决问题的平均时间。
 
复合告警
 
Amazon CloudWatch 复合告警使您能够组合多个告警并减少告警噪音。如果应用程序问题影响应用程序中的多个资源,您将收到一个针对整个应用程序的告警通知,而不是针对每个受影响的资源分别收到一个告警。这有助于您专注于查找运营问题的根本原因,以减少应用程序的停机时间。您可以为应用程序、亚马逊云科技区域或可用区等资源分组提供一个整体状态。
 
高分辨率告警
 
Amazon CloudWatch 告警允许您设置指标阈值并触发操作。您可以创建高精度警报,将百分位数设置为统计数据,并根据需要指定或忽略操作。
 
关联日志和指标
 
应用程序和基础设施资源会以日志和指标的形式生成大量运营和监控数据。除了让您能够在一个平台中访问和可视化这些数据集之外,Amazon CloudWatch 还能让您轻松将它们相互关联。这有助于您快速诊断问题并了解根本原因。例如,您可以将某个日志模式(例如错误)与特定指标关联,并设置告警以接收性能和运营问题提示。
 
Application Insights
 
Amazon CloudWatch Application Insights 为企业应用程序提供可观测性的自动化设置,以便您直观了解此类应用程序的运行状况。该功能有助于跨应用程序资源和技术堆栈(例如数据库、Web (IIS) 和应用程序服务器、操作系统、负载均衡器、队列等)识别和设置关键指标和日志。您可持续监控这些遥测数据,以检测和关联异常和错误,并向您通知应用程序中的任何问题。为帮助排查问题,Application Insights 创建自动化控制面板来呈现检测到的问题,包括相关的指标异常和日志错误,以及可帮助您分析潜在根源的其他洞察。这样您就可以迅速采取补救操作,确保应用程序在良好的运行状况下运行,并且不会影响到终端用户。
 
容器监控洞察

 
Container Insights 在 CloudWatch 控制台中提供控制面板。这些控制面板按集群、Pod / 任务和服务总结计算性能、错误和警报。每个控制面板按所选时间段的 CPU 和内存总结运行的一组 pod / 任务或容器的列表。基于时间段和所选择的 pod / 任务或容器,您可以按照上下文深入了解应用程序日志、Amazon X-Ray 轨迹和性能事件。
 
Lambda 监控洞察
 
Lambda Insights 在 CloudWatch 控制台中提供控制面板。这些控制面板汇总计算性能和错误。每个控制面板包括所选时间段的指标列表,并允许您(基于时间段和所选函数)按照上下文深入了解应用程序日志、Amazon X-Ray 轨迹和性能事件。
 
异常检测
 
Amazon CloudWatch 异常检测应用机器学习算法来连续分析指标数据并识别异常行为。您可以创建基于自然指标模式自动调整阈值的告警。您还可以在控制面板上使用异常检测范围将指标可视化。这使您可以监视、隔离度量指标中的意外变化并进行故障排除。
 
ServiceLens

 
您可以使用 Amazon CloudWatch ServiceLens 在一个地方直观呈现和分析应用程序的运行状况、性能和可用性。CloudWatch ServiceLens 将 CloudWatch 指标和日志以及来自 Amazon X-Ray 的轨迹结合在一起,为您提供应用程序及其依赖关系的完整视图。这能让您快速查明性能瓶颈、找出应用程序问题的根本原因和确定受影响的用户。利用 CloudWatch ServiceLens,您可以从三个主要方面了解应用程序:基础设施监控(使用指标和日志了解支持应用程序的资源)、事务监控(使用轨迹了解资源之间的依赖关系)及终端用户监控(使用 Canary 监控您的端点并在您的终端用户体验降低时通知您)。CloudWatch ServiceLens 提供服务地图(直观呈现所有资源的上下文联系)和直观的界面,让您能深入研究相关的监控数据。
 
Synthetics
 
借助 Amazon CloudWatch Synthetics,您可以更加轻松地监控应用程序端点。它全天候对端点运行测试,并在端点运行不正常时发出提示。可以自定义这些测试,以在应用程序中检查可用性、延迟、事务、坏链接或死链接、按步骤完成任务情况、页面加载错误、UI 资产加载延迟、复杂的向导流或检出流。您还可以使用 CloudWatch Synthetics 隔离告警应用程序端点,并将它们映射回底层基础设施问题,以缩短解决问题的平均时间。有了这项新功能,CloudWatch 现在可以收集 Canary 流量,即使应用程序上没有任何客户体验,它也可以不间断地验证客户体验,让您能够比客户更早地发现问题。CloudWatch Synthetics 支持对 REST API、URL 和网站内容进行监控,并检查网络钓鱼、代码注入和跨站脚本攻击未经授权的更改。
 
RUM

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

操作

Auto Scaling
 
Auto Scaling 可帮助您自动规划容量和资源。您可以设置阈值,以发出针对关键指标的警报并触发自动的 Auto Scaling 操作。例如,您可以设置 Auto Scaling 工作流,以根据 CPU 利用率指标添加或删除 EC2 实例,并优化资源成本。
 
使用 CloudWatch Events 自动响应操作更改
 
CloudWatch Events 提供近乎实时的系统事件流,这些事件描述了亚马逊云科技资源的更改。它让您能够快速响应操作更改并采取纠正措施。您只需编写规则以指明哪些事件与您的应用程序有关,以及当规则与事件匹配时要执行哪些自动化操作。
 
在 EKS、ECS 和 k8s 集群上发出告警并自动执行操作
 
对于 Amazon EKS 和 k8s 集群,CloudWatch Container Insights 允许您发出计算指标告警,以触发 Amazon EC2 Auto Scaling 组上的 Auto Scaling 策略,并为您提供停止、终止、重启和恢复任何 Amazon EC2 实例的功能。

分析

粒度数据和延长保留期
 
借助 Amazon CloudWatch,您可以使用数个月的指标数据(存储和保留)监控趋势和季节性。您可以利用这些数据执行历史分析以优化资源利用率。使用 CloudWatch,您还可收集运行状况指标,包括自定义指标(例如来自本地部署应用程序的指标)。精细的实时数据让您能够实现更好的可视化,并发现和监控趋势,从而优化应用程序性能和运行状况。
 
指标自定义运营
 
通过 Amazon CloudWatch 指标数学,您可以跨多个指标执行计算以进行实时分析,以便您可以轻松地从现有 CloudWatch 指标中获取见解,并更好地了解基础设施的运行状况和性能。您可以在 Amazon Management Console 中可视化这些计算指标,将它们添加到 CloudWatch 控制面板,或使用 GetMetricData API 操作检索它们。指标数学支持算术运算(例如 +、-、/、*)和数学函数(例如总和、平均值、最小值、最大值和标准偏差)。
 
日志分析
 
通过 Amazon CloudWatch Logs Insights,您可从日志促进可行的智能以解决操作问题,而无需预配置服务器或管理软件。您可以立即开始使用聚合、筛选器和正则表达式编写查询。此外,您还可以可视化时间序列数据,深入查看各个日志事件以及将查询结果导出到 CloudWatch 控制面板。这旨在为您带来完整的的运营可见性。只需在 Amazon 管理控制台中单击几下,您即可开始使用 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 的结构化录入事件中的模式,包括来自 Amazon CloudTrail、Amazon Virtual Private Cloud (Amazon VPC)、Amazon API Gateway 等亚马逊云科技服务的日志,以及服务或本地部署服务器发送的任何自定义日志,例如 Apache 访问日志。Contributor Insights 近乎实时地评估这些日志事件并显示报告。报告会列出数据集中的重要贡献者并列出独特贡献者的数量。贡献者是一个聚合指标,它基于 CloudWatch Logs 中包含的日志字段(例如 VPC 流日志中的 account-id 或 interface-id)的维度,或者基于任何其他自定义的维度集。您可以根据自己的自定义指标对贡献者数据进行排序和过滤。Contributor Insights 报告数据可以在 CloudWatch 控制面板上显示,可以与 CloudWatch 指标一起用来绘制图表,还可以将其添加到 CloudWatch 告警中。
 
Metrics Insights (Preview)
 
Amazon CloudWatch Metrics Insights (Preview) 是一个快速、灵活并基于 SQL 的查询引擎,使您能够近乎实时地在数百万计运营指标内确定趋势和模式。利用 Metrics Insights,您可以通过灵活查询和即时指标聚合,获得基础设施和大规模应用程序性能的更好可见性。Metrics Insights 查询可用于创建强大可视化,帮助您主动监控和快速查明问题,并缩短解决问题的平均时间。
 
Evidently
 
借助 Amazon CloudWatch Evidently,应用程序开发人员可以在推出新功能供普遍使用之前进行实验,以提前发现意外后果,从而减少与推出新功能有关的风险。Evidently 能够使您在发布新功能之前在整个应用程序堆栈中验证这些功能,确保所发布的功能更加安全。启动新功能时,您可以向小用户群公开这些功能,监控关键指标(例如页面加载时间或转换),然后调高流量。Evidently 还允许您试用不同的设计方案,收集用户数据,并在生产中发布最有效的设计。
 
合规性与安全性
 
Amazon CloudWatch 与 Amazon Identity and Access Management (IAM) 集成,因此您可以控制哪些用户和资源有权访问您的数据及其访问方式。
 
对数据进行静态和动态加密。您还可以使用 Amazon Key Management Service 加密功能来加密日志组,以提高合规性和安全性。
 

其他信息

有关服务控制、安全特性及功能的其他信息,包括有关存储、检索、修改、限制和删除数据的信息,请参见 https://docs.amazonaws.cn/。以上链接包含的信息不构成光环新网关于亚马逊云科技(北京区域)的客户协议或西云数据关于亚马逊云科技(宁夏区域)的客户协议的“文档”的一部分,也不构成您与光环新网或西云数据之间就您使用亚马逊云科技中国区域服务达成的其他协议的任何部分。