当前位置: 首页 > 科技观察

关于如何制定合格的NOC-SLA场景

时间:2023-03-17 12:53:50 科技观察

1。前言在所有的互联网公司中,频繁的误报是最让技术人员头疼的问题之一。试想,凌晨两三点钟,你接到了报警平台的电话,于是你揉了揉困倦的双眼,回忆着刚才的美梦,起床,打开电脑,开始了去排查问题,却发现这是一场虚惊,线上业务正在有条不紊地进行着,于是你关了电脑,又去睡觉了,但此时你根本就没有睡意,而且你在床上翻来覆去一个小时才睡着,所以第二天同事看到你一脸沧桑。这种误报一两次还可以接受,但如果隔天或者每晚触发一次怎么办?因此,在互联网行业,频繁的误报通常会遇到以下问题:单位时间内的有效信息获取率变低,技术人员很难从频繁的误报中得到真正的问题报警;,就像《狼来了》一样,被认为是误报,大大拉长了发现问题的时间;降低了技术人员的工作效率,每天埋头于处理各种告警,减少人员输出;在SLA告警的探索阶段,团队已经预估到未来可能会有大量的噪音骚扰,因此成立了告警测试组进行针对性调优;团队对线路误报水位进行了检测。纳入SLA场景告警规则。果然,上完厕所后,群里已经积累了上百条告警,根本无法提取出有效的告警。原因是我们的告警规则配置比较简单,全天候只有一条规则。上线后,大家晚上可以睡个好觉,我们自然而然地开始了噪音治理工作。控制报警噪音最重要的是权衡利弊。阈值设置过高,可能会发现线上问题;如果阈值太低,会导致频繁的噪音。因此,阈值的调整有很多学问。.第一阶段区分业务场景。我们创新地将场景分为稳定、波动和突发场景,定义如下:稳定:每日流量波动在30%以内,流量波动小;波浪型:每日流量波动在30%以外,流量波动大;突发型:每日流量波动在30%以内,但在一些突发情况下,如重大事件或时间,波动会超过30%;针对不同类型的场景,我们也有不同的告警配置方案,比如稳定型,那么可以评估场景的波动范围,在其正常波动范围内设置阈值。比如我们大部分时间取消的订单,与前七天的平均值相比,波动在30%以内,如下:经过两三天的观察,我们可以将报警阈值设置在30%,所以报警设置如下:上升报警同理,阈值设置为30%。那么对于波浪式的告警,我们可能会设置一个更大的阈值范围,比如50%,设置各种规则比如和昨天同期一样来限制噪音。比如:这样的话,我们配置的规则会比较复杂。使用根据昨天的成交量和基准线综合判断。第二阶段,我们安装了报警器后,发现白天的噪音有一定程度的改善,但是由于晚上流量波动大,正常的流量波动率可以大于30%,而且alarm被触发,如下图:如果这个时候,为了适应晚上波动大,我们将30%的阈值扩大,修改为50%甚至80%,确实降低了噪音产生一定程度;但另一方面,我们的警报检测率会显着降低。如果发生在线故障时,流量波动小于我们设置的阈值范围,那么整个配置就没有意义了。这时候我们开始构思区分白天黑夜,跑两套规则,保证噪音比较低,同时反映线上问题,于是撤单规则变成如下:同时,我们也发现线上流量不稳定。这段时间可能会很低。一段时间后,会有大促,流量暴涨,导致警报频繁触发。这时候,技术人员就会面临大量的报警骚扰,很难找到真正有问题的告警。10月1日,市场数据警报触发第三阶段数据。在此基础上,整个团队集思广益,商讨如何破局。于是,就有了下面的解决方法。既然在线流量是实时波动的,容易受到各种事件的影响,为什么基线一定要简单粗暴,只取前7天的平均值呢?为什么我们不能让基线在此基础上动态调整,尽可能匹配在线流量呢?如上图所示,当我们的实时流量与真实在线流量偏差较大时,我们可能会将baseline做的尽量接近实时在线流量,从而更好的评估在线流量水平,从而不要让我们的警报失灵,产生太多的噪音;对于撤单场景,我们也做了如下调整:调整前(红色部分表示波动超过30%)调整后(红色部分表示波动超过30%),从行情可以看出,很明显经过调整后,大部分的波动都可以保持在30%以内,大大减少了噪音的产生。第四阶段C端告警数据和B端告警数据,整个团队开始探索是否有办法让大家不频繁响应线上水位变化,减少人员基础投入和负担在已有的基本成果上。如何调整SLA场景基线?答案是智能基线,它可以根据过去的数据智能推断流量图,并评估流量的最高水位(上限)和最低水位(下限),同时确保报警噪音比较小,帮助我们更方便、更灵敏地发现线上问题,并且可以进一步延长保存期限,配置规则也进一步简化和方便。时间段告警级别稳定性波浪型突发型白天P0任意条件:最近30s的XX总量与智能基线值之和环比下降XX%最近30s的总量之和金额且预测上线比例高于XXXX最近30s总量与智能基线值之和增加了XX%P1任意条件:XX总量最近30s与智能基线值之和较上期下降XX%,持续XX近30s的XX总量与智能基线值之和,环比增长XX%,持续XX点。任意条件:最近30s的XX总量总和占预测上线的比值高于XX&持续了XX点和最近30s的XX总量总和占预测下线的比值为低于XX并持续XX分。任意条件:最近30s内XX总量之和与预测上线率的比值高于XX且持续XX点。XX所有条件连续XX点P2晚P0:最近30s的XX总和预测在线率高于最近30s的XX&XX总和智能基线值环比增加XX%,XX总和最近30s和预测下线率低于最近30sXX&XX总和智能基线值环比下降XX%所有条件:最近30sXX总和和预测在线率是高于XXXX近30s总和且智能基线值增加XX%P1所有条件:XX近30s总和占预测在线率的比值高于XX&总和总XX的最近30s和智能基线值比总XX的最近30s的总和增加了XX%并且预测下线率低于总XX和XX的总和最近30s和智能基线值环比下降XX%。任意条件:最近30s的XX总和与在线预测的比值高于XX且持续XX分XX点的任意条件:最近30s的XX总和与预测的比值上线率高于XX且持续XX分最近30s内XX总和与预测下线率的比值低于XX且持续XX分P2特殊可能会有些差异scenario,但是大部分场景都可以按照这个来配置。我们以取消订单为例。智能基线行情如下:从图中可以看出,该场景的波动比例基本在上下限可控范围内。相应的通用基线如下:3.总结从最初的噪音控制探索到现在极低噪音控制的成果,这是整个团队努力的结果。从场景、时间段,到根据流量动态调整基线,再到现在智能化的基线,看着越来越好,这让我们稳定的制作人从心底感到自豪。我们也相信,在不久的将来,我们的NOC-SLA警报将能够报告更多的在线问题,同时产生更少的噪音。