监控Kafka消费者的方法、装置、存储介质及设备制造方法及图纸

技术编号:33465906 阅读:8 留言:0更新日期:2022-05-19 00:45
本申请公开了一种监控Kafka消费者的方法、装置、存储介质及设备,对于消费者组中的每个消费者,调用预先配置的消费进度采集工具,按照预设时间周期定期采集消费者在集群所包含的各个消息分区中的指标数据;对每个预设时间周期内所采集的各个消费进度累加求和,得到总消费进度;根据总消费进度确定消费者的运行状态;基于消费者在各个预设时间周期内的总消费进度、运行状态和消费者在各个消息分区的消费进度,生成消费者的消费日志并存储到数据库中;综上所述,在运行状态为非正常运行时发出告警提示,可及时通知用户进行相应处理,缩短发现问题的时间,避免因为处理问题不及时而引发重要生产事件,实现对消费者组中每个消费者的有效监控。的有效监控。的有效监控。

【技术实现步骤摘要】
监控Kafka消费者的方法、装置、存储介质及设备


[0001]本申请涉及监控
,尤其涉及一种监控Kafka消费者的方法、装置、存储介质及设备。

技术介绍

[0002]Kafka集群(本申请简称为集群)是企业存储数据较为常用的一种方式,对于集群来说,Kafka生产者(本申请简称为生产者)将自身的数据发送给集群中进行统一汇总和处理,Kafka消费者(本申请简称为消费者)从集群中读取数据进行分析处理。通过消费者的运行状态,可以感知集群是否正常运行。为此,监控消费者的运行状态成为本领域人员所关注的重点。
[0003]目前,现有监控消费者的运行状态的方式为:监控整体消费者组的运行状态。显然,现有的监控方式所监控的对象为整个消费者组,无法感知任意一个消费者个体的运行状态,较为局限,且对于消费者众多的集群使用场景而言,单纯利用消费者组的运行状态来判定集群是否正常运行,是较为不合理的。

技术实现思路

