一种保证分布式多机通信监控的方法技术

技术编号:25695235 阅读:31 留言:0更新日期:2020-09-18 21:06
本发明专利技术公开了一种保证分布式多机通信监控的方法,所述方法包括,首先,在分布式任务系统中的各个服务器上部署通信检测代码;其次,在所述通信检测代码中嵌入Prometheus的Exporters的软件包,通过Exporters读取各个服务器中通信检测代码计算得出的通信变量;然后,Exporters将获取的通信变量发送给Prometheus Server;最后,基于所述通信变量,Prometheus Server判断各个服务器之间的通信是否正常。采用上述方法对多任务分布系统中各个服务器的通信状况监控更加高效。

【技术实现步骤摘要】
一种保证分布式多机通信监控的方法
本专利技术属于通信领域,特别涉及一种保证分布式多机通信监控的方法。
技术介绍
当用户提交分布式任务的申请时,任务会调度到不同的服务器上面。分布式任务对服务器间的通信要求比较高,至少要保证服务器之间能够TCP(TransmissionControlProtocol:传输控制协议)通信。然而,有的服务器之间通信存在问题,当存在这种现象时,分布式任务将会出错,从而影响用户的服务体验。现有的解决方法是对分布式任务系统里每个服务器进行通信测试,记录在相关的文件里,但是这种方案的维护成本高,管理起来不方便。此外,Prometheus(普罗米修斯):是一套使用Go语言开发的开源监控系统,其中,主要包括PrometheusServer(监控服务器)、ClientLibrary(客户端库)、Exporters(数据采集程序)、PushGateway(推送网关)、Alertmanager(警报管理)、图形界面等,Prometheus大致工作流程是:(1)PrometheusServer定期从配置好的Exporters或ClientLibrary中拉取metrics(指标),或者接收PushGateway发过来的metrics,或者从其它途径拉取metrics。(2)PrometheusServer在本地存储收集到metrics之后,运行已设定好的alert.rules(告警规则),向Alertmanager推送警报。(3)Alertmanager根据自身的配置文件,对接收到的警报进行处理,发出邮件、短信等告警通知。但Prometheus监控的是各个服务器的CPU占用率、GPU占用率、docker容器的信息等参数,不涉及到服务器的通信状况。从而如何设计一种能够实现实时监控平台里服务器通信情况的系统越来越成为亟待解决的技术问题。
技术实现思路
针对上述问题,本专利技术的目的在于提供一种保证分布式多机通信监控的方法,采用上述方法对多任务分布系统中各个服务器的通信状况监控更加高效。本专利技术的目的在于提供一种保证分布式多机通信监控的方法,所述方法包括,在分布式任务系统中的各个服务器上部署通信检测代码;在所述通信检测代码中嵌入Prometheus的Exporters的软件包,通过Exporters读取各个服务器中通信检测代码计算得出的通信变量;Exporters将获取的通信变量发送给PrometheusServer;基于所述通信变量,PrometheusServer判断各个服务器之间的通信是否正常。进一步地,所述方法还包括,各个服务器通过TCP通信,在进行通信的过程中,各个服务器中的任一均能够向其他服务器发送或反馈带有自身IP地址命名的txt文件,以及接收其他服务器反馈或发送的带有自身IP地址命名的txt文件。进一步地,所述方法还包括设置第一通信变量,以判断两个服务器之间的通信是否异常,其中,若当前服务器接收到另一个服务器反馈的带有自身IP地址命名的txt文件时,则两个服务器之间TCP通信正常,第一通信变量取值为0;若当前服务器未接收到另一个服务器反馈的带有自身IP地址命名的txt文件时,则两个服务器之间TCP通信异常,第一通信变量取值为1。进一步地,所述方法还包括设置metric变量,以在所述两个服务器之间TCP通信异常时,判断当前服务器是否异常,其中,若当前服务器未接收到其他服务器中所有服务器反馈的带有自身IP地址命名的txt文件时,则当前服务器异常,metric变量取值为1,否则metric变量取值为0。进一步地,所述通过Exporters读取各个服务器中通信检测代码计算得出的通信变量之前还包括各个服务器中的通信检测代码实时监测与其他各个服务器之间的TCP通信;其中,当前服务器向其他服务器发送带有自身IP地址命名的txt文件;如果当前服务器能够收到其他服务器中的一个服务器反馈的带有自身IP地址命名的txt文件,则表示当前服务器与所述反馈带有自身IP地址命名的txt文件的服务器的TCP通信检验成功,则当前服务器中的通信检测代码计算得出与所述反馈带有自身IP地址命名的txt文件的服务器之间的第一通信变量为0;如果当前服务器未收到其他服务器中的一个服务器反馈的带有自身IP地址命名的txt文件,则表示当前服务器与未反馈带有自身IP地址命名的txt文件的服务器的TCP通信检验失败,则当前服务器中的通信检测代码计算得出与所述未反馈带有自身IP地址命名的txt文件的服务器之间的第一通信变量为1。进一步地,所述各个服务器中的通信检测代码实时监测与其他各个服务器之间的TCP通信还包括,当前服务器中的通信检测代码检查计算得出的第一通信变量;如果存在第一通信变量为1时,当前服务器中的通信检测代码继续遍历是否还存在未反馈带有自身IP地址命名的txt文件的服务器,其中,若其他服务器中的所有服务器均未反馈带有自身IP地址命名的txt文件,则当前服务器中的通信检测代码计算得出当前服务器中的metric变量为1;若其他服务器中存在一个或多个服务器反馈带有自身IP地址命名的txt文件,则当前服务器中的通信检测代码计算得出当前服务器中的metric变量为0;如果第一通信变量均为0,则当前服务器中的通信检测代码计算得出当前服务器中的metric变量为0。进一步地,所述基于所述通信变量,PrometheusServer判断各个服务器之间的通信是否正常包括,PrometheusServer获取所有服务器中的通信检测代码计算出的metric变量,其中,如果存在服务器的metric变量取值为1,则判定所述服务器为异常服务器;PrometheusServer将所述异常服务器进行告警推送,和/或存放至异常数据库中,以对所述异常服务器进行隔离。进一步地,所述方法还包括,各个服务器获取分布式任务系统中其他所有服务器的IP地址;各个服务器在预定时间检查接收到的txt文件,以用于通过通信检测代码实时监测与其他各个服务器之间的TCP通信。进一步地,第一通信变量的变量名包括两个服务器的名称。本专利技术的技术效果:本专利技术的保证分布式多机通信监控的方法在分布式任务系统中的各个服务器上部署通信检测代码,并在各个服务器TCP通信的过程中,计算第一通信变量与metric变量,从而能够快速的获取当前服务器与其他服务器之间的通信情况,提高了通信故障的检测效率,具有实时性,快速性。此外,在多任务分布系统中的各个服务器中引入Prometheus的Exporters的软件包,Exporters与PrometheusServer进行连接交互,从而对多任务分布系统中各个服务器的通信状况监控更加高效。本专利技术的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本专利技术而了解。本文档来自技高网
...

