Amazon CloudWatch のアイコン

Amazon CloudWatch 经典2009年〜

提供 AWS 资源和应用程序的监控、日志管理和告警的服务

它能做什么

Amazon CloudWatch 是一项收集、可视化和监控 AWS 资源及应用程序的指标(数值数据)、日志和事件的服务。将 CPU 使用率和内存使用量等指标实时显示在仪表板上,超过阈值时通过告警通知。还具备日志的汇聚、搜索和分析功能,可以统一进行 AWS 环境的运维监控。

使用场景

用于 EC2 实例 CPU 使用率超过 80% 时通过 Auto Scaling 进行扩展、Lambda 函数错误率急增时通知 Slack、从应用程序日志中搜索特定错误模式等,适用于运维监控的所有场景。

日常类比

可以将其比作汽车的仪表盘。仪表盘上排列着速度表、油量表、发动机转速表、水温表等仪表,可以实时确认汽车的状态。出现异常时警告灯会亮起。CloudWatch 就是 AWS 环境的仪表盘,监控各服务的状态,有问题时通过告警通知。

什么是 CloudWatch

Amazon CloudWatch 是 AWS 运维监控的核心服务。EC2LambdaRDS、S3 等几乎所有 AWS 服务都会自动向 CloudWatch 发送指标。可以将这些指标以图表形式可视化、设置阈值触发告警、汇聚日志进行搜索和分析。是稳定运维 AWS 环境的必备服务。

指标与告警

指标是表示 AWS 资源状态的时间序列数值数据。例如 EC2 的 CPUUtilization(CPU 使用率)和 Lambda 的 Errors(错误数)等。告警是为指标设置阈值,满足条件时触发操作(SNS 通知、Auto Scaling、Lambda 执行等)。例如可以设置“CPU 使用率连续 5 分钟超过 80% 时通知”。

CloudWatch Logs

CloudWatch Logs 是一项汇聚、存储和搜索应用程序日志和系统日志的服务。Lambda 函数的执行日志会自动发送到 CloudWatch Logs。EC2 实例的日志需要安装 CloudWatch Agent 来发送。使用 Logs Insights 功能,可以用类似 SQL 的查询语言高速搜索和分析日志。例如可以进行“按发生频率显示过去 1 小时的错误日志”等分析。 关于 CloudWatch Logs 的实践知识,也可以通过专业书籍(Amazon)进行学习。

开始使用

CloudWatch 在创建 AWS 账户时即可使用。打开 CloudWatch 控制台,AWS 资源的基本指标已经在收集中。创建仪表板放置指标图表,设置告警,监控体系的基础就搭建好了。如需发送自定义指标(应用程序特有的数值),请使用 AWS SDK 的 PutMetricData API。

注意事项

  • 基本指标免费,但详细监控(1 分钟间隔)和自定义指标会产生额外费用。请评估标准监控(5 分钟间隔)是否足够以控制成本
  • CloudWatch Logs 的保留期默认为永久。不需要的日志积累会增加存储成本,请为每个日志组设置适当的保留期
  • 如果告警的评估期和阈值设置不当,临时峰值会导致频繁误报。通过设置连续多个周期超过阈值的条件可以减少误报
共有するXB!