消息中间件故障定位方法、装置、设备及介质制造方法及图纸

技术编号:32830868 阅读:11 留言:0更新日期:2022-03-26 20:43
本申请涉及一种消息中间件故障定位方法、装置、设备及计算机介质,方法包括:根据异步链路中各节点的预设的探测方法,创建探测器封装类;解析预设配置文件,得到消息生产者的物理配置文件的路径;根据物理配置文件的路径,读取物理配置文件,并解析物理配置文件得到消息生产者的服务名称和消息生产设备的IP信息,其中,消息生产者部署在消息生产设备;根据消息生产者的服务名称和消息生产设备的IP信息,获取消息生产者的日志和消息文件,并根据消息生产者的日志和消息文件,实例化探测器封装类;执行探测器封装类的实例化对象,以根据所述预设的探测方法,依次对异步链路中各节点进行探测,确定故障节点和故障节点对应的故障原因。本申请提高消息中间件故障定位效率。本申请提高消息中间件故障定位效率。本申请提高消息中间件故障定位效率。

【技术实现步骤摘要】
消息中间件故障定位方法、装置、设备及介质


[0001]本申请涉及中间件
,特别地,涉及一种消息中间件故障定位方法、装置、设备及计算机可读介质。

技术介绍

[0002]异步是后台程序解耦和性能优化常用的方法之一,消息中间件是实现异步的常见方法,例如Kafka、RabbitMQ、ActiveMQ、RocketMQ等开源的消息中间件被广泛使用。
[0003]在消息中间件的使用过程中可能会遇到各种故障,消息中间件的故障分析和定位需要人工登录各种平台,查看大量日志、配置文件,非常繁琐和耗时,耗费大量的人力和时间成本。

技术实现思路

