面对这样的问题,也许很多运维会从监控角度入手,做告警聚合,收敛等。但今天我们从监控系统运营的角度入手,逐步优化告警。
业务背景
- 每天告警数量过万,包含故障和恢复通知
- SRE想要优化告警,却不知道从哪里下手是好
- 是该优化系统?还是应用?还是监控项?阈值等?
- 费劲一番周折,优化取得成果,成果该如何展示,汇报?
陷阱
在这样的业务背景下,如果遇到告警则处理告警,不去思考解决这些问题,往往就会掉入陷阱,花费大把时间,不见得解决根本问题,费力不讨好。
方法
1.理清构成,集中精力,解决主要矛盾
实施思路
面对海量告警无头绪时,就要从多个维度来统计告警,将统计分析的数据可视化,为我们接下来的优化指明方向,确保我们在做正确的事,且只将时间花费在最重要的事情上。
-
要统计的维度如下:
a.面向SRE - 告警总量统计 #清晰直观的告诉SRE每天的历史总告警趋势 - 各个业务线告警数量分析(统计数量与占比) #告诉SRE我们应该去关注那条业务线的告警 - 所有服务告警数量分析(统计数量与占比) #便于服务负责人第一时间知道服务告警情况 - 所有主机告警数量分析(统计数量与占比) #便于SRE精准定位是否由于个别主机造成的告警总量上升 - 各业务线告警明细分析(以此向下展示业务维度统计结果,服务维度统计结果,主机维度统计结果,告警类型统计结果) #通过这样的层级展示,基本就理清了告警的构成 b.面向监控 - 告警类型分析(统计各类告警数量与占比) #目的告知监控系统负责人,有些监控项,或阈值需要关注与优化 c.面向研发 - 研发告警分析(统计研发名下所有项目告警数量与占比) #如果是应用造成的长期告警,需要研发关注这个,共同优化告警
技术栈
cmdb,监控系统,grafana,python,mysql
#局限于本人的知识水平和工作经验,仅供参考,欢迎指正。