收集

轻松收集和存储日志

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 EC2、Amazon DynamoDB、Amazon S3、Amazon ECS、AWS Lambda 和 Amazon API Gateway)收集默认指标。例如,EC2 实例会自动发布 CPU 利用率、数据传输和磁盘使用情况指标,以帮助您了解状态更改。您可以使用 API Gateway 的七个内置指标之一来检测延迟,也可以利用 AWS Lambda 的八个内置指标之一来检测错误和限制。除了默认指标外,如果您需要更详细的指标(如分区级 Amazon Kinesis Data Streams 指标),只需为每项资源选择相应指标即可。

自定义指标

Amazon CloudWatch 允许您从自己的应用程序收集自定义指标,以监控运行性能,排查问题和发现趋势。用户活动是您可以在一段时间内收集和监控的自定义指标的示例。您可以使用 CloudWatch 代理或 PutMetricData API 操作将这些指标发布到 CloudWatch。所有相同的 CloudWatch 功能都可用于您的自定义指标数据,包括统计数据、图表和警报,且刷新频率可高达一秒。

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

Container Insights 简化了辅助指标和容器生态系统日志的收集和汇总。它从每个容器中收集计算性能指标(如 CPU、内存、网络和磁盘信息)作为性能事件,并自动生成用于监控和报警的自定义指标。性能事件摄取为 CloudWatch Logs 提供有关运行环境的元数据,例如 Amazon EC2 实例 ID、服务、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 收集应用程序日志。

监控

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

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

高精度警报

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

关联日志和指标

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

适用于 .NET 和 SQL Server 应用程序的 Application Insights

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

容器监控见解

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

异常检测

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

操作

Auto Scaling

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

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

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

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

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

分析

粒度数据和延长保留期

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

针对指标运行自定义操作

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

日志分析

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

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

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

合规性与安全性

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

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

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

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