一种基于RubyGems下的net-ping实现可达性监控的方法技术

技术编号:26040747 阅读:36 留言:0更新日期:2020-10-23 21:19
本发明专利技术提出一种基于RubyGems下的net‑ping实现可达性监控的方法,包括以下步骤:第一步:进行多个WEB端配置,将多个WEB端配置的信息写入对应的数据库表;第二步:读取所述数据库表信息,进行守护进程处理;第三步:构造与所述多个WEB端配置一一匹配的多个探测报文;第四步:对所述多个探测报文进行验证,守护进程处理完后的结果,构造相应的SQL语句,将结果信息更新到对应的数据库表;第五步:前端显示监控结果时,由后端代码再次读取数据库表的最近监控结果,返回相应的JSON格式,由前端分析并进行渲染展示。

【技术实现步骤摘要】
一种基于RubyGems下的net-ping实现可达性监控的方法
本专利技术涉及net-ping实现可达性监控方法
,尤其涉及一种基于RubyGems下的net-ping实现可达性监控的方法。
技术介绍
现代社会高速发展,尤其是数据、信息数字化发展极为迅猛。我们经常接触的各种数据,如新闻、即时通信、游戏等这些数据均存储在数据中心和云计算环境下的机房里的网络设备中。随着数字内容的爆炸式增长,相应地,支撑数字服务的网络设备的数量也跟着在增加。机房中存放的网络设备数量也越来越多,对网络设备的高效监控提出了新的挑战和考验,机房中的服务器提供着各种对外服务。但是,操作中存在客观外在因素、人为误操作等情况,导致某服务器不可达,或某个服务未能成功启动等问题发生。如何对服务器的可达性,服务可用性进行高精准性监控,及时发现异常并解决,一直是迫切需要解决的问题。现有技术中采用手工检查的方式,但是这种检查方式工作量太大;还有一种ruby下的一种gem叫net-ping实现了一般端口开放可达性检测,但过于简单,准确度不够高。
技术实现思路
本专利技术提出了一种基于RubyGems下的net-ping实现可达性监控的方法,为了解决现有技术中的对服务器可达性监控准确度不够高的问题。本专利技术采用以下技术方案:一种基于RubyGems下的net-ping实现可达性监控的方法,包括以下步骤:第一步:进行多个WEB端配置,将多个WEB端配置的信息写入对应的数据库表;第二步:读取所述数据库表信息,进行守护进程处理;第三步:构造与所述多个WEB端配置一一匹配的多个探测报文;对所述多个探测报文进行验证,守护进程处理完后的结果,构造相应的SQL语句,将结果信息更新到对应的数据库表;第四步:前端显示监控结果时,由后端代码再次读取数据库表的最近监控结果,返回相应的JSON格式,由前端分析并进行渲染展示。优选地,所述多个WEB端配置包括:ICMP、TCP、UDP和HTTP的监控项配置。其中,当WEB端配置为ICMP监控项时,所述第三步,包括:将ICMPECHO-REQUEST报文发送,验证响应,判断IP是否可达,如果为否,构造SQL语句,写入数据库表,更新状态为False,更新探测时间;如果为是,构造SOL语句,写入数据库表,更新状态为True,更新活动时间,更新探测时间;所述构造SQL语句包括:当生成一条配置项后,后端语言Ruby将各字段内容获取后,组装成适用于该配置项的SQL语句,写入数据库表中,执行的SQL动作为INSERT。优选地,当WEB端配置为TCP监控项时,所述步骤三,包括:向目标IP发送TCP三次握手,如果握手失败,直接返回False;如果握手成功,构造TCP请求报文,如果有规范性响应,则返回True,如果无规范性反应,返回False。其中,所述TCP报文的数据载荷部分即为所定义的数据规范格式,遵循业务协议规范,若要探测一个基于TCP协议的DNS服务器,那么这个数据载荷的数据结构是一个遵循DNS域名查询请求的数据结构;若要探测一个TCP端口是否有HTTP服务器在监听着,那么这个数据载荷的数据结构是一个HTTP请求头。优选地,当WEB端配置为UDP监控项时,向目标IP发送构造好的UDP请求报文,若有规范性相应,则返回True,若无规范性相应,则返回False。其中,所述UDP请求报文的数据载荷部分遵循业务协议规范,若要探测一个基于UDP协议的DNS服务器,那么这个数据载荷的数据结构是一个遵循DNS域名查询请求的数据结构;若要探测一个基于UDP协议的NTP服务器,那么这个数据载荷的数据结构是一个遵循NTP查询请求的数据结构。优选地,当WEB端配置为HTTP监控项时,向目标IP发送TCP三次握手,如果握手失败,直接返回False,如果握手成功,构造HTTP请求,对请求的响应进行CODE、MESSAGE、BODY_CONTENT、BODY_LENGTH进行比对检查。其中,如果定义的检查对象是CODE,则取出响应的HTTP头中的CODE值A,将A值与数据库表中定义的值进行大小比对,比对成功返回True,比对失败返回False;如果定义的检查对象是MESSAGE,取出响应的HTTP头中的MESSAGE值B,将B值与数据库表中定义的值进行字符串等于或正则匹配比对,比对成功返回True,比对失败返回False;如果定义的检查对象是BODY_LENGTH,取出响应的HTTP头中的BODY_LENGTH值C,将C值与数据库表中定义的值进行大小比对,比对成功返回True,比对失败返回False;如果定义的检查对象是BODY_CONTENT,取出响应的HTTP头中的BODY_CONTENT值D,将D值与数据库表中定义的值进行字符串等于或正则匹配比对,比对成功返回True,比对失败返回False。本专利技术实施例提供的基于RubyGems下的net-ping实现可达性监控的方法采用本专利技术的方法摒弃了常规通过端口是否开放探测服务的可达性方案,通过提前在WEB端配置好各种探测配置条目,由后端一一读取配置条目,遵循业务协议规范构造精准的数据结构报文,探测对端基于ICMP、TCP、UDP和HTTP的实际业务系统的可达性,达到了实际业务的准确、真实性判断。同时也实现了WEB端的统一便捷展示,极大的提高了监控效率。附图说明图1为本专利技术实施例中一种基于RubyGems下的net-ping实现可达性监控的方法的整体框架示意图;图2为本专利技术一种基于RubyGems下的net-ping实现可达性监控的方法的实施例中ICMP工作流程示意图;图3为本专利技术一种基于RubyGems下的net-ping实现可达性监控的方法的实施例中TCP工作流程示意图;图4为本专利技术一种基于RubyGems下的net-ping实现可达性监控的方法的实施例中UDP工作流程示意图;图5为本专利技术一种基于RubyGems下的net-ping实现可达性监控的方法的实施例中HTTP工作流程示意图。具体实施方式以下结合附图对本专利技术的具体实施方式作出详细说明。实施例一如图1所示的一种基于RubyGems下的net-ping实现可达性监控的方法,包括以下步骤:进行多个WEB端配置,具体可以配置基于ICMP、TCP、UDP和HTTP的监控项;将多个WEB端配置的信息写入对应的数据库表,并保存,然后读取所述数据表信息,进行守护进程处理,从数据库表中读取配置,构造相应基于ICMP、TCP、UDP和HTTP的监控项下的探测请求;验证响应结果,对上述守护进行工作完成之后的结果,进行验证,并将相应的结果再次写入数据库表中进行保存;WEB端展示,由后端再次读取数据库表中的结果,组装成JSON格式返回给前端进行分析和渲染展示。本专利技术实施例提供的基于RubyGems下的net-ping实现可达性监控的方法采用本专利技术的方法摒弃了本文档来自技高网...

