为夜莺监控,一键开启智能告警能力

秦叶宁@快猫星云 2022年8月1日

导读:对于所有的在线业务,都会随着时间产生一些数据,这些数据我们称为时序数据,在服务正常的时候,这些时序数据的变化会符合一定的模式,我们可以根据这些时序数据的变化,来判断我们服务是否出现了异常。业内目前主要有三个方式来判断时序数据是否异常,第一种是有值班人员实时盯着重要的时序数据,根据经验来判断时序数据是否出现了异常,第二种是使用监控产品,给关注的时序数据配置一个静态的阈值,如果超过阈值就表示时序数据出现异常,第三种是近几年出现的新的方式,使用机器学习的能力,动态学习时序数据的规律,实时计算动态的阈值,识别是否异常。

静态阈值可能遇到的问题

1.静态阈值覆盖场景有限,业务类监控数据不适用

业务类监控数据,使用静态阈值很多情况下不能很好的标识是否异常,比如下图的曲线,常见的业务数据都有这些特点,峰值和谷值差距很大,如果上限阈值配置是600,下降阈值配置10,那图中红圈标记的异常就会出现漏报。

2.阈值会由于特殊日或业务发展产生变化

业务监控指标经常会由于 “特殊日”(节假日、营销活动日)或者业务发展影响而产生变化,传统的静态阈值或同环比策略在这种场景下,会产生多次误报,给负责稳定性的同学造成不必要的打扰,像下图的情况,紫色曲线是当天的监控数据同比1天和7天都低很多,但属于正常情况,这个在静态阈值的同环比策略下则会发出误报。

3.传统静态阈值的设置,依赖专家经验,人力维护成本高

下图是静态阈值告警配置常见的流程,经过几轮调整之后,才可正常使用,而随着业务增长,仍然需要不定期调整阈值,人力维护成本高。

智能异常检测的优势

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

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

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

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

智能异常检测相比静态阈值的规则,有很多优势,对于有周期性的时序数据尤其合适,以下列举了一些常见的场景:

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

前面介绍了智能异常检测的优势和适用场景,那如何落地呢?下面介绍下夜莺的落地方案:

夜莺的智能告警落地方案

方案1:夜莺+智能异常检测模块

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

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

选择智能告警之后,只需填写要监控的指标,不需要填写阈值,点击保持即可,之后在告警规则列表页,智能告警的规则右侧会有一个“训练结果”的按钮:

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

方案2:自研监控平台+智能异常检测模块

如果贵公司已经有了自己的监控平台,迁移到夜莺的成本很高,但也有支持智能异常检测的需求,可以采用此方案,技术架构如下图,智能告警模块提供了添加异常检测任务和查询异常检测结果的 API,自研的监控平台通过调用 API 的方式,创建异常监控任务和查询结果,查到结果之后,继续走自己的事件处理逻辑。

自建还是购买?

  1. 从成本角度来看

如果你们团队已经有了算法团队+研发团队,可以让两个团队根据业界已有方案来落地实施。如果没有算法或者研发团队,招一个能把智能异常检测落地的工程师的成本至少是20W,夜莺的智能告警企业版,一年只有1W+,在这个情况下购买智能告警服务,显然是更划算的。

  1. 从工作幸福感来看

如果你在运维的一线,且经常被静态阈值的误报打扰,建议推动团队尽快开启智能异常检测功能,如果团队没有这方面积累,可以购买夜莺的智能告警服务,减少日常生活中误报对自己的打扰。

如果对夜莺的智能异常检测服务感兴趣,欢迎点击原文链接购买试用,购买之后,将您的订单号和联系方式发送邮件到 n9e@flashcat.cloud, 我们后面会联系您,目前正在打折优惠,团队版首月试用费用只需 29 元, 感兴趣的可以买起来:)

关于夜莺监控

夜莺监控是一款开源云原生监控分析系统,采用 All-In-One 的设计,集数据采集、可视化、监控告警、数据分析于一体,与云原生生态紧密集成,提供开箱即用的企业级监控分析和告警能力,已有众多企业选择将 Prometheus + AlertManager + Grafana 的组合方案升级为使用夜莺监控。

夜莺监控,由滴滴开发和开源,并于 2022 年 5 月 11 日,捐赠予中国计算机学会开源发展委员会(CCF ODC),为 CCF ODC 成立后接受捐赠的第一个开源项目。

夜莺监控项目文档站点:n9e.github.io 欢迎加入,一起打造最好用的云原生监控系统;也欢迎大家在 github 上 star 夜莺项目:github.com/ccfos/nightingale 及时了解社区动态。