因此在互联网行业中,频繁的误告通常会遇见如下几个问题:
单位时间内有效信息获取率变低,技术人员很难从频繁的误告中得到真正有问题的告警;
真正的问题发生时,犹如《狼来了》一样,认为都是误告,大大加长了问题的发现时间;
降低技术人员的工作效率,每天都沉浸在对于各种告警的处理当中,降低人员产出;
如果在这个时候,我们为了适应夜间的大波动,而将30%的阈值拉长,修改到50%甚至80%,这样的话确实在一定程度上降低了噪音的产生;但在另一方面,我们的告警发现率可能会大大降低。假如出现线上故障的时候,流量波动下小于我们设置的阈值范围,那么整个配置都没有意义。在这个时候,我们就开始构思区分白天和夜间,跑两套规则,保证噪音相对较低的同时,也能反映出线上的问题,于是取消订单的规则就变成了如下所示:
与此同时,我们也发现,线上流量并不稳定,可能这段时间低一点,过段时间来个大促,流量就上升的厉害,导致告警频繁的触发,这个时候技术人员又会面临大量的告警骚扰,而很难从中发现真正有问题的告警。
10月1号大盘数据
告警触发数据
在此基础上,整个团队集思广益,讨论如何破局。因此就有了如下的解决方案,既然线上流量是实时波动的,容易受各种事件影响,那么基线为何一定要简单粗暴的只取前七天的一个平均值呢?为何我们不能在此基础上,让基线也可以动态调整,并且尽可能匹配线上流量呢?
如上图所示,当我们实时流量与线上真实流量偏差较大的时候,我们可能让基线尽可能的靠近线上实时流量,从而更好的评估线上流量水平,不至于让我们的告警失灵,产生过多的噪音;针对取消订单场景,我们也做了如下调整:
调整后(红色部分表示波动超过30%)
从大盘上可以看到,明显经过调整后,大部分时候的波动能够保持在30%内,大大减少了噪音的产生。
C端告警数据
B端告警数据
整个团队在现有基础成果上,为了减小人员的投入以及负担,开始探索能否有一种手段,可以让大家不为了应对线上水位变化,而频繁调整SLA场景基线呢?
答案就是智能基线,智能基线它能根据过往的数据,智能的推测出流量的曲线图,并评估出流量的最高水位(上限)以及最低水位(下限),在保证告警噪音相对较小的情况下,帮助我们更便捷以及灵敏的发现线上问题,并且保鲜周期也能进一步拉长,配置规则也进一步简单化,便捷化。
时间段 | 告警等级 | 平稳性 | 波浪形 | 突发型 |
白天 | P0 | 任意条件: XX总量最近30s求和与智能基线值环比下跌XX% XX总量最近30s求和与智能基线值环比上升XX% | 所有条件: XX总量最近30s求和与预测上线比高于XX XX总量最近30s求和与智能基线值环比上升XX% | |
P1 | 任意条件: XX总量最近30s求和与智能基线值环比下跌XX%&持续XX个点位 XX总量最近30s求和与智能基线值环比上升XX%&持续XX个点位 | 任意条件: XX总量最近30s求和与预测上线比高于XX&持续XX个点位 XX总量最近30s求和与预测下线比低于XX&持续XX个点位 | 任意条件: XX总量最近30s求和与预测上线比高于XX&持续XX个点位 XX总量最近30s求和与预测下线比低于XX&持续XX个点位 | |
P2 | ||||
夜间 | P0 | 所有条件: XX总量最近30s求和与预测上线比高于XX&XX总量最近30s求和与智能基线值环比上升XX% XX总量最近30s求和与预测下线比低于XX&XX总量最近30s求和与智能基线值环比下跌XX% | 所有条件: XX总量最近30s求和与预测上线比高于XX XX总量最近30s求和与智能基线值环比上升XX% | |
P1 | 所有条件: XX总量最近30s求和与预测上线比高于XX&XX总量最近30s求和与智能基线值环比上升XX% XX总量最近30s求和与预测下线比低于XX&XX总量最近30s求和与智能基线值环比下跌XX% | 任意条件: XX总量最近30s求和与预测上线比高于XX&持续XX个点位 XX总量最近30s求和与预测下线比低于XX&持续XX个点位 | 任意条件: XX总量最近30s求和与预测上线比高于XX&持续XX个点位 XX总量最近30s求和与预测下线比低于XX&持续XX个点位 | |
P2 |
从图上我们可以看出此场景的波动比例基本在上下限控制以内,而对应的一般基线如下:
*文/莫名
关注得物技术,每周一三五晚18:30更新技术干货
要是觉得文章对你有帮助的话,欢迎评论转发点赞~
活动推荐
主题:
得物无线技术沙龙(第三期)
时间:
12月4日 14:00 - 18:00
报名方式:
更多详情,请点击「沙龙详情」