基于智能异常检测算法落地夜莺智能告警

本文介绍 AIOps 智能告警中最容易落地的智能异常检测:为什么静态阈值容易漏报和误报,动态阈值如何降低告警噪音,以及夜莺智能告警的配置流程。

作者 秦叶宁@快猫星云

AIOps 是个挺火的词,但是真正落地效果较好的能力,往往是智能异常检测。它不要求值班人员一直盯图,也不要求每条业务曲线都手工维护固定阈值,而是通过机器学习算法学习时序数据的正常波动范围,实时生成动态基线和动态阈值,再由告警引擎识别异常并通知相关人员。

这篇文章基于夜莺智能告警的落地方式,说明智能异常检测适合解决什么问题、相对静态阈值有什么优势,以及在夜莺中如何配置和查看训练结果。

核心摘要

  • 时序数据在服务正常时通常会呈现一定模式,监控系统可以基于这些模式识别异常。
  • 传统静态阈值适合规则清晰、波动较小的指标,但在业务类指标、特殊日和快速增长场景下容易漏报或误报。
  • 智能异常检测通过机器学习算法实时学习曲线规律,生成动态基线和动态阈值,可以减少人工调参成本。
  • 夜莺智能告警通过独立的智能异常检测模块与夜莺监控集成,配置时只需选择智能告警并填写监控指标。
  • 对有周期性的时序数据,比如 PV、活跃用户数、下单量、交易量等,智能异常检测通常更容易发挥价值。

AIOps 智能告警能力与流程总览

环节 传统静态阈值 智能异常检测 在夜莺智能告警中的体现
异常判断方式 人工设置固定上限、下限或同环比规则 学习时序数据规律,实时计算动态基线 选择“智能告警”后填写监控指标,无需手工填写阈值
适用指标 波动范围稳定、规则明确的指标 有周期性、趋势变化、峰谷差异较大的业务指标 适合 PV、活跃用户数、下单量、交易量等曲线
主要问题 阈值覆盖有限,容易漏报或误报 需要先训练模型并查看学习结果 规则列表提供“训练结果”入口,可查看动态基线
维护成本 依赖专家经验,需要随业务增长反复调整 基线随业务变化动态调整 曲线偏离基线后,由夜莺告警引擎发出通知
告警体验 特殊日、营销活动日容易产生噪音 通过动态阈值减少不必要打扰 用智能告警降低静态阈值带来的误报

时序数据异常检测是什么

对于所有在线业务,都会随着时间产生一些数据,这些数据称为时序数据。服务正常时,时序数据的变化通常会符合一定模式。监控系统可以根据这些变化模式,判断服务是否出现异常。

业内判断时序数据异常,主要有三种方式:

  1. 值班人员实时盯着重要的时序数据,根据经验判断是否异常。
  2. 使用监控产品,为关注的时序数据配置静态阈值,超过阈值就认为出现异常。
  3. 使用机器学习能力,动态学习时序数据规律,实时计算动态阈值,识别异常。

目前业界常见方式仍然是配置静态阈值来判断异常。但随着业务发展,静态阈值开始暴露出一些问题。

静态阈值告警为什么会失效

业务类监控数据峰谷差异大,静态阈值覆盖场景有限

很多业务类监控数据不适合只用静态阈值判断异常。比如下图中的曲线,常见业务数据往往峰值和谷值差距很大。如果上限阈值配置为 600,下降阈值配置为 10,图中红圈标记的异常就会漏报。

基于智能异常检测算法落地夜莺智能告警-图1

这类问题的根因不是阈值设置得不够细,而是业务曲线本身有明显周期和波动。固定阈值很难同时覆盖高峰、低谷和异常下跌。

特殊日和业务增长会改变正常基线

业务监控指标经常会因为“特殊日”,比如节假日、营销活动日,或者业务发展而产生变化。传统静态阈值或同环比策略在这种场景下,容易产生多次误报,给负责稳定性的同学造成不必要的打扰。

如下图所示,紫色曲线是当天的监控数据,同比 1 天和 7 天都低很多,但仍属于正常情况。如果使用静态阈值的同环比策略,就可能发出误报。

基于智能异常检测算法落地夜莺智能告警-图2

静态阈值依赖专家经验,维护成本高

静态阈值告警配置通常需要多轮调整之后才能正常使用。随着业务增长,阈值还需要不定期调整,人力维护成本会持续增加。

基于智能异常检测算法落地夜莺智能告警-图3

从根因看,静态阈值的问题不只是“阈值设得准不准”,而是它把持续变化的业务状态压缩成了几个固定数字。当曲线的周期、趋势和业务背景发生变化时,固定数字就容易失效。

智能异常检测如何降低告警噪音

智能异常检测基于机器学习算法模型实时生成动态基线,可以有效减少传统阈值方式带来的误报问题,也摆脱了对专家经验的强依赖,提升告警准确率,也提升值班同学的幸福感:)

