《架构师之路:架构设计中的100个知识点》
66.分级告警策略
系统监控告警,是架构设计中必不可少的一部分。可很多公司,由于告警太多,工程师完全忽视告警消息,最终导致告警失效。为什么会这样?根本原因,是分级告警策略的缺失。
啥是告警?
监控平台发现系统异常,向系统负责人发出文字(例如,邮件/短信),色彩(有些公司,编译不过,CI平台会亮红灯),声音(有些公司,有蜂鸣器嗡嗡响,研发压力大呀)等警示,就是告警。
绝大部分公司,主要是通过文字发出系统异常告警信息。
文字告警有哪些常见的方法?
常见有三类,成本,到达率,实时性都不一样:
1. 短信:成本高,实时性好,到达率高;
2. 邮件:成本低,实时性差,到达率高;
3. 钉钉/微信:成本低,实时性中,到达率中;
啥是告警策略?
绝大部分公司,可能都没有考虑系统监控告警策略,一旦发生异常,就发邮件/短信通知系统负责人,这样可能导致这样一些问题:
1. 同一个集群的不同实例出问题,可能会造成重复告警,浪费带宽资源,升高短信成本;
2. 系统负责人短时间内手机被告警短信刷屏,导致产生麻木感;
3. 系统负责人短时间内手机,邮箱,钉钉,微信同时对一个故障告警,导致员工产生巨大压力;
4. 员工不重视告警,无法判断告警的优先级,leader又不知情,导致事故影响扩大;
为了解决上述问题,针对不同的服务,在不同的时间段,不同的员工层级,应该设定不同的告警策略,有哪些常见的告警策略呢?
1. 模块告警收敛策略:当一个模块/服务异常时,与其对应的所有接口监控,与其对应集群的多有实例,都会告警,此时,应该收敛为一个模块/服务告警,常见的实现方式是,模块/服务按照集群名称做告警去重;
2. 接口告警收敛策略:当一个模块/服务的一个接口异常,与其对应集群的多个实例,都会告警,此时,应该收敛为一个接口告警,常见的实现方式是,按照接口名称做告警去重;
3. 告警频率收敛策略:对同一个服务或者接口,应该在固定的时间内,只发送有限的告警,常见的方式是,按照1分钟1次限制告警次数,一来降低研发的紧张感与压力感,二来节省成本;
4. 不同时段区分告警方式策略:工作日工作时段在公司时,通过邮件/钉钉/微信发送告警能更加节省成本;半夜或者周末发生故障时,通过短信发送告警能保证实时性;
5. 逐层上报告警策略:每个模块都应该有负责人,原则上告警会发送给模块的负责人,但如果告警连续1小时未恢复正常,告警会自动发送给系统负责人的直属leader,如果告警连续3个小时未恢复正常,告警会自动发送给系统负责人的二级leader;
6. 黑白跳动策略:当系统由正常变为异常,异常恢复正常,出现正反的变化时,都应该发出告警;
画外音:额,这么人性化,是“别人家”的公司么?
知其然,知其所以然。
思路比结论更重要。
==全文完==
创业了,做了一个职场发展的社群。
下周直播,欢迎来做客聊天。
《职场快速发展,如何5年走完别人10年的路?》
调研:
你们公司有监控告警吗?
你们公司有分级告警策略吗?
你的手机,24小时收告警短信吗?
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有