基于文本智能合并的告警降噪管理最佳实践

李丞
  • 收获赞:24
  • 擅长领域:阿里云SLS研发,主要关注数据处理加工、知识图谱与NLP智能化领域。擅长领域:知识图谱、NLP

在监控场景下,一旦出现告警风暴,告警本身就失去了意义和价值。因此需要有一套方案,帮助用户在不遗漏重要告警前提下,有效减少告警数量。本文为您介绍基于文本智能合并的告警降噪管理方案。

告警运维系统的痛点

随着现代业务的发展,开发运维人员在承担越来越多的职责和角色。因此日常的开发运维过程中,对于告警监控运维系统是有很高的要求的,但现状却不容乐观,常规的监控运维系统存在如下常见问题。

image.png

在上述常见问题中,我们日常运维过程中遇到的最多、影响最大的便是【告警风暴】问题。运维监控系统,一般都是通过配置固定阈值、条件,达到阈值或满足特定条件后自动触发告警。运维监控人员经常会困扰于如下的告警风暴场景:

  • 故障期间,告警风暴,手机/邮箱会被海量告警淹没。

  • 运维人员很难从海量告警从筛选出重要告警,容易忽略重要告警。

  • 固定阈值控制,频繁误报、漏报告警。

  • ...

在监控场景下,一旦出现告警风暴,告警本身就失去了意义和价值。因此需要有一套方案,帮助用户在不遗漏重要告警前提下,有效减少告警数量。

SLS一站式告警运维系统

阿里云SLS提供了一站式告警运维系统,支持对日志、时序等各类数据的告警监控,亦可接受三方告警,对告警进行降噪、事件管理、通知管理等,覆盖40+功能场景,充分考虑研发、运维、安全以及运营人员的告警监控运维需求。

image.png

其中告警管理模块为用户提供了降噪控制的能力,用户可以通过自定义降噪规则,完成对不同来源的告警的去重、合并、路由、抑制、静默等降噪操作。

通过对告警管理模块中的告警合并能力进行升级,支持智能合并,一键开启告警风暴抑制!

SLS最新发布:告警智能合并

如前述介绍,SLS告警运维系统已经为用户提供了自定义规则降噪的能力。然而现实环境总是十分复杂的,作为运维人员,往往很难确定如何按照某种固定的规则去对告警进行降噪;即使设置了比较合理的降噪规则,现实场景下也有可能出现意想不到的告警风暴。

因此SLS最新推出了告警智能合并能力,让用户只需一些极简的配置,便可开启告警的智能降噪。

1. 什么是告警智能合并

为了解决告警风暴问题,很多监控系统、平台都推出了告警合并(降噪)功能,来有效地减少告警数量,减轻运维人员的负担。对于监控系统的运维人员来说,告警的合并不仅可以将相关告警作为单个聚合单元进行管理来降低噪音,还可以引导他们找到告警的可能共同的根本原因。

告警合并分为自定义规则合并和智能合并,其原理是通过一些用户自定义的合并规则或者智能算法自动合并,将重复、冗余或者有关联的告警合并到一个分组中,并且每个分组的告警在一段时间内只会通知一次,从而有效减少告警通知的数量。

image.png

告警智能合并,可以在最小化用户配置成本的同时,通过机器学习/NLP算法,自动化地去学习告警之间的关联或相似关系进行合并,达到智能降噪的效果。

2. SLS告警智能合并原理

SLS告警智能合并依托于NLP算法,自动化地去学习告警之间的关联或相似关系,在不依赖于历史告警数据的前提下(冷启动),可以实时地对不同来源的告警进行智能合并,然后再通知给用户,让用户免于告警风暴的困扰。

image.png

如上图所示,SLS告警智能合并的核心步骤包括4个步骤:

  1. 多源告警数据汇集:将不同来源的告警数据汇集到一起,进行集中处理。

  2. 告警文本的预处理:基于告警专业特色词/停用词库,数据字典,人工标注信息等,对告警全文本进行预处理,剔除无用文本,提取关键词。

  3. 告警文本聚类:采用两种不同的聚类技术对告警文本进行聚类。

    1. MinJoin聚类算法:一种通过最小化局部哈希值来进行文本编辑距离计算及聚类的高效率算法。

    2. 向量相似度聚类:首先对告警文本进行分词,接着利用特征工程将其向量化表示,最后基于告警向量之间的相似度(如余弦相似度等)进行聚类。

  4. 聚类蔟合并:将第3步中两种聚类技术各自得到的聚类结果进行合并,得到一个最终的聚类结果,即是告警智能合并的最终结果。

3. 使用SLS告警智能合并

3.1 开启告警智能合并模式

只需要几个简单的步骤,便可开启智能降噪模式。

  • Step1:从SLS Project下的告警中心进入告警策略管理模块;或者从SLS告警管理中心APP进入业务策略管理模块。

  • Step2:新建或者修改一条已有的告警策略,在路由合并策略中点击开启智能合并模式

  • image.png
  • Step3:配置智能合并模式的参数。

  • image.png
  • 完成上述三个步骤的配置后,所有使用该告警策略的告警,将会被智能合并、去重、静默、路由之后,再通知到用户。

  • 3.2 智能合并模式相关参数说明

    • 合并基准: 基于告警的哪些信息进行智能合并,支持全文自定义

      • 默认使用全文合并,将基于告警的名称、所在项目、告警的全部标签信息以及全部标注信息进行智能合并。

      • 用户也可以自定义合并基准,智能合并模块将根据用户自定义的字段,使用智能算法进行合并。

    • 行动策略:定义了通知渠道、通知人等逻辑,直接选择或新建即可。参考行动策略

    • 首次等待时间: 新触发的告警,在该时间段内,按智能算法自动合并,然后再通知。

    • 重复等待时间:如果一个告警合并集合已经被发送通知,对于此合并集合,在该配置时间段内,新触发的告警不会再重复通知。

    image.pngimage.png

    4. 智能合并效果展示

    • 通知效果展示

    对于OSS公网访问告警,一共触发了11条告警,涉及了不同的子账号公网访问不同的OSS Bucket。通过智能合并模块处理后,这11条告警被合并为同一条告警发送给用户,有效避免了告警风暴的产生(11条独立告警的发送)。

    image.png
    • 总体降噪效果展示

    下图是告警的全局链路图,可以看到初始状态下累计触发了近15000+次告警,在经过降噪模块的智能合并、去重、静默和路由之后,仅通知到用户374次,降噪比近98%。这有效避免了告警风暴问题,提升运维人员的处理效率。

    image.png

    总结

    SLS告警智能合并依托于NLP算法,自动化地去学习告警之间的关联或相似关系,可以实时地对新触发的告警进行智能合并、去重、路由、静默,然后再通知给用户。对于监控系统的运维人员来说,只需要一些极简的配置,便可以开启智能合并模式,有效减少告警风暴带来的困扰。告警运维人员不仅可以将合并后的告警作为单个聚合单元进行管理来降低噪音,还可以引导他们找到告警的可能共同的根本原因。

    参考文章