目录标题
📊 Amazon CloudWatch(RDS)简介
Amazon CloudWatch 是 AWS 提供的一种 全托管的监控服务,它可以用来 收集、可视化和分析 AWS 上的各种资源指标、日志和事件。对于 RDS(Relational Database Service),CloudWatch 是 官方推荐的性能和健康状态监控工具。
✅ CloudWatch 监控 RDS 能力一览
一、支持的指标类型(Metrics)
CloudWatch 为 RDS 提供了 几十种内置指标,常见包括:
指标名称 | 说明 | 关键用途 |
---|---|---|
CPUUtilization | CPU 使用率 | 判断是否存在 CPU 瓶颈 |
DatabaseConnections | 当前连接数 | 监控连接是否接近 max_connections |
FreeableMemory | 剩余可用内存 | 内存是否存在压力 |
FreeStorageSpace | 剩余磁盘空间 | 判断磁盘是否即将满 |
ReadIOPS / WriteIOPS | 每秒磁盘读/写次数 | 判断是否有 I/O 瓶颈 |
ReadLatency / WriteLatency | I/O 延迟 | 判断 I/O 响应慢的根因 |
DiskQueueDepth | 磁盘队列深度 | 队列长表示磁盘瓶颈 |
ReplicaLag | 只读副本延迟 | 主从同步延迟判断 |
SwapUsage | 使用了多少 Swap | 内存不足时 Swap 使用是否过高 |
DBLoad (仅适用于 Performance Insights) | 数据库负载 | 类似 Oracle 的 AAS |
👉 你可以使用这些指标设置 告警(Alarms) 来自动触发通知或执行操作(如 Lambda 脚本等)。
二、CloudWatch 与 RDS Performance Insights 对比
维度 | CloudWatch | Performance Insights |
---|---|---|
监控粒度 | 容器级、系统级 | SQL级别、等待事件级别 |
数据范围 | 所有 AWS 服务通用 | RDS 专用,需开启 |
支持图表 | 支持(默认1分钟粒度) | 更精细(最多1秒) |
分析深度 | 较浅 | 类似 Oracle ASH,可查慢SQL、锁、等待等 |
是否收费 | 基本免费,高频采样/长期保留需收费 | 基础免费,按查询粒度和历史深度收费 |
三、如何使用 CloudWatch 监控 RDS?
✅ 启用步骤(大多默认已开启):
- 登录 AWS 控制台
- 进入
RDS 控制台
> 选择实例 - 切换到 “Monitoring” 或 “CloudWatch Logs” 标签页
- 查看系统级别指标图表
✅ 自定义告警示例:
# CPU 超过 80% 持续 5 分钟触发 SNS 通知
CloudWatch Alarm:
Metric: CPUUtilization
Threshold: > 80%
Duration: 5 minutes
Action: Send alert to SNS Topic
四、高级用法
功能 | 用途 |
---|---|
CloudWatch Dashboards | 可视化多个指标,适合做 RDS + EC2 + 网络 的统一监控面板 |
CloudWatch Alarms + SNS | 设置阈值报警,自动触发邮件、短信或自动修复脚本 |
CloudWatch Logs | 可将 PostgreSQL / MySQL / MariaDB 的错误日志等推送至 CloudWatch 日志 |
CloudWatch Agent | 更细粒度的操作系统指标监控(适用于自管数据库) |
📌 总结:CloudWatch 是什么?
CloudWatch 是 AWS 的“统一监控平台”,在 RDS 场景中,它帮助你:
- 实时掌握数据库资源状态
- 识别性能瓶颈(CPU、内存、I/O 等)
- 与告警联动实现自动化处理
- 结合 Performance Insights 深入分析 SQL 层问题
如果你在用 RDS for MySQL、PostgreSQL、SQL Server 或 Oracle,建议同时启用:
CloudWatch
监控资源级指标Performance Insights
分析 SQL 层性能