前言:
上期分享我们提到了指标异常检测实践要素中的三个方面:
以面对业务变动为前提,确定业务波动是周期性还是非周期性,进而选对算法;
通过确认业务的常规指标,确定异常方向进行监测(上基带 / 下基带 / both);
考虑不同时段的检测差异从而设定合理的运维日历并做出相应的算法模型匹配。
戳→擎创夏洛克AIOps:产品新说 | 指标异常?怎么做能更好配合业务变化(一)一键回看上期精彩
本期分享将继续通过一些场景小故事进行实践要素的后续分享
使用角色:张三( 企业应用运维人员 / 平台(云)运维人员 / 基础设施运维人员 )
实践重点:考虑不同时段的检测差异、优化模型参数、优化告警阈值、长期关注数据质量
产品:擎创夏洛克指标解析中心
一、考虑不同时段的检测差异 (工作日/非工作日的不同阈值需求)
依旧选择超级网银这一业务,该业务中有三大类型:跨行实时转账、跨行账户查询、跨行资金归集,这三类业务在对公和对私的交易时间安排上大有不同。
把跨行实时转账单拎出来,以交易量(对公)指标为监测目标,在工作日和非工作日的不同时段条件下,对于告警阈值规则的选择应该如何呢?张三通过指标解析中心以将其分为以下三类。
▲Part.1:敏感度高
正常工作日上班期间,对交易量(对公)指标检测设定的告警策略是在2个检测窗口内满足以下规则,则触发告警:
异常度大于90,则触发告警级别为严重;
异常度大于60,则触发告警级别为一般;
▲Part.2:敏感度低
周末双休及工作日下班时段,对交易量(对公)指标检测设定的告警策略是在3个检测窗口内满足以下规则,则触发告警:
异常度大于80,则触发告警级别为一般;
指标值小于100,则不监测;
▲Part.3:静默处理
在节假日期间,超级网银业务通常是停滞的,这期间设定告警监测为关闭状态。
根据业务类型在时间上的特点,设定不同的阈值及告警规则,能够节省算力的同时,更精确的监测指标是否存在异常。
二、优化告警阈值 (固定阈值 / 动态阈值 / 不监测)
指标在不同的阈值区间需要有不同的检测策略,通过算法检测智能设定阈值,应用不同规则模式,保障检测结果的准确性。
●以CPU的使用率为例
1.固定阈值
某一时段,CPU的使用率会随着业务的体量增长而水涨船高,由于负载过高会触碰警戒红线而引起告警,这个负载的极限值根据监控需求设置固定阈值即可。
2.动态阈值
这一天张三在白班值班,在不同时段业务交易的数量不同,因此CPU使用率的指标数值在中位区间来回波动,指标解析中心采用动态阈值的监测规则,在监测过程中发现有2次数值突破黄线大概率要触碰警戒红线的趋势,及时进行了告警,张三迅速查看并及时找到故障根源进行解决,使得业务运营没有出现损失。
3.不监测
与固定阈值相似的是,很多常规时段里(如工作日休息)业务是处于低交易状态的,因此指标数值一直在低位区间波动,这并不会造成任何负面影响,因此指标解析中心会对低区间的规则设定为不监测。
三、 长期关注数据质量 :(配置规则 / 查看告警)
指标异常检测需要由高质量的指标数据供给,来保证结果的高可用性,而保证数据供给质量的前提是对指标数据质量的监测能力。
张三为长期保证数据质量的可用性,通过指标解析中心配置了两条规则:
1.监控连续数据缺失:在检查周期内,连续x分钟/小时内无指标示例的数据则记录告警;
2.监控随机数据缺失:在检查周期内,按照比例检查各指标实例的确实情况,并记录。
做好规则配置以后,可以定期在告警中心里查看低质量的数据源及缺失数据的时长和比例,有据可循的进行针对性优化及改善。
四、优化算法模型 (简化算法调参)
算法的调优调参一直是令张三头疼的一件事儿,系统在使用动态阈值检测的时候,需要有一种自动优化模型的能力。指标解析中心在学习历史数据(建议训练学习周期为14-30天)的基础上,只要附加一些符合该类业务异常敏感度的设定,即能够自动简单的生成相对最优的算法模型,避免无效告警的出现。
本期关于指标解析中心的一些能力介绍到此告一段落,虽然是在说产品的一些功能,但其实这也是擎创在指标方向探索出来的一些能力建设思路,希望能为大家带来或多或少的帮助。未来,擎创将继续从业务视角出发,打造更具实战性、自动化的指标产品,助力业务运营更加平稳高效。
擎创科技,Gartner连续推荐的AIOps领域标杆供应商。公司致力于协助企业客户提升对运维数据的洞见能力,优化运维效率,充分体现科技运维对业务运营的影响力。
行业龙头客户的共同选择
更多运维思路与案例持续更新中,敬请期待
随手点关注,更新不迷路