引言
很多大规模简单在线服务零碎,比方 Google、Amazon、Microsoft 和大型商业银行,蕴含数以千计的分布式组件,并同时反对大量用户应用。为了保障高质量服务和良好的用户体验,这些公司引入监控零碎,智能收集服务组件的监控数据,比方指标 /KPI、日志和事件等。通常工程师会依据教训设定一些规定用来测验监控数据,确保在服务异样时产生告警。这也带来一个问题,大型服务零碎通常会不间断地被捕捉到大量告警音讯,远远超出预算范畴内装备的工程师人员所能解决的下限。为了解决这一难题,通常运维人员会设定一些规定,将这些告警音讯依照重大水平的轻重进行分级,确保无限的工程师资源优先解决那些重大等级较高的音讯,以此在零碎告警应答效率和工程师资源中获得最佳均衡。本文将对告警智能定级进行相干摸索与试验。
一、现状调研
1、告警智能定级相干因子
a. 文本特色
告警音讯的语义信息可反映它的主题,依据教训常识将该主题的告警级别进行定性,从而可失去该告警音讯的告警级别。比方,如果告警音讯合乎某种非凡的日志异样特色,可依据该异样日志的重要水平对告警音讯进行定级。
b. 时空特色
(1)呈现频率:个别频率越低,越有可能属于重大告警;
(2)周期性:周期性越强,告警级别越低;
(3)数量:短时间内大量暴发的告警应该予以器重;重大水平也应该思考在内。
(4)间隔时间:如果告警警报是在零碎运行一段时间后忽然产生的,告警级别可能很高,应该器重。
c. 其余特色
(1)基于规定的告警级别:原始的告警级别
(2)告警工夫:业务忙碌时呈现的告警重大级别更高;
(3)告警类型:比方利用、操作系统、网络、内存、中间件等,利用层面的告警级别更高,因为与服务稳定性和用户应用体验相干。
2、告警智能定级办法调研
2.1 拓扑熵定级
利用收回告警音讯的节点重要性对该告警音讯进行定级,这是一种间接的告警定级办法。目前对于香农熵在节点重要性评估方面有大量相干钻研,总体能够分为以下两个方面:(1)间接法。计算删除一个节点后和删除节点前网络图的熵差,熵差越大,阐明节点对网络的影响越大。将熵差作为该节点的熵值,熵越高,节点重要性越大。(2)间接法。包含 degree、neighbor degree、strength、the weight of edges、betweenness、closeness centrality 等计算指标来计算节点熵,熵值越高,节点重要性越大。
2.2 特色定级
利用告警音讯的文本特色、时空特色、其余特色中的一种或者几种,根据先验常识或者某种规定,对告警音讯定级。
2.3 基于机器学习的特色定级
机器学习办法进行告警智能定级是一种综合性的定级伎俩,该办法通过从告警音讯中提取相应的特色,包含文本特色、时空特色以及其余特色,造成特征向量,将该特征向量与自定义的定级级别组成数据与标签,在机器学习框架里进行训练,从而失去定级模型,不便对当前的告警音讯进行智能定级。这种办法综合思考了多种特色,毛病在于实现比较复杂,评估规范不对立,须要大量的试验与验证。
二、实际
1、基于拓扑熵的告警定级试验
1.1 试验原理
香农熵的信息方程为
p 示意事件产生可能性的概率,b 是对数底数,信息实践里通常取值 2。
熵:事件信息量的平均值。
对于图 G(V,E),V 示意顶点,E 示意边;节点度:与节点相连的边的数目,ki 示意顶点 vi 的度;E : 图中存在的连贯边总数。节点熵掂量的是——local‘information’that a given vertex carries about the global structure of the graph——对于整个网络节点携带的部分构造信息含量,节点熵越高,表明节点信息含量越大,阐明节点重要性越高。当节点熵计算所基于的概率(p,掂量节点在网络结构中携带信息的概率)定义不同时,计算熵的办法也不同。
表 1 节点熵计算方法表
序号 | 相干定义 | 节点熵计算方法 |
---|---|---|
1 | ||
2 | ||
3 | ||
4 | ||
5 | $$$$C_i^1log_2(\frac{1}{C_i^1}) $$$$ | |
6 |
1.2 试验数据
指标网络拓扑如下图所示:
1.3 试验后果
利用表 1 中的计算方法,对上述试验数据进行节点熵计算,后果如下:
序号 | 拓扑熵计算结果 | 序号 | 拓扑熵计算结果 |
---|---|---|---|
1 | 2 | ||
3 | 4 | ||
5 | 6 |
1.4 试验论断
依据拓扑熵的计算方法得出的节点重要性排序如下表所示,依据教训,4、5、8、9 在该网络中应重要性靠前,6、7 相比于 1、2、3、10、11、12 应重要性较大,在这个网络结构下,NVE 和 NVE’ 的排序后果更符合实际状况。在其余网络结构下,可能须要进一步具体问题具体分析。
对象 | 论断 |
---|---|
2、基于告警文本特色的告警定级试验
2.1 试验办法
次要分为以下三个步骤:
(1)告警数据预处理
分词(Tokenization):首先过滤掉符号,将残余文本分成词语;而后去除停用词,因为停用词在辨认重大告警时没有用途。
(2)提取文本熵
IDF(Inverse Document Frequency):词语呈现的频率越高,IDF 越小
对每一个词:
N 是警报的总数量,Nw 是蕴含词语 w 的告警数量
每个告警警报的熵计算方法如下:
w 是该告警警报中词语的数量。
(3)依据文本熵进行告警定级:文本熵越高,告警级别越高
2.2 试验数据
以下以自定义的一组告警音讯 (17 条) 和停用词,开展试验。停用词是指在解决自然语言数据(或文本)之前主动过滤掉某些字或词,以防止无意义的单词影响文本熵的计算结果,这些字或词即被称为 Stop Words(停用词)。本试验中因为试验文本数据样本较小,所以只是针对性地引入了一些停用词。
2.3 试验后果
阐明 | 后果 |
---|---|
无效词语及其统计词频、IDF | |
每条音讯分词和去除停用词后的后果及计算出的熵值 | |
熵值从大到小排序(前 50% 的音讯) |
2.4 试验论断
咱们晓得熵越高,告警级别越高。从运算后果能够看出:告警频率越低,熵值越高,因此级别越高。因而,告警频率越低,告警级别个别更高。
三、总结与瞻望
告警定级给出了一种正当判断哪些告警音讯须要优先解决的思路,有利于在无限的人员资源状况下进步运维效率。基于拓扑熵的告警定级和基于告警文本特色的告警定级是两种不同的定级思路,不同的节点呈现同一故障可能呈现类似的告警文本,雷同的节点呈现不同的故障可能导致呈现齐全不同的告警文本,以上两种告警定级办法在雷同的场景下可能定级后果齐全不同,然而它们没有相对的优劣。总的来说,任一种告警定级办法都不能完满实用所有定级场景,须要具体问题具体分析,将来运维场景里更有可能是综合使用不同的定级办法。
参考文献:
[1] Omar Y M, Plapper P. A survey of information entropy metrics for complex networks[J]. Entropy, 2020, 22(12): 1417.
[2] Tee P, Parisis G, Wakeman I. Vertex entropy as a critical node measure in network monitoring[J]. IEEE Transactions on Network and Service Management, 2017, 14(3): 646-660.
[3] Zhao N , Jin P , Wang L , et al. Automatically and Adaptively Identifying Severe Alerts for Online Service Systems[C]// IEEE INFOCOM 2020 – IEEE Conference on Computer Communications. IEEE, 2020.
开源福利
现如今,云智慧已开源数据可视化编排平台 FlyFish。通过配置数据模型为用户提供上百种可视化图形组件,零编码即可实现合乎本人业务需要的炫酷可视化大屏。同时,FlyFish 也提供了灵便的拓展能力,反对组件开发、自定义函数与全局事件等配置,面向简单需要场景可能保障高效开发与交付。
点击下方地址链接,欢送大家给 FlyFish 点赞送 Star。参加组件开发,更有万元现金等你来拿。
GitHub 地址:https://github.com/CloudWise-…
Gitee 地址:https://gitee.com/CloudWise/f…
万元现金福利: http://bbs.aiops.cloudwise.co…
微信扫描辨认下方二维码,备注【飞鱼】退出 AIOps 社区飞鱼开发者交换群,与 FlyFish 我的项目 PMC 面对面交换~