数据库告警收敛
需求来源
为保障前台业务数据库系统的安全稳定,需要从多个维度监控DB:含有QPS告警、连接数告警、并发数告警、主从延时告警、主从切换告警、端口延时告警、基础监控告警等,每天产生大量的告警,导致有效的告警被淹没,无法在第一时间被发现处理;
目标:
对现有的告警进行分类梳理、逐个收敛; 减少告警数量,降低告警频率,使告警通道发出的告警皆为有效告警,告警的信息得以被及时接收并处理;
DB性能告警
- QPS告警:
描述:QPS与数据库性能成正比,理论上越高越好。如果屏蔽QPS告警,则流量异常上涨、缓存穿透等问题无法知晓。
新告警算法:与昨天同比,QPS超过1.5倍 并且超过QPS阈值则告警;
收敛策略:同比浮动,阈值上调
告警接收人:DBA 和 研发
2,连接数告警:
现在为浮动告警,(50%浮动告警)条数比较少,保持不变;
3,线程并发数告警:
监控DB性能重要指标,无需收敛, 保持不变;
4,主从复制延时告警:
告警接收人:
接收人由DBA和研发 修改为直接发送给对应研发;
收敛策略:
加长告警时间间隔,告警频率修改为每半小时告警一次;
5, 主从复制错误告警:
收敛策略: 加长告警时间间隔,告警频率修改为每半小时告警一次;
6,数据库采集告警:
DB宕机告警:保持不变
DB下线或缩容告警:保持不变
DB新增机器告警:保持不变
批量采集开关: 每分钟超过50台(1%) 采数失败,则关闭告警;(需要单独开关)
7, 实例端口告警:
后续新部署实例,本地端口告警取消;更新mysql部署脚本;
数据库实例基础监控告警:
- CPU/IO告警:
原有告警:CPU和IO告警阈值均为95%
收敛告警:
a, 将CPU和IO告警拆分, IO阈值95%不变, CPU改为60%;
b, 修改为组合告警:
CPU && 并发数 告警
IO && DML(INSERT,DELETE,UPDATE)
- Memory告警:
内存告警为浮动30%告警,保持不变;
- DISK告警:
原有告警:
shwx机器 单独设置告警阈值,DBS机器原先无告警阈值:
收敛告警:
DBS统一设置85% 告警阈值;
磁盘告警间隔为60min;
网络延时告警:
其他功能类告警:
- DDL/DML/授权 等工单通知:
保持不变
- 每天DB备份告警:
保持不变
- 数据库主从切换告警:
保持不变
新增告警:
- DBS同步脚本,每天凌晨5点开始执行,并添加执行结果告警(成功/失败),每天一条;
- 量化告警:
- 量化告警,生成历史曲线图;
- 告警收敛前后告警量化对比,降低的百分比;