Kafka消息堆积预警方法、装置、设备及存储介质与流程
- 国知局
- 2024-08-02 13:54:04
本说明书实施例涉及计算机,尤其是一种kafka消息堆积预警方法、装置、设备及存储介质。
背景技术:
1、kafka作为一种高吞吐量、持久性、分布式的发布订阅的消息队列系统,在保障客户端业务正常处理中具有重要作用,目前kafka分布式消息系统已被应用于很多大型公司的实际业务中,具有强大的业务场景适配能力。为了避免由于消息堆积导致影响业务效率的情况,需要对kafka中的消息状态进行监控,以当消息出现堆积时及时给出预警信息并进行相应处理。现有技术中通常利用下游应用去感知消息堆积情况,然而由于下游应用对消息处理速度的需求不同,容易对消息堆积处理不及时,从而影响实际业务处理。因此,亟需一种kafka消息堆积异常预警方法能对消息堆积进行及时感知并预警,以保证业务运行的稳定性。
技术实现思路
1、针对现有技术的上述问题,本说明书实施例的目的在于,提供一种kafka消息堆积预警方法、装置、设备及存储介质,以解决现有技术中对消息堆积处理不及时从而影响实际业务处理的问题。
2、为了解决上述技术问题,本说明书实施例的具体技术方案如下:
3、一方面,本说明书实施例提供一种kafka消息堆积预警方法,所述方法包括:
4、在指定时段获取目标kafka集群的消息数据;
5、根据所述消息数据计算得到所述目标kafka集群的第一消息堆积量;
6、将所述消息数据输入预先构建好的消息堆积异常判别模型中,得到所述目标kafka集群的消息堆积异常程度值;
7、从预先建立的异常程度值与消息堆积量的对应关系中匹配与所述消息堆积异常程度值对应的消息堆积量,将其作为所述目标kafka集群的第二消息堆积量;
8、判断所述第一消息堆积量和第二消息堆积量中的较大值是否超过预设消息堆积阈值,若是,则生成预警信息。
9、进一步的,所述预警信息包括:第一消息堆积量、第二消息堆积量、消息堆积阈值、消息堆积来源、消息堆积类型、时间戳数据及对应系统状态信息;所述方法还包括:
10、根据所述预警信息得到所述目标kafka集群的预警级别;
11、根据所述预警级别从消息堆积案例库中查找匹配的消息堆积处理策略;
12、根据所述预警信息和所述消息堆积处理策略生成预警报告,并将所述预警报告发送至对应的客户端,其中所述预警报告包括:报告标题、预警详情、消息堆积风险评估及消息堆积处理策略。
13、进一步的,所述消息数据包括集群主题数据、消息主题分区数据、消息位移数据、消费者组数据及消费位移数据;
14、所述根据所述消息数据计算得到所述目标kafka集群的第一消息堆积量,包括:
15、根据所述消息主题分区数据和消息位移数据得到消息位移总和;
16、根据所述消息主题分区数据和消费位移数据得到消费位移总和;
17、将所述消息位移总和与消费位移总和之差作为目标kafka集群的第一消息堆积量。
18、进一步的,所述消息堆积异常判别模型的构建过程包括:
19、s1:获取目标kafka集群的历史消息数据作为训练数据;
20、s2:从所述训练数据中随机选择若干样本点构成样本子集,将其中一样本点作为二叉树根节点;
21、s3:从所述样本子集中随机选择一个特征,并在所述特征对应的数值范围内随机选择一个分割值对所述若干样本点进行二叉划分;
22、s4:将所述若干样本点中小于所述分割值的样本划分至所述二叉树根节点的左子节点,将所述若干样本点中大于等于所述分割值的样本划分至所述二叉树根节点的右子节点;
23、s5:重复步骤s3-s4,不断构造新的子节点,直至子节点数达到限定条件;
24、s6:重复步骤s2-s5,直至生成若干二叉树。
25、进一步的,所述将所述消息数据输入预先构建好的消息堆积异常判别模型中,得到所述目标kafka集群的消息堆积异常程度值,包括:
26、将所述消息数据在所述若干二叉树中进行遍历,得到所述消息数据在每棵二叉树中的路径长度;
27、根据所述消息数据在每棵二叉树中的路径长度计算得到所述消息数据的平均路径长度;
28、对所述平均路径长度进行归一化处理,得到所述目标kafka集群的消息堆积异常程度值。
29、进一步的,所述根据所述消息数据计算得到所述目标kafka集群的第一消息堆积量前,还包括:
30、删除所述消息数据中的无关数据、重复数据和异常数据,得到第一处理数据;
31、对所述第一处理数据进行平滑滤波处理,得到第二处理数据;
32、对所述第二处理数据进行归一化处理,得到预处理后的消息数据。
33、另一方面,本说明书实施例提供了一种kafka消息堆积预警装置,所述装置包括:
34、获取模块,用于在指定时段获取目标kafka集群的消息数据;
35、第一消息堆积量计算模块,用于根据所述消息数据计算得到所述目标kafka集群的第一消息堆积量;
36、判别模块,用于将所述消息数据输入预先构建好的消息堆积异常判别模型中,得到所述目标kafka集群的消息堆积异常程度值;
37、第二消息堆积量计算模块,用于从预先建立的异常程度值与消息堆积量的对应关系中匹配与所述消息堆积异常程度值对应的消息堆积量,将其作为所述目标kafka集群的第二消息堆积量;
38、预警模块,用于判断所述第一消息堆积量和第二消息堆积量中的较大值是否超过预设消息堆积阈值,若是,则生成预警信息。
39、又一方面,本说明书实施例还提供了一种计算机设备,包括存储器、处理器、以及存储在所述存储器上的计算机程序,所述计算机程序被所述处理器运行时,执行上述任意一项所述方法的指令。
40、又一方面,本说明书实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被计算机设备的处理器运行时,执行上述任意一项所述方法的指令。
41、又一方面,本说明书实施例还提供了一种计算机程序产品,所述计算机程序产品被计算机设备的处理器运行时,执行上述任意一项所述方法的指令。
42、本说明书的一些实施例提供的一个或者多个技术方案,至少具有如下的技术效果:
43、本说明书实施例提供的一种kafka消息堆积预警方法、装置、设备及存储介质,首先在指定时段获取目标kafka集群的消息数据,根据消息数据计算得到目标kafka集群的第一消息堆积量,从而可以反映目标kafka集群的消息堆积程度,然后利用预先构建好的消息堆积异常判别模型对消息数据进行消息堆积异常程度判断,得到目标kafka集群的消息堆积异常程度值,根据预先建立的异常程度值与消息堆积量的对应关系得到目标kafka集群的第二消息堆积量,这样通过消息堆积异常判别模型可以综合考虑消息数据间的相关性,从而进一步提高对目标kafka集群消息堆积量判断的准确度,最后将第一消息堆积量和第二消息堆积量中的较大值与预设消息堆积阈值进行比较,保证较大消息堆积风险的消息堆积量能够作为最终结果进行比较,使得能对超过消息堆积阈值的kafka集群进行及时预警,从而生成预警信息,保证业务连续性和稳定性。
44、上述说明仅是本说明书的一些实施例技术方案的概述,为了能够更清楚了解本说明书的一些实施例的技术手段,而可依照说明书的内容予以实施,并且为让本说明书实施例的上述和其他目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下。
本文地址:https://www.jishuxx.com/zhuanli/20240801/241025.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。