从 “香农熵” 到 “告警降噪” ,如何提升告警精度?

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

作者:董善东 & 白玙


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


372a081e71234fa999e65a008d805347.png


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


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


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


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


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


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


什么是 ARMS 智能降噪


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


智能降噪的实现原理介绍


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

image.gif

38f1886d7b1f4abc999089d19d53270a.png


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


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


智能降噪业务价值


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


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


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


(2)挖掘新奇事件


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


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


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


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


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


最佳实践


使用流程说明


step 0:入口

image.gif

97b51f96dc5b422b8f3757808adbfe24.png


step 1:开启


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

0e3754b026134caba10f9d27a046eb03.png


step 2:使用


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


b9c475e6fb174663941f2130c4b07433.png


step 3:参数设定


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


87701e7dde0347069291cad6aaa36652.png


名词解释


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


常见问题


什么时候开启该功能


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


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


需不需要修改模型参数


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


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


点击此处,前往阿里云可观测专题页查看更多信息!



近期热门


#阿里云可观测系列公开课#

直播间不见不散!

442c3e63f2104567adf228b84a25d232.pngimage.gif


//

相关实践学习
通过轻量消息队列(原MNS)主题HTTP订阅+ARMS实现自定义数据多渠道告警
本场景将自定义告警信息同时分发至多个通知渠道的需求,例如短信、电子邮件及钉钉群组等。通过采用轻量消息队列(原 MNS)的主题模型的HTTP订阅方式,并结合应用实时监控服务提供的自定义集成能力,使得您能够以简便的配置方式实现上述多渠道同步通知的功能。
相关文章
|
NoSQL Redis
Redis下Lua脚本的复制模式
假设我们的Redis选择了主从架构, 和AOF持久化方式。我们执行一条写命令时, 该条命令会被发送到从服务器, 和追加到AOF文件中。当我们执行的不是一条命令, 而是Lua脚本时, 默认情况下, 整个Lua脚本的内容会进行复制, 但是存在一些特殊情况。
2887 0
Redis下Lua脚本的复制模式
dpkg 被中断、sudo apt-get upgrade失败
写了个小插件,服务器部署的时候发现少了一些依赖,果断apt-get,然而失败了: E: dpkg 被中断,您必须手工运行 ‘sudo dpkg --configure -a’ 解决此问题。 找到解决办法: sudo rm /var/lib/dpkg/updates/* sudo apt-get update sudo apt-get upgrade 解决了么?并没有...。
|
Java Go Apache
gRPC vs Thrift
远程过程调用(Remote Procedure Call,RPC)服务于分布式架构,本文从分布式构架面临的问题,期望的结果,引出两种比较受关注的RPC框架,并从框架的出身、实现原理、特性、性能等方面做了对比分析,从而给出两者之间的选择建议。
12125 0
|
2月前
|
人工智能 编解码 安全
我把电脑外包给豆包后,效率飞升!【附教程】
看完这篇,你将比99%的人更会用豆包~
570 0
|
5月前
|
网络协议 视频直播 网络性能优化
CN2线路延迟原因深度解析 看完秒懂卡顿根源
作为高品质骨干网络,CN2线路凭借低丢包、高稳定的优势,成为跨境数据传输、海外业务访问的核心选择,广泛应用于金融交易、跨境电商、视频直播等对延迟敏感的场景。但很多用户在使用过程中,仍会遇到延迟波动、卡顿等问题,影响业务体验。其实CN2线路延迟并非偶然,背后往往是多种因素共同作用的结果,今天就为大家全面拆解CN2线路延迟的核心原因,帮你精准定位问题、规避隐患。
|
4月前
|
运维 算法 前端开发
用办公Agent实现智能工单:从客服请求到指派工程师的端到端自动化
本文介绍如何用办公Agent实现智能工单端到端自动化:从用户提问→自动创建/分类→智能派单→通知工程师→闭环反馈,将平均响应时间从47分钟压缩至90秒。详解5步流程、规则+LLM双分类、实时负载+技能匹配派单等核心设计,并分享避坑指南与落地路径。(239字)
671 0
|
4月前
|
人工智能 文字识别 前端开发
JBoltAI智能包装自动化审核系统:参数比对+合规检测实践
JBoltAI智能包装自动化审核系统由山东向量空间研发,专攻食品包装标签质检。融合MinerU版面解析与大模型语义理解,实现标签信息自动提取、参数逐项比对(含配料、SC号等20+维度)及GB7718/GB28050合规智能检测,支持10条红线禁令与可配置规则库,大幅提升审核效率与一致性。(239字)
|
7月前
|
机器学习/深度学习 弹性计算 人工智能
阿里云服务器2核4G配置收费标准与活动价格:轻量云服务器9.9元1个月起,云服务器199元起
阿里云提供多样化的2核4G云服务器配置,收费标准分按量付费与包年包月,活动价是在包年包月基础上的折扣价。常见实例规格有经济型e实例、通用算力型u1/u2a实例、计算型c9i实例等,价格因带宽、云盘和地域不同而有所差异。用户可根据需求选高性价比的轻量应用服务器、稳定低成本的通用算力型u1实例、经济型e实例或对计算性能有特定要求的专业型实例。购买前可领优惠券享受额外减免。
Java 大视界 --Java 大数据在智慧交通公交车辆调度与乘客需求匹配中的应用创新(206)
本文章聚焦Java大数据在智慧交通公交调度与乘客需求匹配中的创新应用。通过动态实时调度、乘客需求精准预测及智能服务生态构建,Java与大数据技术助力公交系统实现高效、绿色、智能化升级,显著提升准点率与乘客满意度,推动城市交通智慧化转型。
|
存储 消息中间件 程序员
408操作系统学习笔记——进程与线程、处理机调度、同步与互斥(PV操作)、死锁(一)
408操作系统学习笔记——进程与线程、处理机调度、同步与互斥(PV操作)、死锁
1317 1
408操作系统学习笔记——进程与线程、处理机调度、同步与互斥(PV操作)、死锁(一)