从“香农熵”到“告警降噪”,如何提升告警有效性

简介: 告警中的痛点什么是智能降噪?智能降噪的价值所在智能降噪最佳实践对于大部分人来说,信息是一个非常抽象的概念。人们常常说信息很多或信息较少,但却很难说清楚信息到底有多少。比如一份帮助文档或一篇文章到底有多少信息量。直到1948年,C.E.Shannon(香农)提出了“信息熵”的概念,才解决了对信息的量化度量问题。信息熵这个词是香农从热力学中借鉴而来来的。热力学中的热熵是表示分子状态混乱程度的物理量。而
  • 告警中的痛点
  • 什么是智能降噪?
  • 智能降噪的价值所在
  • 智能降噪最佳实践

对于大部分人来说,信息是一个非常抽象的概念。人们常常说信息很多或信息较少,但却很难说清楚信息到底有多少。比如一份帮助文档或一篇文章到底有多少信息量。直到1948年,C.E.Shannon(香农)提出了“信息熵”的概念,才解决了对信息的量化度量问题。信息熵这个词是香农从热力学中借鉴而来来的。热力学中的热熵是表示分子状态混乱程度的物理量。而香农用信息熵的概念来描述信源的不确定度。

香农的信息熵本质上是对我们司空见惯的“不确定现象”的数学化度量。譬如说,如果天气预报说“今天下午下雨的可能性是60%”,我们就会不约而同想到出门带伞;如果预报说“有60%的可能性下雨”,我们就会犹豫是否带伞,因为雨伞无用时确是累赘之物。显然,第一则天气预报中,下雨这件事的不确定性程度较小,而第二则关于下雨的不确定度就大多了。

作为数学中颇为抽象的概念,我们可以把信息熵理解成某种特定信息的出现概率。而信息熵和热力学熵是紧密相关的。根据Charles H. Bennett对Maxwell's Demon的重新解释,对信息的销毁是一个不可逆过程,所以销毁信息是符合热力学第二定律的。而产生信息,则是为系统引入负(热力学)熵的过程。当一种信息出现概率更高时,表明被传播得更广泛,或者说被引用的程度更高。我们可以认为从信息传播角度来看,信息熵可以表示信息的价值,这样子我们就有一个衡量信息价值高低的标准。

再具体到我们日常运维工作场景中,各类的告警事件作为最典型的一种信息,在面对每天海量高警事件我们该如何评估告警的信息价值成为了一个重要问题。

各大监控平台/工具一般有两种方式去识别指标异常并触发告警事件。第一种是常见的通过设定阈值/动态阈值的方式。 第二种就是设定默认规则,触发系统预设规则事件,例如:机器重启 与此同时,运维团队往往不会依赖单一的监控工具,经常需要在各种不同层次工具中都设定对应的监控告警。

在这样的背景下,监控源多元化与监控工具类别多样化,往往导致相同故障原因在不同监控工具、不同监控规则下,触发出大量重复、冗余的告警事件。甚至在发生大范围故障时形成告警风暴。运维人员很难从这些海量告警中快速有效的识别到底哪些告警事件是重要且准确的信息,这也往往导致有效告警被淹没。因此,对于运维团队和告警产品来说,存在以下几个痛点:

  • 多处监控告警源以及频繁误报导致大量重复、冗余、低效事件,重要事件淹没在其中,无法有效识别;
  • 大范围故障导致的告警风暴;
  • 测试事件等脏数据混在事件中。

什么是ARMS智能降噪

ARMS智能降噪功能依托于NLP算法和信息熵理论建立模型,从大量历史告警事件中去挖掘这些事件的模式规律。当实时事件触发后,实时为每一条事件打上信息熵值与噪音识别的标签,帮助用户快速识别事件重要性。 

智能降噪的实现原理介绍