【技术保护点】
1.一种保证分布式多机通信监控的方法,其特征在于,所述方法包括,/n在分布式任务系统中的各个服务器上部署通信检测代码;/n在所述通信检测代码中嵌入Prometheus的Exporters的软件包,通过Exporters读取各个服务器中通信检测代码计算得出的通信变量;/nExporters将获取的通信变量发送给Prometheus Server;/n基于所述通信变量,Prometheus Server判断各个服务器之间的通信是否正常。/n

【技术特征摘要】
1.一种保证分布式多机通信监控的方法,其特征在于,所述方法包括,
在分布式任务系统中的各个服务器上部署通信检测代码;
在所述通信检测代码中嵌入Prometheus的Exporters的软件包,通过Exporters读取各个服务器中通信检测代码计算得出的通信变量;
Exporters将获取的通信变量发送给PrometheusServer;
基于所述通信变量,PrometheusServer判断各个服务器之间的通信是否正常。


2.根据权利要求1所述的保证分布式多机通信监控的方法,其特征在于,所述方法还包括,
各个服务器通过TCP通信,在进行通信的过程中,各个服务器中的任一均能够向其他服务器发送或反馈带有自身IP地址命名的txt文件,以及接收其他服务器反馈或发送的带有自身IP地址命名的txt文件。


3.根据权利要求1或2所述的保证分布式多机通信监控的方法,其特征在于,所述方法还包括设置第一通信变量,以判断两个服务器之间的通信是否异常,其中,
若当前服务器接收到另一个服务器反馈的带有自身IP地址命名的txt文件时,则两个服务器之间TCP通信正常,第一通信变量取值为0;
若当前服务器未接收到另一个服务器反馈的带有自身IP地址命名的txt文件时,则两个服务器之间TCP通信异常,第一通信变量取值为1。


4.根据权利要求3所述的保证分布式多机通信监控的方法,其特征在于,所述方法还包括设置metric变量,以在所述两个服务器之间TCP通信异常时,判断当前服务器是否异常,其中,
若当前服务器未接收到其他服务器中所有服务器反馈的带有自身IP地址命名的txt文件时,则当前服务器异常,metric变量取值为1,否则metric变量取值为0。


5.根据权利要求4所述的保证分布式多机通信监控的方法,其特征在于,所述通过Exporters读取各个服务器中通信检测代码计算得出的通信变量之前还包括各个服务器中的通信检测代码实时监测与其他各个服务器之间的TCP通信;其中,
当前服务器向其他服务器发送带有自身IP地址命名的txt文件;
如果当前服务器能够收到其他服务器中的一个服务器反馈的带有自身IP地址命名的txt文件,则表示当前服务器与所述反馈带有自身IP地址命名的txt文件的服务器的TCP通信检验成功,
则当前服务器中的通信...

【专利技术属性】
技术研发人员:朱之凯刘海峰
申请(专利权)人:合肥中科类脑智能技术有限公司
类型:发明
国别省市:安徽;34

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

1