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

参考:

相关推荐
小白男神12 小时前
MySQL进阶学习四(存储过程、游标、触发器)
mysql
这个DBA有点耶12 小时前
MVCC深入:Read View、版本链与快照读——InnoDB并发控制的内核
数据库·mysql·架构
kybs199114 小时前
全球灾害数据分析可视化 毕业设计-附源码66794
vue.js·spring boot·mysql·安全·django·c#·asp.net
程序猿_极客15 小时前
【免费】分享一套优质的基于SSM的校园失物招领系统的设计与实现,源码+文档+视频详解(讲解)
java·mysql·ssm·课程设计·失物招领系统
于平安15 小时前
MySQL-触发器
数据库·mysql
大猫和小黄16 小时前
MySQL锁与MVCC深度解析
mysql·mvcc·
数据库小学妹17 小时前
MySQL库存扣减实战:原子UPDATE、分桶方案与锁范围分析
数据库·后端·mysql
Linux-lucky18 小时前
39-41-Linux学习之旅之redis缓存基础与NFS基础
linux·运维·mysql·ubuntu
于平安18 小时前
MySQL-变量,流程控制与游标
数据库·mysql