事件中心中大量的历史事件沉积,很难人工实现从这些大量历史事件中抽象出事件模式与价值。应用实时监控服务ARMS ITSM产品智能降噪功对不同告警源收归到统一平台进行告警事件处理,将这些历史事件进行模式识别,挖掘内在关联,建立基于信息熵的机器学习模型辅助用户进行事件重要性的识别,模型核心步骤包括: 

  • step 1: 基于自然语言处理和领域词汇库, 完成事件内容的词向量化,实现事件最小粒度的度量;
  • step 2: 基于信息论中信息熵的概念, 结合tfidf模型,构建词向量的信息熵值和重要性度量模型;
  • step 3: 利用sigmod,完成事件的非线性和归一化“信息熵”度量。 
  • step 4: 结合历史事件的处理记录和反馈, 构建模型迭代训练与验证。

利用自然语言处理算法,基于信息论中的信息量和信息熵概念来表征事件重要性,帮助用户利用大量历史事件训练迭代出识别事件重要性的模型。当新实时事件触发时,快速识别事件重要性。同时,结合信息熵阈值设定,来完成噪音事件过滤与屏蔽。并根据时间演进以及事件类型与内容变化,模型通过自适应定期实现迭代式更新(更新频率为每周一次),无需用户进行任何操作,即可保证模型准确性。 

智能降噪业务价值

  • 业务价值一:智能化识别重复、低效事件,挖掘新奇事件

(1)大量重复、相似事件的识别

对于大量重复、相似事件,该类事件持续大量出现在事件告警中,模型对于这类事件的信息熵值会持续给予降低的信息熵,即:这类事件的信息熵值会越来越低,直到最后接近为0。 这是因为模型期待对于重要的事件,用户可以更多关注响应, 而如果事件一直重复、大量触发,往往说明这类事件用户根本不关心,从业务逻辑上也辅证了模型机理。 

(2)挖掘新奇事件

对于在历史事件中不曾出现、比较少出现的事件,模型则会重点关注,认定该类事件为新奇事件,给予当前事件较大的信息熵值,以期待用户更多的关注该类事件。因此,ARMS智能降噪模型还具备帮助用户识别重要事件的功能。 

  • 业务价值二:定制化需求支持设定

对于一些用户测试事件或特定字段事件,我们常常希望对这类事件进行定制化处理,例如:测试事件只触发查看整个流程,但不需要去点击做任何处理。 再比如,有些事件中包含了特别重要字段信息,对于这类事件需要优先处理。 

  • 业务价值三: 模型具备高成长性

对于历史事件数量较少的用户(事件数量<1000), 一般不推荐打开该功能,这是因为历史事件数量过少的情况下,模型很难充分训练,识别其内在模式和规律。但是在开启后, 模型每周会在本周新发生的事件基础上,进行模型迭代训练。在用户无需关心的前提下,模型一方面自适应追踪事件模式变化,另外一方面对于原有事件数量不充足的模型, 也在持续进行充分迭代。 

最佳实践

使用流程说明

step 0: 入口

step 1 开启

当觉得事件量过多, 重复事件,低效/无效事件过多时, 可以选择开启智能降噪

step 2 使用

开启后, 则会拉取历史1个月的事件数据(如果一个月内事件数量过多, 目前会拉取一部分进行训练)进行智能模型训练。 点击智能降噪,进入详情页。 

step 3 参数设定: 

深入了解该功能后, 用户可以开始考虑设定一些关键来进行事件的优先处理和屏蔽。 优先词和屏蔽词的详情可以参考名词解释。 

名词解释

  • 信息熵:
  • 噪音事件阈值: 开启智能降噪后, 我们会对每一条新事件计算信息熵值。 噪音事件阈值设定则是划分噪音/非噪音事件的分界线。
  • 噪音事件:  事件信息熵低于设定信息熵阈值的事件,统称为噪音事件。 
  • 非噪音事件:  事件信息熵大于或等于设定信息熵阈值的事件,统称为非噪音事件。 
  • 优先词:  在关键词设定中,用户可以设定一些自己想要优先看到的词汇, 如: 重要, critical等。 当发生事件的事件名称和事件内容包含设定的优先词时, 当前事件的优先级相对应提高, 避免被识别成噪音事件。 
  • 屏蔽词:  在关键词设定中,用户可以设定一些自己认为不重要的词汇, 如: 测试, test等。当发生事件的事件名称和事件内容包含设定的屏蔽词时, 当前事件会被直接认定为信息熵为0(如果信息熵阈值设定>0, 则被认定为噪音事件)。 
  • 常见词Top50: 根据历史事件的统计学习, 模型会保存一份事件词汇的词频表。 常见词则是词频表按照出现频率大小排序, 选择top50进行展示。 