【技术保护点】
1.一种基于RubyGems下的net-ping实现可达性监控的方法,其特征在于,包括以下步骤:/n第一步:进行多个WEB端配置,将多个WEB端配置的信息写入对应的数据库表;/n第二步:读取所述数据库表信息,进行守护进程处理;/n第三步:构造与所述多个WEB端配置一一匹配的多个探测报文;对所述多个探测报文进行验证,利用守护进程处理完后的结果构造相应的SQL语句,将结果信息更新到对应的数据库表;/n第四步:前端显示监控结果时,由后端代码再次读取数据库表的最近监控结果,返回相应的JSON格式,由前端分析并进行渲染展示。/n

【技术特征摘要】
1.一种基于RubyGems下的net-ping实现可达性监控的方法,其特征在于,包括以下步骤:
第一步:进行多个WEB端配置,将多个WEB端配置的信息写入对应的数据库表;
第二步:读取所述数据库表信息,进行守护进程处理;
第三步:构造与所述多个WEB端配置一一匹配的多个探测报文;对所述多个探测报文进行验证,利用守护进程处理完后的结果构造相应的SQL语句,将结果信息更新到对应的数据库表;
第四步:前端显示监控结果时,由后端代码再次读取数据库表的最近监控结果,返回相应的JSON格式,由前端分析并进行渲染展示。


2.根据权利要求1所述的基于RubyGems下的net-ping实现可达性监控的方法,其特征在于,所述多个WEB端配置包括:ICMP、TCP、UDP和HTTP的监控项配置。


3.根据权利要求2所述的基于RubyGems下的net-ping实现可达性监控的方法,其特征在于,当WEB端配置为ICMP监控项时,所述第三步,包括:将ICMPECHO-REQUEST报文发送,验证响应,判断IP是否可达,如果为否,构造SQL语句,写入所述数据库表,更新状态为False,更新探测时间;如果为是,构造SQL语句,写入数据库表,更新状态为True,更新活动时间、更新探测时间;所述构造SQL语句包括:当生成一条配置项后,后端语言Ruby将各字段内容获取后,组装成适用于该配置项的SQL语句,写入数据库表中。


4.根据权利要求2所述的基于RubyGems下的net-ping实现可达性监控的方法,其特征在于,当WEB端配置为TCP监控项时,所述步骤三,包括:向目标IP发送TCP三次握手,如果握手失败,直接返回False;如果握手成功,构造TCP请求报文,如果有规范性响应,则返回True,如果无规范性反应,返回False。


5.根据权利要求4所述的基于RubyGems下的net-ping实现可达性监控的方法,其特征在于,所述TCP报文的数据载荷部分即为所定义的数据规范格式,遵循业务协议规范,若要探测一个基于TCP协议的DNS服务器,那么该数据载荷的数据结构是遵循DNS域名查询请求的数据结构;若要探测一个TC...

【专利技术属性】
技术研发人员:马涛杨星夏小进周先东顾有林马春来朱静轩黄郡王怀习朱东涛
申请(专利权)人:中国人民解放军国防科技大学
类型:发明
国别省市:湖南;43

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

1