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

参考:

相关推荐
尽兴-1 小时前
企业数据库选型与演进:Oracle、达梦、MySQL 与分库分表实践
数据库·mysql·oracle·分库分表
IT瑞先生2 小时前
Docker快速部署Mysql的三种方法——实操篇
mysql·adb·docker
数据库小学妹2 小时前
MySQL在线DDL实战:ALGORITHM三种算法对比+gh-ost变更管理SOP
mysql·dba·数据库运维·在线ddl·mdl锁·sql变更管理
Ethan01073 小时前
隔离级别管读,乐观锁管写——RC/RR 与写冲突的本质
mysql
熊文豪4 小时前
【金仓数据库征文】不装中间件的 MySQL→金仓在线迁移,mysql_fdw 全流程,和一个差点漏掉的 emoji
数据库·mysql·中间件·电科金仓
C++、Java和Python的菜鸟4 小时前
第5章 后端Web基础 (MySQL基础)
前端·mysql·adb
Qianyunzhiyun5 小时前
AWS根用户MFA怎么设置?新账号安全教程
安全·云计算·aws
2601_955759415 小时前
AWS 账单支付失败会怎样?NiceCloud 说明影响与补救
云计算·aws
IT瑞先生6 小时前
MariaDB与Mysql差异及版本对照
数据库·mysql·mariadb
秋风渡.6 小时前
MySQL数据库操作
数据库·mysql