AWS RDS创建ReadLatency,WriteLatency,DBLoad,AuroraVolumeBytesLeftTotal四种指标告警

ReadLatency:连续3个5分钟读延迟20ms告警

bash 复制代码
# Alert when read latency exceeds 20ms
aws cloudwatch put-metric-alarm \
  --alarm-name "rds-mydb-read-latency-high" \
  --alarm-description "RDS read latency above 20ms" \
  --metric-name ReadLatency \
  --namespace AWS/RDS \
  --statistic Average \
  --period 300 \
  --evaluation-periods 3 \
  --threshold 0.02 \
  --comparison-operator GreaterThanThreshold \
  --dimensions Name=DBInstanceIdentifier,Value=my-database \
  --alarm-actions arn:aws:sns:us-east-1:1242436:rds-critical-alerts

WriteLatency:连续3个5分钟写延迟20ms告警

bash 复制代码
# Alert when write latency exceeds 20ms
aws cloudwatch put-metric-alarm \
  --alarm-name "rds-mydb-write-latency-high" \
  --alarm-description "RDS write latency above 20ms" \
  --metric-name WriteLatency \
  --namespace AWS/RDS \
  --statistic Average \
  --period 300 \
  --evaluation-periods 3 \
  --threshold 0.02 \
  --comparison-operator GreaterThanThreshold \
  --dimensions Name=DBInstanceIdentifier,Value=my-database \
  --alarm-actions arn:aws:sns:us-east-1:1231423523:rds-critical-alerts

DBLoad:连续3个5分钟CPU平均负载超80%告警

bash 复制代码
aws cloudwatch put-metric-alarm \
    --alarm-name "aurora-dbload-writer-high" \
    --alarm-description "DBLoad 超过 1.6 (vCPU 80%)" \
    --metric-name "DBLoad" \
    --namespace "AWS/RDS" \
    --statistic "Average" \
    --period 300 \
    --evaluation-periods 3 \
    --threshold 1.6 \
    --comparison-operator "GreaterThanThreshold" \
    --dimensions Name=DBInstanceIdentifier,Value=你的Writer实例ID

这个1.6是怎么来的。我的AWS数据库实例是db.r5.large类型,这个类型只有2个vCPU,所以2*0.8=1.6,意思CPU平均负载超80%。

AuroraVolumeBytesLeftTotal:剩余磁盘空间不足50GB告警

bash 复制代码
aws cloudwatch put-metric-alarm \
  --alarm-name "Aurora-Storage-Left-Critical-30GB" \
  --alarm-description "Aurora 剩余存储低于 50GB,紧急!" \
  --metric-name AuroraVolumeBytesLeftTotal \
  --namespace AWS/RDS \
  --statistic Average \
  --period 300 \
  --evaluation-periods 3 \
  --threshold 53687091200 \
  --comparison-operator LessThanOrEqualToThreshold \
  --dimensions Name=DBClusterIdentifier,Value=你的集群名 \
  --alarm-actions arn:aws:sns:us-west-2:123456789012:MyAlarmTopic \
  --ok-actions arn:aws:sns:us-west-2:123456789012:MyAlarmTopic \
  --treat-missing-data notBreaching

参考:

相关推荐
卤炖阑尾炎6 小时前
基于 MySQL 主主复制 + HAProxy+Keepalived 构建高可用集群实战
数据库·mysql
Dxy12393102166 小时前
MySQL 如何高效删除大量数据:策略与最佳实践
数据库·mysql·oracle
黑牛儿8 小时前
MySQL 索引实战详解:从创建到优化,彻底解决查询慢问题
服务器·数据库·后端·mysql
亚马逊云开发者9 小时前
更新个监控 Agent 要协调 200 个团队?Amazon ECS 托管守护进程终于把平台工程师从苦海里捞出来了
aws
想唱rap10 小时前
线程池以及读写问题
服务器·数据库·c++·mysql·ubuntu
better_liang11 小时前
每日Java面试场景题知识点之-MySQL索引
java·数据库·mysql·性能优化·索引
AgCl2311 小时前
MYSQL-4-DQL数据查询语言-3/14-15
数据库·mysql
别抢我的锅包肉11 小时前
【MySQL】第五节 - 事务实战详解:从基础到并发控制(附 Navicat 可运行实验脚本)
数据库·mysql
殷紫川11 小时前
避坑必看!MySQL 三大日志(redo/undo/binlog)底层原理全拆解,事务一致性再也不懵
mysql
AgCl2312 小时前
MYSQL-5-DCL数据查询语言-3/16
数据库·mysql