[0004]本申请的目的在于提供一种一种消息中间件故障定位方法、装置、设备及计算机可读介质,通过创建并实例化探测器封装类,依次异步链路中各节点进行探测,确定故障节点和故障节点对应的故障原因,提高异步链路的故障分析效率。
[0005]本申请的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。
[0006]根据本申请实施例的第一方面,提供了一种消息中间件故障定位方法,所述方法包括:
[0007]根据异步链路中各节点的预设的探测方法,创建探测器封装类;
[0008]解析预设配置文件,得到消息生产者的物理配置文件的路径;
[0009]根据所述物理配置文件的路径,读取所述物理配置文件,并解析所述物理配置文件得到所述消息生产者的服务名称和消息生产设备的IP信息,其中,所述消息生产者部署在所述消息生产设备;
[0010]根据所述消息生产者的服务名称和所述消息生产设备的IP信息,获取所述消息生产者的日志和消息文件,并根据所述消息生产者的日志和消息文件,实例化所述探测器封装类;
[0011]执行所述探测器封装类的实例化对象,以根据所述预设的探测方法,依次对所述异步链路中各节点进行探测,确定故障节点和故障节点对应的故障原因。
[0012]在本申请的一些实施例中,基于前述方案,所述解析预设配置文件,得到消息生产者的物理配置文件的路径,包括:
[0013]解析所述预设配置文件,得到所述物理配置文件的相对路径和工程根目录;
[0014]拼接所述物理配置文件的相对路径和所述工程根目录,得到所述物理配置文件的绝对路径。
[0015]在本申请的一些实施例中,基于前述方案,所述依次对所述异步链路中各节点进行探测,确定故障节点和故障节点对应的故障原因,包括:
[0016]触发所述消息生产者生产异步消息;
[0017]获取所述消息生产者中所述异步消息对应的日志序列号,其中,所述异步消息在所述异步链路各节点中对应的日志序列号相同;
[0018]基于所述异步消息对应的日志序列号,依次对所述异步链路中各节点进行探测,确定故障节点和故障节点对应的故障原因。
[0019]在本申请的一些实施例中,基于前述方案,所述基于所述异步消息对应的日志序列号,依次对所述异步链路中各节点进行探测,确定故障节点和故障节点对应的故障原因,包括:
[0020]根据所述异步消息对应的日志序列号在所述消息生产者的日志中筛选所述异步消息的发送信息,并根据所述异步消息的发送信息,确定所述消息生产者生产的异步消息是否满足消息发送条件;
[0021]若所述异步消息不满足消息发送条件,则确实所述消息生产者为故障节点,故障原因为所述异步消息不满足消息发送条件;
[0022]若所述异步消息满足消息发送条件,则根据所述消息生产者的日志,获取所述异步消息的发送时间和消息主题;
[0023]根据所述异步消息的发送时间和消息主题,确定所述消息生产者的消息文件是否包含所述异步消息;
[0024]所述消息生产者的消息文件不包含所述异步消息,则确定所述消息生产者为故障节点,故障原因为所述异步消息写失败;
[0025]若所述消息生产者的消息文件包含所述异步消息,则依次对所述消息生产者的后续节点进行探测,确定故障节点和故障节点对应的故障原因。
[0026]在本申请的一些实施例中,基于前述方案,所述依次对所述消息生产者的后续节点进行探测,确定故障节点和故障节点对应的故障原因,包括:
[0027]解析消息代理节点的配置文件,得到所述消息代理节点的第一配置信息,所述第一配置信息包括消息服务器的实例名和地址配置信息;
[0028]在配置中心中查询所述消息服务器的第一配置信息;
[0029]若查询不成功,则确定所述消息代理节点为故障节点,故障原因为所述消息代理节点中所述消息服务器的配置信息错误;
[0030]若查询成功,则根据所述消息代理节点的日志,确定所述消息代理节点是否正确处理所述异步消息;
[0031]若所述消息代理节点是未正确处理所述异步消息,则确定所述消息代理节点为故障节点,故障原因为所述消息代理节点未正确处理所述异步消息;
[0032]若所述消息代理节点正确处理所述异步消息,则依次对所述消息代理节点的后续节点进行探测,确定故障节点和故障节点对应的故障原因。
[0033]在本申请的一些实施例中,基于前述方案,所述依次对所述消息代理节点的后续节点进行探测,确定故障节点和故障节点对应的故障原因,包括:
[0034]根据消息接收节点的日志文件,确定所述消息接收节点是否将所述异步消息写入指定存放目录下的消息文件;
[0035]若所述消息接收节点未将所述异步消息写入指定存放目录下的消息文件,则确定
所述消息接收节点为故障节点,故障原因为所述消息接收节点未接收到所述异步消息或者所述消息接收节点的写消息路径错误;
[0036]若所述消息接收节点将所述异步消息写入指定存放目录下的消息文件,则根据所述消息生产者的服务名称、所述异步消息的发送时间以及主题信息,在所述消息服务器的指定存放目录下的消息文件中查询所述异步消息;
[0037]若查询不成功,则确定所述消息接收节点为故障节点,故障原因为所述消息接收节点写消息失败。
[0038]若查询成功,则依次对所述消息接收节点的后续节点进行探测,确定故障节点和故障节点对应的故障原因。
[0039]在本申请的一些实施例中,基于前述方案,所述依次对所述消息接收节点的后续节点进行探测,确定故障节点和故障节点对应的故障原因包括:
[0040]解析消息转发节点的配置文件,得到所述消息转发节点的第二配置信息,并确定所述第二配置信息是否完整,其中,所述第二配置信息包括与消息消费者的订阅关系和所述消息消费者地址配置信息;
[0041]若所述第二配置信息不完整,则确定所述消息转发节点为故障节点,故障原因为所述消息转发节点的配置信息错误;
[0042]在所述配置中心中查询所述消息消费者地址配置信息;
[0043]若查询不成功,则确定所述消息转发节点为故障节点,故障原因为所述消息转发节点的地址来源渠道错误;
[0044]若查询成功,则根据所述消息转发节点的日本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种消息中间件故障定位方法,其特征在于,所述方法包括:根据异步链路中各节点的预设的探测方法,创建探测器封装类;解析预设配置文件,得到消息生产者的物理配置文件的路径;根据所述物理配置文件的路径,读取所述物理配置文件,并解析所述物理配置文件得到所述消息生产者的服务名称和消息生产设备的IP信息,其中,所述消息生产者部署在所述消息生产设备;根据所述消息生产者的服务名称和所述消息生产设备的IP信息,获取所述消息生产者的日志和消息文件,并根据所述消息生产者的日志和消息文件,实例化所述探测器封装类;执行所述探测器封装类的实例化对象,以根据所述预设的探测方法,依次对所述异步链路中各节点进行探测,确定故障节点和故障节点对应的故障原因。2.如权利要求1所述的消息中间件故障定位方法,其特征在于,所述解析预设配置文件,得到消息生产者的物理配置文件的路径,包括:解析所述预设配置文件,得到所述物理配置文件的相对路径和工程根目录;拼接所述物理配置文件的相对路径和所述工程根目录,得到所述物理配置文件的绝对路径。3.如权利要求1所述的消息中间件故障定位方法,其特征在于,所述依次对所述异步链路中各节点进行探测,确定故障节点和故障节点对应的故障原因,包括:触发所述消息生产者生产异步消息;获取所述消息生产者中所述异步消息对应的日志序列号,其中,所述异步消息在所述异步链路各节点中对应的日志序列号相同;基于所述异步消息对应的日志序列号,依次对所述异步链路中各节点进行探测,确定故障节点和故障节点对应的故障原因。4.如权利要求3所述的消息中间件故障定位方法,其特征在于,所述基于所述异步消息对应的日志序列号,依次对所述异步链路中各节点进行探测,确定故障节点和故障节点对应的故障原因,包括:根据所述异步消息对应的日志序列号在所述消息生产者的日志中筛选所述异步消息的发送信息,并根据所述异步消息的发送信息,确定所述消息生产者生产的异步消息是否满足消息发送条件;若所述异步消息不满足消息发送条件,则确实所述消息生产者为故障节点,故障原因为所述异步消息不满足消息发送条件;若所述异步消息满足消息发送条件,则根据所述消息生产者的日志,获取所述异步消息的发送时间和消息主题;根据所述异步消息的发送时间和消息主题,确定所述消息生产者的消息文件是否包含所述异步消息;所述消息生产者的消息文件不包含所述异步消息,则确定所述消息生产者为故障节点,故障原因为所述异步消息写失败;若所述消息生产者的消息文件包含所述异步消息,则依次对所述消息生产者的后续节点进行探测,确定故障节点和故障节点对应的故障原因。5.如权利要求4所述的消息中间件故障定位方法,其特征在于,所述依次对所述消息生
产者的后续节点进行探测,确定故障节点和故障节点对应的故障原因,包括:解析消息代理节点的配置文件,得到所述消息代理节点的第一配置信息,所述第一配置信息包括消息服务器的实例名和地址配置信息;在配置中心中查询所述消息服务器的第一配置信息;若查询不成功,则确定所述消息代理节点为故障节点,故障原因为所述消息代理节点中所述消息服务器的配置信息错误;若查询成功,则根据所述消息代理节点的日志,确定所述消息代理节点是否正确处理所述异步消息;若所述消息代理节点是未正确处理所述异步消息,则确定所述消息代理节点为故障节点,故障原因为所述消息代理节点未正确处理所述异步消息;若所述消息代理节点正确处理所述异步消息,则依次对...

【专利技术属性】
技术研发人员:田晓姣
申请(专利权)人:中国平安人寿保险股份有限公司
类型:发明
国别省市:

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

1