[0004]本申请提供了一种监控Kafka消费者的方法、装置、存储介质及设备,目的在于实现对消费者组中每个消费者的有效监控。
[0005]为了实现上述目的,本申请提供了以下技术方案:
[0006]一种监控Kafka消费者的方法,包括:
[0007]对于消费者组中的每个消费者,调用预先配置的消费进度采集工具,按照预设时间周期定期采集所述消费者在集群所包含的各个消息分区中的指标数据;其中,所述指标数据至少包括消费进度;
[0008]对于每个所述预设时间周期,对所述预设时间周期内所采集的各个所述消费进度进行累加求和,得到所述消费者在所述预设时间周期内的总消费进度;
[0009]根据所述总消费进度,确定所述消费者在所述预设时间周期内的运行状态;
[0010]基于所述消费者在各个所述预设时间周期内的所述总消费进度和所述运行状态,以及各个所述预设时间周期内所述消费者在各个所述消息分区的所述消费进度,生成所述消费者的消费日志,并将所有所述消费者的消费日志均存储到数据库中。
[0011]可选的,所述根据所述总消费进度,确定所述消费者在所述预设时间周期内的运行状态,包括:
[0012]在所述总消费进度小于等于第二预设阈值的情况下,确定所述消费者在所述预设时间周期内的运行状态为正常运行,将所述消费者的状态标识更新为第一标识。
[0013]可选的,所述根据所述总消费进度,确定所述消费者在所述预设时间周期内的运行状态,包括:
[0014]在所述总消费进度小于第一预设阈值、且大于第二预设阈值的情况下,确定所述
消费者在所述预设时间周期内的运行状态为缓慢运行,将所述消费者的状态标识更新为第二标识,并向所述用户发送所述消费者消费速度下降的告警提示;其中,所述第二预设阈值小于所述第一预设阈值。
[0015]可选的,所述根据所述总消费进度,确定所述消费者在所述预设时间周期内的运行状态,包括:
[0016]在所述总消费进度大于等于第一预设阈值的情况下,确定所述消费者在所述预设时间周期内的运行状态为停止运行,将所述消费者的状态标识更新为第三标识,向所述用户发送所述消费者异常的告警提示。
[0017]可选的,还包括:
[0018]在接收到所述用户的日志查询指令的情况下,从所述数据库中获取与所述日志查询指令所示的消费者的消费日志,并通过预设前端界面向所述用户展示所述消费日志。
[0019]可选的,还包括:
[0020]对于每个所述消费者的消费日志,按照所述预设时间间隔定时统计所述消费日志中所包含的各条纪录的总数;所述纪录包括在同一所述预设时间周期内获得的总消费进度、运行状态、消费者在各个消息分区的消费进度;
[0021]在所述总数大于第三预设阈值的情况下,删除所述消费日志中满足预设条件的纪录,以使所述消费日志中所保留的各个纪录的总数等于所述第三预设阈值;所述预设条件为:位于纪录序列中前n位的纪录,n为正整数;所述纪录序列基于对所述消费日志中所包含的各个纪录进行排序得到。
[0022]可选的,所述基于对所述消费日志中所包含的各个纪录进行排序得到所述纪录序列,包括:
[0023]按照发生时间由早到晚的顺序,对所述消费日志中所包含的各个纪录进行排序,得到所述纪录序列。
[0024]一种监控Kafka消费者的装置,包括:
[0025]采集单元,用于对于消费者组中的每个消费者,调用预先配置的消费进度采集工具,按照预设时间周期定期采集所述消费者在集群所包含的各个消息分区中的指标数据;其中,所述指标数据至少包括消费进度;
[0026]求和单元,用于对于每个所述预设时间周期,对所述预设时间周期内所采集的各个所述消费进度进行累加求和,得到所述消费者在所述预设时间周期内的总消费进度;
[0027]确定单元,用于根据所述总消费进度,确定所述消费者在所述预设时间周期内的运行状态;
[0028]生成单元,用于基于所述消费者在各个所述预设时间周期内的所述总消费进度和所述运行状态,以及各个所述预设时间周期内所述消费者在各个所述消息分区的所述消费进度,生成所述消费者的消费日志,并将所有所述消费者的消费日志均存储到数据库中。
[0029]一种计算机可读存储介质,所述计算机可读存储介质包括存储的程序,其中,所述程序执行所述的监控Kafka消费者的方法。
[0030]一种监控Kafka消费者的设备,包括:处理器、存储器和总线;所述处理器与所述存储器通过所述总线连接;
[0031]所述存储器用于存储程序,所述处理器用于运行程序,其中,所述程序运行时执行
所述的监控Kafka消费者的方法。
[0032]本申请提供的技术方案,对于消费者组中的每个消费者,调用预先配置的消费进度采集工具,按照预设时间周期定期采集消费者在集群所包含的各个消息分区中的指标数据;对于每个预设时间周期,对预设时间周期内所采集的各个消费进度进行累加求和,得到消费者在预设时间周期内的总消费进度;根据总消费进度,确定消费者在预设时间周期内的运行状态;基于消费者在各个预设时间周期内的总消费进度和运行状态,以及各个预设时间周期内消费者在各个消息分区的消费进度,生成消费者的消费日志,并将所有消费者的消费日志均存储到数据库中。可见,本申请所示方案通过采集消费者在集群中每个消息分区的指标数据(即消费进度),将对各个消费进度进行累加求和得到总消费进度,基于总消费进度确定消费者的运行状态,并在运行状态为非正常运行(即缓慢运行、停止运行)时发出告警提示,通过告警提示可及时通知用户进行相应处理,缩短了发现问题的时间,避免因为处理问题不及时而引发重要生产事件,实现对消费者组中每个消费者的有效监控。
附图说明
[0033]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种监控Kafka消费者的方法,其特征在于,包括:对于消费者组中的每个消费者,调用预先配置的消费进度采集工具,按照预设时间周期定期采集所述消费者在集群所包含的各个消息分区中的指标数据;其中,所述指标数据至少包括消费进度;对于每个所述预设时间周期,对所述预设时间周期内所采集的各个所述消费进度进行累加求和,得到所述消费者在所述预设时间周期内的总消费进度;根据所述总消费进度,确定所述消费者在所述预设时间周期内的运行状态;基于所述消费者在各个所述预设时间周期内的所述总消费进度和所述运行状态,以及各个所述预设时间周期内所述消费者在各个所述消息分区的所述消费进度,生成所述消费者的消费日志,并将所有所述消费者的消费日志均存储到数据库中。2.根据权利要求1所述的方法,其特征在于,所述根据所述总消费进度,确定所述消费者在所述预设时间周期内的运行状态,包括:在所述总消费进度小于等于第二预设阈值的情况下,确定所述消费者在所述预设时间周期内的运行状态为正常运行,将所述消费者的状态标识更新为第一标识。3.根据权利要求1所述的方法,其特征在于,所述根据所述总消费进度,确定所述消费者在所述预设时间周期内的运行状态,包括:在所述总消费进度小于第一预设阈值、且大于第二预设阈值的情况下,确定所述消费者在所述预设时间周期内的运行状态为缓慢运行,将所述消费者的状态标识更新为第二标识,并向所述用户发送所述消费者消费速度下降的告警提示;其中,所述第二预设阈值小于所述第一预设阈值。4.根据权利要求1所述的方法,其特征在于,所述根据所述总消费进度,确定所述消费者在所述预设时间周期内的运行状态,包括:在所述总消费进度大于等于第一预设阈值的情况下,确定所述消费者在所述预设时间周期内的运行状态为停止运行,将所述消费者的状态标识更新为第三标识,向所述用户发送所述消费者异常的告警提示。5.根据权利要求1所述的方法,其特征在于,还包括:在接收到所述用户的日志查询指令的情况下,从所述数据库中获取与所述日志查询指令所示的消费者的消费日志,并通过预设前端界面向所述用户展示所述消费日志。6.根据权利要求1所述的方法,其特征在于,还包括:对于...

【专利技术属性】
技术研发人员:郭柄男常冬冬苑志云王雪
申请(专利权)人:中国建设银行股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1