下图是智能异常检测算法实时计算出来的动态基线,会随着业务增长动态变化。

基于智能异常检测算法落地夜莺智能告警-图4

和静态阈值相比,智能异常检测的关键差异在于:它不是要求人提前写死一个“正常范围”,而是让算法从历史曲线中学习正常波动区间,并根据实时数据判断当前曲线是否偏离基线。

下图总结了静态阈值和智能算法的区别:

基于智能异常检测算法落地夜莺智能告警-图5

哪些场景适合智能异常检测

智能异常检测相比静态阈值规则有很多优势,对有周期性的时序数据尤其合适。常见场景包括:

  • 网页浏览量
  • 活跃用户数
  • 应用下载量
  • 购物下单量
  • 证券交易量
  • 打车呼叫量
  • ……

这些指标通常不是简单地“大于某个值就异常”或“小于某个值就异常”,而是要结合周期、趋势和历史波动判断。智能异常检测更适合处理这类曲线。

需要注意的是,智能异常检测不是为了替代所有静态阈值。对于规则非常明确、边界非常固定的指标,静态阈值仍然简单直接;对于周期明显、业务波动明显、人工调参成本高的指标,智能异常检测更适合。

夜莺智能告警如何落地

前面介绍了智能异常检测的优势和适用场景,下面看夜莺中的落地方案。

如果之前已经使用夜莺,再部署一个智能异常检测模块即可。该模块可以和开源夜莺监控无缝集成,整体架构如下图。

基于智能异常检测算法落地夜莺智能告警-图6

第一步:安装智能异常检测模块

智能异常检测模块完成安装之后,在夜莺告警规则配置页面,会多出一个智能告警选项。

基于智能异常检测算法落地夜莺智能告警-图7

第二步:创建智能告警规则

选择智能告警之后,只需填写要监控的指标,不需要填写阈值,点击保存即可。

之后在告警规则列表页,智能告警规则右侧会出现一个“训练结果”按钮。

基于智能异常检测算法落地夜莺智能告警-图8

第三步:查看训练结果和动态基线

点击“训练结果”,可以进入训练结果详情页。点击曲线详情,可以看到曲线学习出来的动态基线。

如果曲线偏离到基线之外,夜莺的告警引擎会发出告警通知。

基于智能异常检测算法落地夜莺智能告警-图9

自建还是购买夜莺智能告警

从成本角度看

如果团队已经有算法团队和研发团队,可以让两个团队根据业界已有方案落地实施。

如果没有算法或研发团队,招一个能把智能异常检测落地的工程师,成本至少是 20W。夜莺的智能告警企业版一年只有 1W+。在这个情况下,购买智能告警服务显然更划算。

从工作幸福感看

如果你在运维一线,且经常被静态阈值误报打扰,建议推动团队尽快开启智能异常检测功能。

如果团队没有这方面积累,可以购买夜莺的智能告警服务,减少日常生活中误报对自己的打扰。

FAQ

AIOps 智能告警最适合先从哪里落地?

从智能异常检测开始更容易落地。它直接对应监控告警中的高频问题:静态阈值难以覆盖业务曲线的周期变化、特殊日波动和业务增长趋势。

智能异常检测和动态阈值是什么关系?

智能异常检测使用机器学习算法学习时序数据的规律,并实时计算动态基线和动态阈值。动态阈值是异常检测落地到告警判断时的一种表现形式。

夜莺智能告警需要手工填写阈值吗?

选择智能告警之后,只需填写要监控的指标,不需要填写阈值。系统会通过智能异常检测模块学习曲线规律,并在训练结果中展示动态基线。

智能异常检测适合所有监控指标吗?

不适合。它更适合有周期性、趋势变化、峰谷差异明显的时序数据。对于规则明确、边界固定的指标,静态阈值仍然简单有效。

如何判断智能告警是否已经学到曲线规律?

在夜莺告警规则列表页点击“训练结果”,进入详情页后查看曲线学习出来的动态基线。如果曲线偏离到基线之外,夜莺告警引擎会发出告警通知。

结论

智能异常检测解决的核心问题,是让告警系统从“人工写死阈值”转向“算法学习正常波动范围”。对于业务类、周期性、持续增长的时序指标,它可以减少静态阈值带来的漏报、误报和反复调参。

夜莺智能告警的落地路径也比较直接:部署智能异常检测模块,在告警规则中选择智能告警,填写监控指标,查看训练结果和动态基线。对已经被静态阈值误报困扰的团队来说,这是 AIOps 能够较快产生实际价值的方向。

联系我们交流

延伸路径

继续看解决方案和产品对比

如果你正在做监控、可观测性或故障定位相关选型,建议从解决方案和产品对比继续往下看。

快猫星云 联系方式 快猫星云 联系方式
快猫星云 联系方式
快猫星云 联系方式
快猫星云 联系方式
快猫星云