常见问题

  • 什么时候开启该功能:

对于历史事件数量> 1000的用户,ARMS智能降噪将进行自动开启操作。 

对于历史事件数量仍较少的用户,用户可自行打开,但是模型效果需要一段时间时间迭代调优。 

  • 需不需要修改模型参数:

建议在初期使用,不作修改,采取默认即可。 

在了解功能后,可以尝试设定优先词和屏蔽词, 以及信息熵阈值,实现更定制化的需求

相关实践学习
通过轻量消息队列(原MNS)主题HTTP订阅+ARMS实现自定义数据多渠道告警
本场景将自定义告警信息同时分发至多个通知渠道的需求,例如短信、电子邮件及钉钉群组等。通过采用轻量消息队列(原 MNS)的主题模型的HTTP订阅方式,并结合应用实时监控服务提供的自定义集成能力,使得您能够以简便的配置方式实现上述多渠道同步通知的功能。
相关文章
毕业设计 基于stm32舞台彩灯控制器设计app控制系统
毕业设计 基于stm32舞台彩灯控制器设计app控制系统
336 0
|
分布式数据库 Hbase 存储
带你读《HBase原理与实践》之一:HBase概述
Apache HBase是基于Apache Hadoop构建的一个高可用、高性能、多版本的分布式NoSQL数据库,是Google BigTable的开源实现,通过在廉价服务器上搭建大规模结构化存储集群,提供海量数据高性能的随机读写能力。
|
机器学习/深度学习 Linux vr&ar
ARIMA差分自回归移动平均模型
ARIMA是**差分自回归移动平均模型**的引文缩写,其中AR表示的是自回归模型,MA表示的是移动平均模型,I表示的是差分。一般写成ARIMA(p,d,q),p是自回归阶数,q是移动平均阶数,d表示差分的次数。
2130 0
ARIMA差分自回归移动平均模型
|
运维 监控 JavaScript
(ARMS-AIOps)一文教你用Attributor算法实现多维下钻分析
常见的AIOps应用路径为:对监控的各种关键性能指标(KPI)进行实时异常检测;对多维指标进行根源分析,快速下钻到异常维度和元素;基于应用拓扑和实时Trace,实现根因定位;结合CMDB、关联等、构建异常根因上下文,帮助快速修复问题。 作为KPI指标, 往往包含了很多维度和元素,最显而易见的则是对每一个维度的元素都进行实时异常检测。 对于维度组合笛卡尔集数量很长的场景, 该方案的成本则有点难以承受
5512 0
|
6月前
|
机器学习/深度学习 运维 自然语言处理
AIOps在美团的探索与实践——事件管理篇
本文介绍了美团AIOps在事件管理领域的探索与实践,涵盖事前预防、事中处理和事后运营三大阶段。通过智能变更检测、多模态故障诊断、相似事件推荐等技术,提升故障发现效率与准确性,助力运维智能化升级。
|
Web App开发 JavaScript 前端开发
npm私服verdaccio 搭建
npm私服简化团队内部包管理,提供私密组件存储与快速访问。Verdaccio作为热门选择,基于Node.js,易部署且功能丰富。搭建后,CI/CD流程提速,维护统一,版本清晰。安装仅需全局`npm install -g verdaccio`,启动简易。发布组件需注册、登录及`npm publish`至自定义registry。配置文件(`config.yaml`)支持定制,如更换logo或启用HTTPS。常见问题包括主题定制与解决500错误。进阶话题如域名绑定与自动化版本更新将在后续探讨。寻求同道,共同优化与运维,提升私服稳定性与实用性。
570 0
npm私服verdaccio 搭建
|
数据采集 监控 算法
PID 控制器有什么优缺点?
PID 控制器有什么优缺点?
423 1
|
API
langchain 入门指南(二)- 如何跟大模型对话
langchain 入门指南(二)- 如何跟大模型对话
1419 0
|
IDE Java Maven
【Java】已解决:java.lang.NoSuchMethodError异常
【Java】已解决:java.lang.NoSuchMethodError异常
6882 0