今天介绍的相似事件识别用到了jaccard算法,是一个非常简单的算法,没有介绍大模型、没有用到深度学习、没有复杂的看不明白的统计学知识,我将通过如下四个章节详细对jaccard算法如何解决相似事件识别问题:
- 理解业务需求
- 什么是事件?同告警的主要区别?
- 我们为什么要识别相似事件?
- jaccard算法简介、应用场景
- jaccard算法简介
- 计算示例说明
- 通用领域主要应用场景
- 智能运维领域的应用场景
- 如何实现相似事件识别
- 如何表征事件
- 示例及代码实现
- 参考资料
理解业务需求
什么是事件?同告警的主要区别?
关联引擎将一组相关的告警聚集到一起生成的事件(incident)。其目的是在逻辑上将告警工作台上杂乱无章的告警按不同的使用场景分为多个分组,以便将描述同一个问题的相关告警或有关联关系的告警分组到一起进行集中处置,而不需要将无关的噪音放到同一工作台上对事件管理员造成过多的干扰。
有了事件之后,可以按不同的目标将告警关联到一起生成事件,如:
- 应用管理员:希望将同一应用系统所产生的业务层、应用层、数据库层的告警分组到一起,以便更好地感知事件的详细上下文信息,加速排障过程。
- 数据库管理员:希望将不同业务系统的数据库集群所产生的告警,按应用系统分组成不同的告警,以集中处理集群的问题,而非一个个独立主机的不同告警。
- devops工程师:希望将endpoints的不同告警分组到一起,如cusLogin1.0、cusLogin1.1,都属于用户登录服务,分属于不同的版本,但都是由同一队人共同开发和运维的,希望能够分组到一起共同进行分析处理。
- …
从运营数据中心提高效率和降低噪音干扰的角度来看,事件与告警存在以下主要区别:
- Event 管理阶段:早期阶段处理来自监控系统(如apm、zabbix、prometheus)产生的各种异常信号。这些异常信号数量庞大,其中包含大量重复的内容。在处理这些信息时,面临着大量噪音和难以高效处理的问题。
- Alert 管理阶段:集中处理各个监控系统产生的事件,进行有效去重和压缩处理。告警数量迅速减少,但仍需要处理大量告警。随着数字化转型,监控的内容越来越多,相互之间的影响和关联越来越难以管理。这导致事件管理员通常需要在告警工