一种系统中间件的自动化点检方法与流程
- 国知局
- 2024-08-02 13:48:40
本发明涉及智能点检,尤其涉及一种系统中间件的自动化点检方法。
背景技术:
1、rabbitmq做为广泛应用于各行业信息化系统的核心通讯中间件,必须保证其具有极高的可用性、稳定性及数据一致性。
2、rabbitmq最大的威胁是出现脑裂问题,就是在多机集群中节点与节点之间失去联系,皆认为是对方出现了故障,而自身裂变为独立的个体,进而会出现抢夺对方资源,争抢启动,至此发生事故。
3、传统的人工点检方式,rabbitmq集群发生脑裂不易被及时发现的情况。通常是用户在操作时发生请求处理没有响应的情况,运维人员需要通过排查网络、通讯、系统服务等多方面信息,判断是否发生了脑裂。
4、公开号为cn115794544a的中国专利公开了一种中间件异常监测装置以及方法,包括如下步骤:agent启动后,通过agent或流量镜像采集相关中间件的metrics,经过初步处理,以时序数据的形式实时写入消息队列和tsdb中进行保存;从tsdb中定期读取各中间件的metrics,区分不同中间件metrics的偏度,并据此选择合适模型进行监测模型的建立;基于storm通过监测模型对消息队列中的metrics进行实时流处理后进行多端异常告警,本发明能从tsdb中定期读取中间件的metrics,区分不同中间件metrics的偏度,并据此选择合适模型进行监测模型的建立;监测模型通过流式处理引擎,可以处理实时采集得到的大规模毫秒级数据,实时监测异常,适配主流的中间件,且不影响中间件本身的服务稳定性;但该专利并不能解决rabbitmq中间件是否脑裂的问题。
技术实现思路
1、本发明提供了一种系统中间件的自动化点检方法,能够及时检测到rabbitmq集群异常状态,包括集群脑裂的发生,并能够将点检到的rabbitmq异常信息,及时在前台界面显示出来,在rabbitmq的点检工作中,对集群异常状态及脑裂情况的警告具有及时性、有效性。
2、为了达到上述目的,本发明采用以下技术方案实现:
3、一种系统中间件的自动化点检方法,包括以下内容:
4、s1、在数据库中建立rabbitmq配置信息表pf_rabbitmq,录入rabbitmq配置信息;在数据库中建立rabbitmq点检结果记录表pf_rabbitmq_result,保存每次点检结果信息;在数据库中建立报警信息记录表pf_error_result,保存点检结果异常的输出信息;
5、s2、定期点检rabbitmq集群及节点状态、定期测试rabbitmq集群中各节点间网络状态、定期分析rabbitmq集群中各节点日志内容;
6、s3、建立rabbitmq点检结果展示画面和报警信息展示界面,分别展示rabbitmq点检结果及报警信息。
7、进一步的,所述rabbitmq配置信息中,关键信息进行加密处理,在没有加密种子和密钥的情况下不能获知。
8、进一步的,所述定期点检rabbitmq集群及节点状态包括如下步骤:
9、1)定期读取数据库中rabbitmq配置信息表并遍历,根据信息表中每个节点的配置信息,调用rabbitmq的接口restapi cluster status monitor;
10、2)对返回的json进行解析,判断json中分区属性partitions是否为空,当分区属性partitions是[],即为空,则集群是正常状态,当有{partitions节点1,[节点2,节点3]},即不为空,则是已发生脑裂;
11、3)输出点检结果,存入rabbitmq点检结果记录表pf_rabbitmq_result中;
12、4)如果输出rabbitmq节点异常状态的信息,同时将点检记录存入报警信息记录表pf_error_result中。
13、进一步的,所述定期测试rabbitmq集群中各节点间网络状态包括如下步骤:
14、1)定期读取数据库中rabbitmq配置信息表,按照集群分组,对于同一组内的rabbitmq节点,使用远程控制模块paramiko通过安全外壳协议ssh,任意节点分别远程加密登录其组内其它节点;
15、2)如不能成功登录,则判断集群间网络状态异常;
16、3)输出集群各节点的点检结果,存入rabbitmq点检结果记录表pf_rabbitmq_result中;
17、4)如果输出rabbitmq集群节点异常状态的信息,同时将点检记录存入报警信息记录表pf_error_result中。
18、进一步的,所述定期分析rabbitmq集群中各节点日志内容采用爬虫技术,具体包括如下步骤:
19、1)定期读取数据库中rabbitmq配置信息表,按照集群分组,在远程加密登录的基础上,读取每一个节点的日志文件,rabbitmq集群出现异常时,将日志中出现的关键词inconsistent_database running_partitioned_network做为抓取目标,如果日志文件中发现了抓取目标,则判断集群状态异常,已发生脑裂;
20、2)输出集群各节点的点检结果,存入rabbitmq点检结果记录表pf_rabbitmq_result中;
21、3)如果输出rabbitmq集群节点异常状态的信息,同时将点检记录存入报警信息记录表pf_error_result中。
22、进一步的,所述rabbitmq点检结果展示画面通过输入/选择查询条件,提供查询结果并导出结果表格文件。
23、进一步的,所述报警信息展示界面定时刷新。
24、与现有技术相比,本发明的有益效果是:
25、综合运用rabbitmq集群状态点检rabbitmq集群中各节点间网络状态点检、rabbitmq集群中各节点日志内容分析3种点检方法,定时自动对中间件rabbitmq进行点检,全方位探测rabbitmq的工作状态并实时展示报警信息,能够及时检测到rabbitmq集群异常状态,包括集群脑裂的发生,并能够将点检到的rabbitmq异常信息,在rabbitmq的点检工作中,对集群、节点异常状态及脑裂情况的警告具有及时性、有效性。
技术特征:1.一种系统中间件的自动化点检方法,其特征在于,包括以下内容:
2.根据权利要求1所述的一种系统中间件的自动化点检方法,其特征在于,所述rabbitmq配置信息中,关键信息进行加密处理,在没有加密种子和密钥的情况下不能获知。
3.根据权利要求1所述的一种系统中间件的自动化点检方法,其特征在于,所述点检rabbitmq集群及节点状态包括如下步骤:
4.根据权利要求1所述的一种系统中间件的自动化点检方法,其特征在于,所述测试rabbitmq集群中各节点间网络状态包括如下步骤:
5.根据权利要求1所述的一种系统中间件的自动化点检方法,其特征在于,所述定期分析rabbitmq集群中各节点日志内容采用爬虫技术,具体包括如下步骤:
6.根据权利要求1所述的一种系统中间件的自动化点检方法,其特征在于,所述rabbitmq点检结果展示画面通过输入/选择查询条件,提供查询结果并导出结果表格文件。
7.根据权利要求1所述的一种系统中间件的自动化点检方法,其特征在于,所述报警信息展示界面定时刷新。
技术总结本发明涉及一种系统中间件的自动化点检方法,包括数据库中建立RabbitMQ配置信息表PF_RABBITMQ,录入RabbitMQ配置信息;在数据库中建立RabbitMQ点检结果记录表PF_RABBITMQ_RESULT,保存每次点检结果信息;在数据库中建立报警信息记录表PF_ERROR_RESULT,保存点检结果异常的输出信息;定时点检RabbitMQ集群及节点状态、测试RabbitMQ集群中各节点间网络状态、分析RabbitMQ集群中各节点日志内容;建立建立RabbitMq点检结果展示画面和报警信息展示界面,分别展示RabbitMq点检结果及报警信息;定时自动对中间件RabbitMQ进行点检,全方位探测RabbitMQ的工作状态并实时展示报警信息,能够及时检测到RabbitMQ集群异常状态,包括集群脑裂的发生,并能够将点检到的RabbitMQ异常信息,在RabbitMQ的点检工作中,对集群、节点异常状态及脑裂情况的警告具有及时性、有效性。技术研发人员:刘星,孙上海,车兰,金树来,陈婧受保护的技术使用者:鞍钢集团自动化有限公司技术研发日:技术公布日:2024/7/18本文地址:https://www.jishuxx.com/zhuanli/20240801/240728.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表