CN110311837B - 在线业务可用性检测方法、装置及计算机设备 - Google Patents
在线业务可用性检测方法、装置及计算机设备 Download PDFInfo
- Publication number
- CN110311837B CN110311837B CN201910629309.XA CN201910629309A CN110311837B CN 110311837 B CN110311837 B CN 110311837B CN 201910629309 A CN201910629309 A CN 201910629309A CN 110311837 B CN110311837 B CN 110311837B
- Authority
- CN
- China
- Prior art keywords
- server
- restful api
- online service
- domain name
- service
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0631—Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0817—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/50—Testing arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本说明书提供一种在线业务可用性检测方法及装置,所述方法包括:获取在线业务的公网域名所映射的各服务器的IP地址;通过在线业务的内网域名调用HTTP协议的RESTfulAPI接口服务,对各服务器逐一访问,其中,内网域名与各服务器的IP地址依次绑定;获取各服务器对RESTfulAPI接口的响应结果,通过响应结果判断各服务器的可用性。上述方法不仅能够对该在线业务的可用性进行监控,检测存在异常的服务器,有利于开发人员及时对异常的服务器进行故障检修,还能够维持当前在线业务的可提供性,外部仍然能通过公网域名对在线业务进行访问。
Description
技术领域
本说明书涉及计算机网络技术领域,尤其涉及一种在线业务可用性检测方法、装置及计算机设备。
背景技术
互联网业务一般通过HTTP协议(Hypertext Transfer Protocol,超文本传输协议)的RESTfulAPI接口(Representational State Transfer,表征性状态转移;Application Programming Interface,应用程序编程接口)对外提供服务,为保证线上服务的可用性、稳定性,第一时间发现线上业务问题,需对在线业务进行监控并及时发出告警信息。目前常用的监控手段有两种:一种是对指定IP端口做可访问性检查;另一种是对指定IP端口的HTTP服务发送到指定RESTfulAPI接口的请求,判断HTTP协议返回码是否正确。
然而,以上两种手段存在以下问题:对指定IP端口做可访问性检查可检测IP端口是否可用,但是无法检测到业务逻辑处理链路出现问题或者服务内部对外的接口调用出现问题;目前,线上针对单台服务器提供的HTTP服务,都做了失败转移,即本机服务不可用时会将请求转移到其他服务器,因此通过对外服务的公网域名请求指定IP端口的RESTfulAPI接口,无法判断本机当前是否正常。
发明内容
为克服相关技术中存在的问题,本说明书提供了一种在线业务可用性检测方法、装置及计算机设备。
根据本说明书实施例的第一方面,提供一种在线业务可用性检测方法,所述方法包括:
获取在线业务的公网域名所映射的各服务器的IP地址;
通过所述在线业务的内网域名调用HTTP协议的RESTfulAPI接口服务,对各所述服务器逐一访问,其中,所述内网域名与各所述服务器的IP地址依次绑定;
获取各所述服务器对RESTfulAPI接口的响应结果,通过所述响应结果判断各所述服务器的可用性。
在其中一个实施例中,所述方法包括:
获取所述在线业务的RESTfulAPI接口所关联的检测策略配置信息;
根据所述检测策略配置信息调用HTTP协议的RESTfulAPI接口服务。
在其中一个实施例中,所述检测策略配置信息包括以下检测策略的至少一种:对RESTfulAPI接口请求返回状态码、对RESTfulAPI接口请求返回数据大小、对RESTfulAPI接口请求返回第一预设参数值和预设内容返回值以及根据测试脚本对RESTfulAPI接口组发送请求。
在其中一个实施例中,所述测试脚本包括RESTfulAPI接口组的请求顺序、及第二预设参数值和预设内容返回值。
在其中一个实施例中,所述方法包括:
当通过响应结果判断服务器为不可用时,发送告警信息。
在其中一个实施例中,所述告警信息携带的信息包括所述服务器的IP地址、所述服务器的异常标识及所述响应结果中的至少一种。
在其中一个实施例中,所述通过所述在线业务的内网域名调用HTTP协议的RESTfulAPI接口服务,对各所述服务器逐一访问的步骤按照预设周期执行。
在其中一个实施例中,所述内网域名与所绑定的所述服务器的IP地址存储于本地hosts文件中。
根据本说明书实施例的第二方面,提供一种在线业务可用性检测装置,包括:
IP地址获取模块,用于获取在线业务的公网域名所映射的各服务器的IP地址;
访问模块,用于通过所述在线业务的内网域名调用HTTP协议的RESTfulAPI接口服务,对各所述服务器逐一访问,其中,所述内网域名与各所述服务器的IP地址依次绑定;
判断模块,用于获取各所述服务器对RESTfulAPI接口的响应结果,通过所述响应结果判断各所述服务器的可用性。
根据本说明书实施例的第三方面,提供一种计算机设备,包括:
存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现上述任一实施例中所述方法的步骤。
本说明书的实施例提供的技术方案可以包括以下有益效果:
本说明书实施例中,为了维持当前在线业务的可提供性,通过获取该在线业务的公网域名所映射的各个服务器的IP地址,对该在线业务设置一个内网域名,该内网域名与各服务器IP地址进行逐一绑定,并且通过对该在线业务调用HTTP协议的RESTfulAPI接口服务,逐一访问每一个服务器,获取RESTfulAPI接口的响应结果,以检测该在线业务的每一个服务器是否可用,进而对该在线业务的可用性进行监控。上述方法不仅能够对该在线业务的可用性进行监控,检测存在异常的服务器,有利于开发人员及时对异常的服务器进行故障检修,还能够维持当前在线业务的可提供性,外部仍然能通过公网域名对在线业务进行访问。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本说明书的实施例,并与说明书一起用于解释本说明书的原理。
图1是本说明书根据一示例性实施例示出的一种在线业务可用性检测方法的流程图。
图2A是本说明书根据一示例性实施例示出的另一种在线业务可用性检测方法的流程图。
图2B是本说明书根据一示例性实施例示出的一种在线业务可用性检测方法的应用场景图。
图3是本说明书实施例文件处理装置所在计算机设备的一种硬件结构图。
图4是本说明书根据一示例性实施例示出的一种在线业务可用性检测装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书的一些方面相一致的装置和方法的例子。
在本说明书使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本说明书和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
本说明书提供一种在线业务可用性检测方法、装置及计算机设备,为了维持当前在线业务的可提供性,通过获取该在线业务的公网域名所映射的各个服务器的IP地址,对该在线业务设置一个内网域名,该内网域名与各服务器IP地址进行逐一绑定,并且通过对该在线业务调用HTTP协议的RESTfulAPI接口服务,逐一访问每一个服务器,获取RESTfulAPI接口的响应结果,以检测该在线业务的每一个服务器是否可用,进而对该在线业务的可用性进行监控。这样,通过上述在线业务可用性检测方法、装置及计算机设备,能够解决线上针对单台服务器提供的HTTP服务,由于设置了失败转移,当本机服务不可用时会将请求转移到其他服务器,使得通过线上对外服务的公网域名请求指定IP端口的RESTfulAPI接口,无法判断当前服务器是否正常的问题。
接下来对本说明书实施例进行详细说明。
如图1所示,图1是本说明书根据一示例性实施例示出的一种在线业务可用性检测方法的流程图,包括以下步骤:
步骤102,获取在线业务的公网域名所映射的各服务器的IP地址。
本步骤中,在线业务是指在互联网上提供的业务,通常地,在线业务基于HTTP协议建立通信连接,对外提供服务。公网域名是指该在线业务公开的对外服务的域名,外部可通过该公网域名访问在线业务的IP地址,获取该在线业务提供的资源及服务。具体地,为了满足较大的访问量及提高在线业务的可用性,在线业务通常通过一个公网域名、多个服务器负载均衡来提供服务。也就是说,该在线业务设置多台服务器负载均衡,即多台服务器以对称的方式组成一个服务器集合,每台服务器具有等价的地位,都可以单独对外提供服务。当外部通过公网域名发送请求时,该请求被分配到对称结构中的某一台服务器上,接收到请求的服务器独立地响应该请求,为外部提供服务。当被分配到的服务器不可用时,则无法对该请求作出响应,由于设置负载均衡,该请求会被转移到其他服务器以提供服务,因此,通过公网域名调用HTTP协议的RESTfulAPI接口服务,无法判断各服务器当中是否存在服务器不可用的情况,则无法对各服务器作有效的监控。
本步骤通过获取在线服务的公网域名所映射的各服务器的IP地址,即获取该在线业务的负载均衡集群中各个服务器的IP地址,为后续检测各服务器的可用性作准备。
步骤104,通过所述在线业务的内网域名调用HTTP协议的RESTfulAPI接口服务,对各所述服务器逐一访问,其中,所述内网域名与各所述服务器的IP地址依次绑定。
本步骤中,内网域名是指该在线业务的内部访问的域名,内网域名是非对外公开的,采用内部网络才能通过该域名进行在线业务的访问。需要理解的是,通过内网域名访问的在线业务与通过公网域名访问的在线业务是相同的,即通过内网域名调用HTTP协议的RESTfulAPI接口服务与通过公网域名调用HTTP协议的RESTfulAPI接口服务相同。不同的是,一是公网域名与内网域名的命名不同,例如,一个在线业务的公网域名命名为a.b.com,内网域名命名为check.a.b.com;二是公网域名对外公开且可访问,内网域名则是针对内部网络可访问,有利于该在线业务的运营后台进行检测与监控;三是内网域名没有设置负载均衡,没有配置失败转移路由,即内网域名映射一个服务器的IP地址,当映射的服务器不可用时,通过内网域名调用HTTP协议的RESTfulAPI接口服务则不会发生失败转移。这样,则能够通过RESTfulAPI接口的响应结果来判断内网域名当前映射的服务器是否可用。
本步骤通过内网域名对该在线业务的各个服务器逐一进行了访问,即内网域名映射的服务器IP地址逐一更换,一次单独访问一个服务器。这样,不仅能够逐一检测各服务器的可用性,还能够维持公网域名持续对外提供服务。
值得一提的是,本步骤是通过调用HTTP协议的RESTfulAPI接口服务访问在线业务,RESTful是一种软件架构规范,其通过一套统一的接口为所有客户端提供服务,实现前后端分离,即能够兼容各种终端,有效降低开发的复杂性,且有较高的效率,这样,能够快速遍历访问一个在线业务的的多个服务器。
步骤106,获取各所述服务器对RESTfulAPI接口的响应结果,通过所述响应结果判断各所述服务器的可用性。
本步骤中,通过内网域名调用HTTP协议的RESTfulAPI接口服务发送请求,接收到请求的服务器会针对请求作出响应,返回一个响应结果,并通过响应结果判断服务器的可用性。具体地,响应结果包括对应服务器正常的响应结果和对应服务器异常的响应结果,当返回的响应结果是对应服务器正常的响应结果,则表示当前服务器正常,即判断当前的服务器为可用;当返回的响应响应结果是对应服务器异常的响应结果,则表示当前服务器异常,即判断当前的服务器为不可用。应该理解的是,在当前服务器的可用性判断完成后,内网域名映射的服务器IP地址更换为下一个服务器的IP地址,并对内网域名调用HTTP协议的RESTfulAPI接口服务发送请求,以判断下一个服务器的可用性,即逐一判断各服务器的可用性。
本实施例中的在线业务可用性检测方法,通过获取该在线业务的公网域名所映射的各个服务器的IP地址,对该在线业务设置一个内网域名,内网域名采用内部网络才可访问,且通过内部域名访问的在线业务与通过公网域名访问的在线业务是相同的,该内网域名与各服务器IP地址进行逐一绑定,并且通过对该在线业务调用HTTP协议的RESTfulAPI接口服务,逐一访问每一个服务器,获取各个RESTfulAPI接口的响应结果,以检测该在线业务的每一个服务器是否可用,进而对该在线业务的可用性进行监控。这样,不仅能够对该在线业务的可用性进行监控,检测存在异常的服务器,有利于开发人员及时对异常的服务器进行故障检修,还能够维持当前在线业务的可提供性,外部仍然能通过公网域名对在线业务进行访问。
在其中一个实施例中,所述方法包括以下步骤:获取所述在线业务的服务器列表、RESTfulAPI接口列表,其中,所述服务器列表包括所述公网域名所映射的各服务器的IP地址,所述RESTfulAPI接口列表包括所述在线业务调用服务的各RESTfulAPI接口。
本实施例中,可根据获取到的该在线业务的服务器列表及RESTfulAPI接口列表,读取服务器列表的各服务器的IP地址及RESTfulAPI接口列表中的各RESTfulAPI接口,逐一绑定每一个IP地址,并对应各RESTfulAPI接口,对每一个服务器调用HTTP协议的RESTfulAPI接口服务,以检测各服务器的可用性。
在其中一个实施例中,所述方法包括以下步骤:获取各RESTfulAPI接口的入参和出参格式。这样,通过获取RESTfulAPI接口的出入参格式,可以用于检查RESTfulAPI接口的返回数据格式是否与RESTfulAPI接口定义的数据格式一致。
在其中一个实施例中,所述方法包括以下步骤:获取所述在线业务的RESTfulAPI接口所关联的检测策略配置信息;根据所述检测策略配置信息调用HTTP协议的RESTfulAPI接口服务。
本实施例中,检测策略配置信息中携带有检测RESTfulAPI接口的可用性的策略,该策略可以是开发人员根据RESTfulAPI接口的特性进行配置的。在线业务包括至少一个RESTfulAPI接口,每一个RESTfulAPI接口对应配置的检测策略可以是相同的,也可以是不同的,一个RESTfulAPI接口可以配置一个检测策略进行检测,也可以配置多个检测策略进行检测。调用HTTP协议的RESTfulAPI接口服务时,根据每个RESTfulAPI接口对应的检测策略配置信息发送请求。
在其中一个实施例中,所述检测策略配置信息包括以下检测策略的至少一种:对RESTfulAPI接口请求返回状态码、对RESTfulAPI接口请求返回数据大小、对RESTfulAPI接口请求返回第一预设返回值以及根据测试脚本对RESTfulAPI接口组发送请求。
以下对上述四种检测策略作进一步说明:
第一种策略是:对RESTfulAPI接口请求返回状态码。通过判断请求返回的状态码是否与策略设置的状态码一致,则能判断RESTfulAPI接口是否可用,即当请求返回的状态码与策略设置的状态码一致时,该RESTfulAPI接口为可用;当请求返回的状态码与策略设置的状态码不一致时,该RESTfulAPI接口则为不可用。通常地,RESTfulAPI接口采用的状态码为HTTP状态码。HTTP状态码是用以表示网页服务器超文本传输协议响应状态的3位数字代码,其中,200表示客户端请求成功。也就是说,当请求返回的状态码为200时,则该RESTfulAPI接口为可用。这种策略适用于大多数RESTfulAPI接口。
第二种策略是:对RESTfulAPI接口请求返回数据大小。开发人员可在检测策略中对请求返回的数据大小设定一个预设数据值范围,通过判断请求返回的数据大小是否在预设数据值范围内,判断RESTfulAPI接口是否可用,即当请求返回的数据大小在预设数据值范围内时,该RESTfulAPI接口为可用;当请求返回的数据大小不在预设数据值范围内时,该RESTfulAPI接口则为不可用。这种策略适用于返回数据量较为固定的RESTfulAPI接口,例如,对一个直播列表发送查询请求,其返回的数据大小在200K左右,可在检测策略中设置其RESTfulAPI接口的预设数据值范围为180K~220K,如果请求返回的数据大小不在180K~220K这个范围内,则说明RESTfulAPI接口后台数据处理存在异常,如数据遗漏或者查询列表存在问题。
第三种策略是:对RESTfulAPI接口请求返回第一预设参数值和第一预设内容。开发人员可在检测策略中设置一个第一预设参数值和第一预设内容,通过判断请求返回的返回值是否与第一预设返回值一致,判断RESTfulAPI接口是否可用,即当请求返回的返回值与第一预设返回值一致时,该RESTfulAPI接口为可用;当请求返回的返回值与第一预设返回值不一致时,该RESTfulAPI接口则为不可用。第一预设返回值可以是,这种策略适用于返回值已知RESTfulAPI接口,例如,该RESTfulAPI接口对应的业务是签到,每天第一次请求的返回值为“签到成功”,第一次请求后的其他请求的返回值则为“已签到”,但如果当天第二次请求的返回值为“签到成功”,则说明RESTfulAPI接口后台业务处理存在异常,如第一次数据读写失败,或者后台数据库异常等。
需要说明的是,第一预设返回值可以是具体的返回内容,也可以是具体的请求参数值。具体的返回内容对指定的RESTfulAPI接口返回的请求结果,通常用JSON(JavaScriptObject Notation,JavaScript对象简谱)格式表示,如{"result":true,"code":1}。上述例子中的“签到成功”为具体的返回内容。而具体的请求参数值是对指定的RESTfulAPI接口的请求参数,返回该请求参数的数值,例如,对一个RESTfulAPI接口请求查询用户ID(如用户ID:abc),则abc为具体的请求参数值,通常用如paramName=val1的格式表示。应该理解的是,本实施例中的第一预设返回值,可以是具体的返回内容及具体的请求参数值的其中一种,也可以是两者的组合,且对于第一预设返回值的数量不作限定,可以是一个返回值,也可以是多个返回值。
第四种策略是:根据测试脚本对RESTfulAPI接口组发送请求。一个RESTfulAPI接口组包括多个RESTfulAPI接口,对一个RESTfulAPI接口组的调用可完整定义一个业务流程,开发人员可在检测策略中设置一个测试脚本,按照该测试脚本对RESTfulAPI接口组发送请求,通过判断请求返回的返回值是否与测试脚本预设的返回值一致,判断RESTfulAPI接口组是否可用,即当请求返回的返回值与测试脚本预设的返回值一致时,该RESTfulAPI接口组为可用;当请求返回的返回值与测试脚本预设的返回值不一致时,该RESTfulAPI接口组则为不可用。这种策略适用于请求一个业务流程的情况,例如,该RESTfulAPI接口组对应的业务是签到一次后可进行一次抽奖,并且展示抽奖记录,即则需要调用包括签到、抽奖、奖品记录查询三个RESTfulAPI接口的RESTfulAPI接口组,以检测签到抽奖业务是否正常,而设置的测试脚本包括这一RESTfulAPI接口组的调用请求信息,通过执行该测试脚本来检测签到抽奖业务是否正常,具体地,判断请求返回的返回值与测试脚本预设的返回值是否一致来检测签到抽奖业务是否正常。
需要说明的是,请求返回的返回值包括至少一个RESTfulAPI接口的返回值,测试脚本预设的返回值包括RESTfulAPI接口组中各RESTfulAPI接口的预设返回值,若至少一个RESTfulAPI接口的返回值与测试脚本预设的返回值不一致时,则该业务流程存在问题或者网络异常需要修复。
需要强调的是,本实施例中虽然列举了四种检测策略,但检测策略配置信息包括但不限于四种检测策略。本实施例体现的是,开发人员可以通过不同的RESTfulAPI接口或者RESTfulAPI接口组配置不同的检测策略进行检测,具有针对性地对业务可用性进行监控。
在其中一个实施例中,所述测试脚本包括RESTfulAPI接口组的请求顺序及第二预设返回值。本实施例中,测试脚本设置了RESTfulAPI接口组的各个RESTfulAPI接口的请求顺序,该请求顺序是根据业务流程的顺序进行设置的,如上述提及的签到抽奖业务中,测试脚本设置的请求顺序则为从签到的RESTfulAPI接口、抽奖的的RESTfulAPI接口到奖品记录查询的RESTfulAPI接口依次进行请求。测试脚本设置第二预设返回值的具体说明如上述第一预设返回值的相同,在此不再赘述。应该理解的是,测试脚本携带的信息包括但不限于上述的RESTfulAPI接口组的请求顺序及第二预设返回值。
在其中一个实施例中,所述方法还包括以下步骤:当通过响应结果判断服务器为不可用时,发送告警信息。本实施例中,通过域名对某一个服务器调用HTTP协议的RESTfulAPI接口服务,对获取的该服务器的响应结果进行判断,当判断服务器为不可用,即获取的响应结果与预期的响应结果不一致时,则发出告警信息,以表示当前检测的服务器为不可用。
在其中一个实施例中,所述告警信息携带的信息包括所述服务器的IP地址、所述服务器的异常标识及所述响应结果中的至少一种。本实施例中,服务器的IP地址指的是不可用的服务器的IP地址,告警信息包括不可用的服务器的IP地址,能够让开发人员了解到具体是哪个服务器不可用。服务器的异常标识用于区别可用服务器与不可用服务器,不可用的服务器设置有异常标识,可用的服务器可以不设置有标识,也可以设置有正常标识。响应结果即为不可用的服务器对请求响应的结果,其可以是上述四种检测策略返回的状态码、数据大小及返回值,响应结果能够用于区别与预期的响应结果的不同点,以便开发人员根据响应结果判断服务器不可用的原因。
应该说明的是,本实施例中的告警信息携带的信息包括但不限于服务器的IP地址、服务器的异常标识及响应结果,且可以是服务器的IP地址、服务器的异常标识及响应结果中的一种,也可以是它们的组合。
在其中一个实施例中,所述方法还包括以下步骤:当各所述服务器均完成访问后,且通过各所述服务器对应的响应结果判断出至少一个服务器为不可用时,发送告警信息。本实施例中,在遍历该在线服务的所有的服务器,即通过内网域名对各服务器调用HTTP协议的RESTfulAPI接口服务逐一访问后,对获取到的每一个服务器对应的响应结果统一进行判断,能够有效提高处理效率,并当判断到有不可用的服务器时,发送告警信息,以便开发人员知悉。
在其中一个实施例中,所述告警信息发送至开发人员的监控端。在其中一个实施例中,所述告警信息通过短信、邮件、IM(Instant Messaging,即时通讯)消息的方式通知开发人员,使得开发人员能够及时获知存在服务器不可用的状况。
在其中一个实施例中,所述通过所述在线业务的内网域名调用HTTP协议的RESTfulAPI接口服务,对各所述服务器逐一访问的步骤按照预设周期执行。本实施例中,预设周期为预先设置的执行周期,即每隔一个预设周期执行一次以下步骤:通过所述在线业务的内网域名调用HTTP协议的RESTfulAPI接口服务,对各所述服务器逐一访问。也就是说,定时检测该在线业务的各服务器的可用性,从而对该在线业务的业务可用性进行监控。
在其中一个实施例中,所述内网域名与所绑定的所述服务器的IP地址存储于本地hosts文件中。本实施例中,内网域名与在线业务的服务器IP地址的绑定在本地hosts文件中进行配置及修改,也就是说,在本地hosts文件中将内网域名解析到当前待检测服务器的IP地址,使得内网域名与待检测服务器的IP地址绑定进行访问,在当前待检测服务器访问完成后,在本地hosts文件中将内网域名修改解析到下一待检测服务器的IP地址进行访问,如此执行上述步骤,更新内网域名解析的服务器IP地址,以对在线业务的所有服务器逐一完成访问,检测所有服务器的可用性。
在其中一个实施例中,所述方法还包括以下步骤:刷新本地DNS(Domain NameSystem,域名系统)缓存。这样,能够保证当前内网域名解析到当前的服务器IP地址生效。
如图2A所示,是根据一示例性实施例示出的一种在线业务可用性检测方法的流程图,本实施方式在前述实施例的基础上,描述了如何监控一个在线业务的多个服务器的可用性的一种处理过程,包括如下步骤:
步骤201,获取在线业务的公网域名a.b.com所映射的服务器IP地址列表、RESTfulAPI接口列表以及RESTfulAPI接口列表所关联的检测策略配置信息,其中所述检测策略配置信息包括以下检测策略的至少一种:对RESTfulAPI接口请求返回状态码、对RESTfulAPI接口请求返回数据大小、对RESTfulAPI接口请求返回第一预设参数值和预设内容返回值以及根据测试脚本对RESTfulAPI接口组发送请求;
步骤202,获取所述在线业务的内网域名;
步骤203,在本地hosts文件中将所述内网域名与服务器IP地址列表中的一服务器IP地址绑定,刷新本地DNS缓存;
步骤204,通过所述内网域名对当前服务器进行访问,根据所述检测策略配置信息对RESTfulAPI接口列表中各RESTfulAPI接口调用HTTP协议的RESTfulAPI接口服务;
步骤205,获取当前服务器的响应结果,通过所述响应结果判断当前服务器的可用性;
步骤206,判断在线业务的服务器IP地址列表是否遍历;是则执行步骤207,否则返回执行步骤203;
步骤207,当获取到至少一个响应结果判断服务器为不可用时,通过短信、邮件、IM消息的方式发送告警信息通知开发人员。
图2B是对在线业务可用性检测方法提出的一种应用场景,该应用场景中包括检测服务器设备(211、212、213)、在线业务服务器设备(221、222、223)和客户端设备(231、232、233)。其中,客户端可以通过客户端设备输入在线业务的域名去访问在线业务服务器设备,在线业务服务器设备为客户端提供资源及服务。客户端可以是PC(Personal Computer,个人计算机),也可以是移动客户端,如手机、平板电脑、智能手表等。检测服务器设备用于执行本说明书提出的在线业务可用性检测方法去检测在线业务服务器设备的可用性,检测服务器设备可以是单台服务器,也可以是一个由多台服务器组成的服务器集群。
与前述方法的实施例相对应,本说明书还提供了装置及其所应用的终端的实施例。
本说明书在线业务可用性检测装置的实施例可以应用在计算机设备上,例如服务器或终端设备。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在在线业务可用性检测的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图3所示,为本说明书实施例在线业务可用性检测装置所在计算机设备的一种硬件结构图,除了图3所示的处理器310、内存330、网络接口320、以及非易失性存储器340之外,实施例中装置331所在的服务器或电子设备,通常根据该计算机设备的实际功能,还可以包括其他硬件,对此不再赘述。
如图4所示,图4是本说明书根据一示例性实施例示出的一种在线业务可用性检测装置的框图,所述装置包括:
IP地址获取模块402,用于获取在线业务的公网域名所映射的各服务器的IP地址。
访问模块404,用于通过所述在线业务的内网域名调用HTTP协议的RESTfulAPI接口服务,对各所述服务器逐一访问,其中,所述内网域名与各所述服务器的IP地址依次绑定。
判断模块406,用于获取各所述服务器对RESTfulAPI接口的响应结果,通过所述响应结果判断各所述服务器的可用性。
在其中一个实施例中,所述装置包括:
检测策略获取模块,用于获取所述在线业务的RESTfulAPI接口所关联的检测策略配置信息。
访问模块,还用于根据所述检测策略配置信息调用HTTP协议的RESTfulAPI接口服务。
在其中一个实施例中,所述检测策略配置信息包括以下检测策略的至少一种:对RESTfulAPI接口请求返回状态码、对RESTfulAPI接口请求返回数据大小、对RESTfulAPI接口请求返回第一预设参数值和预设内容返回值以及根据测试脚本对RESTfulAPI接口组发送请求。
在其中一个实施例中,所述测试脚本包括RESTfulAPI接口组的请求顺序、及第二预设参数值和预设内容返回值。
在其中一个实施例中,所述装置包括:
警告发送模块,用于当通过响应结果判断服务器为不可用时,发送告警信息。
在其中一个实施例中,所述告警信息携带的信息包括所述服务器的IP地址、所述服务器的异常标识及所述响应结果中的至少一种。
在其中一个实施例中,所述访问模块还用于按照预设周期执行所述通过所述在线业务的内网域名调用HTTP协议的RESTfulAPI接口服务,对各所述服务器逐一访问的步骤。
在其中一个实施例中,所述内网域名与所绑定的所述服务器的IP地址存储于本地hosts文件中。
相应的,本说明书还提供一种计算机设备,所述计算机设备包括有存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序;其中,所述处理器执行所述程序时实现上述任一实施例中的在线业务可用性检测方法。
上述装置中各个模块的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本领域技术人员在考虑说明书及实践这里申请的发明后,将容易想到本说明书的其它实施方案。本说明书旨在涵盖本说明书的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本说明书的一般性原理并包括本说明书未申请的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本说明书的真正范围和精神由下面的权利要求指出。
应当理解的是,本说明书并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本说明书的范围仅由所附的权利要求来限制。
以上所述仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。
Claims (9)
1.一种在线业务可用性检测方法,其特征在于,包括:
获取在线业务的公网域名所映射的各服务器的IP地址;
通过所述在线业务的内网域名调用HTTP协议的RESTfulAPI接口服务,对各所述服务器逐一访问,其中,所述内网域名与各所述服务器的IP地址依次绑定;
获取各所述服务器对调用RESTfulAPI接口服务的响应结果,通过所述响应结果判断各所述服务器的可用性。
2.根据权利要求1所述的在线业务可用性检测方法,其特征在于,所述方法包括:
获取所述在线业务的RESTfulAPI接口所关联的检测策略配置信息;
根据所述检测策略配置信息调用HTTP协议的RESTfulAPI接口服务。
3.根据权利要求2所述的在线业务可用性检测方法,其特征在于,所述检测策略配置信息包括以下检测策略的至少一种: 请求RESTfulAPI接口返回状态码、请求RESTfulAPI接口返回数据大小、请求RESTfulAPI接口返回第一预设返回值以及根据测试脚本请求多个RESTfulAPI接口返回至少一个第二预设返回值。
4.根据权利要求3所述的在线业务可用性检测方法,其特征在于,所述测试脚本包括多个RESTfulAPI接口的请求顺序及第二预设返回值。
5.根据权利要求1所述的在线业务可用性检测方法,其特征在于,所述方法包括:
当通过响应结果判断服务器为不可用时,发送告警信息。
6.根据权利要求5所述的在线业务可用性检测方法,其特征在于,所述告警信息携带的信息包括所述服务器的IP地址、所述服务器的异常标识及所述响应结果中的至少一种。
7.根据权利要求1所述的在线业务可用性检测方法,其特征在于,所述通过所述在线业务的内网域名调用HTTP协议的RESTfulAPI接口服务,对各所述服务器逐一访问的步骤按照预设周期执行。
8.一种在线业务可用性检测装置,所述装置包括:
IP地址获取模块,用于获取在线业务的公网域名所映射的各服务器的IP地址;
访问模块,用于通过所述在线业务的内网域名调用HTTP协议的RESTfulAPI接口服务,对各所述服务器逐一访问,其中,所述内网域名与各所述服务器的IP地址依次绑定;
判断模块,用于获取各所述服务器对RESTfulAPI接口服务的响应结果,通过所述响应结果判断各所述服务器的可用性。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现权利要求1至7任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910629309.XA CN110311837B (zh) | 2019-07-12 | 2019-07-12 | 在线业务可用性检测方法、装置及计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910629309.XA CN110311837B (zh) | 2019-07-12 | 2019-07-12 | 在线业务可用性检测方法、装置及计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110311837A CN110311837A (zh) | 2019-10-08 |
CN110311837B true CN110311837B (zh) | 2022-11-01 |
Family
ID=68080056
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910629309.XA Active CN110311837B (zh) | 2019-07-12 | 2019-07-12 | 在线业务可用性检测方法、装置及计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110311837B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111193636A (zh) * | 2019-10-21 | 2020-05-22 | 腾讯科技(深圳)有限公司 | 测试单机可用性的方法及装置 |
CN112882885A (zh) * | 2019-11-29 | 2021-06-01 | 北京沃东天骏信息技术有限公司 | 业务服务存活的监控方法、装置和系统 |
CN111367704A (zh) * | 2020-03-23 | 2020-07-03 | 腾讯科技(深圳)有限公司 | 交互可用性检测方法、装置、服务器、测试设备及介质 |
CN114286125B (zh) * | 2021-12-30 | 2023-12-19 | 北京爱学习博乐教育科技有限公司 | 企业直播实现方法及系统 |
CN114629888A (zh) * | 2022-03-18 | 2022-06-14 | 中国农业银行股份有限公司 | 一种服务器负载测试的方法和装置 |
CN114840306A (zh) * | 2022-04-25 | 2022-08-02 | 北京永信至诚科技股份有限公司 | 服务资源可用性监控方法、装置、设备及可读存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107528749A (zh) * | 2017-08-28 | 2017-12-29 | 杭州安恒信息技术有限公司 | 基于云防护日志的网站可用性检测方法、装置及系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11336511B2 (en) * | 2006-09-25 | 2022-05-17 | Remot3.It, Inc. | Managing network connected devices |
US10193997B2 (en) * | 2016-08-05 | 2019-01-29 | Dell Products L.P. | Encoded URI references in restful requests to facilitate proxy aggregation |
US20180302305A1 (en) * | 2017-04-12 | 2018-10-18 | Futurewei Technologies, Inc. | Data center automated network troubleshooting system |
-
2019
- 2019-07-12 CN CN201910629309.XA patent/CN110311837B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107528749A (zh) * | 2017-08-28 | 2017-12-29 | 杭州安恒信息技术有限公司 | 基于云防护日志的网站可用性检测方法、装置及系统 |
Non-Patent Citations (1)
Title |
---|
一种面向SDN网络的云安全技术方案研究和实现;罗原;《电信工程技术与标准化》;20170715(第07期);25-30 * |
Also Published As
Publication number | Publication date |
---|---|
CN110311837A (zh) | 2019-10-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110311837B (zh) | 在线业务可用性检测方法、装置及计算机设备 | |
CN104993953B (zh) | 检测网络服务状态的方法和装置 | |
US8745202B2 (en) | Tracking remote browser crashes via cookies | |
US10795744B2 (en) | Identifying failed customer experience in distributed computer systems | |
US20070165615A1 (en) | Apparatus and method for notifying communication network event in application server capable of supporting open API based on Web services | |
CN111861140A (zh) | 一种业务处理方法、装置、存储介质和电子装置 | |
US11909613B2 (en) | On-demand outages notification in a cloud environment | |
US11570075B2 (en) | Reverse health checks | |
CN110727589A (zh) | 测试方法、装置及设备 | |
CN111510330B (zh) | 接口管理装置、方法及存储介质 | |
US20230269153A1 (en) | Detecting outages in a multiple availability zone cloud environment | |
WO2021086523A1 (en) | Support ticket platform for improving network infrastructures | |
CN112311786A (zh) | 一种服务请求处理方法、装置、存储介质及计算设备 | |
CN111556135A (zh) | 一种请求调度方法、系统、装置及电子设备 | |
US20220385528A1 (en) | Detecting outages in a cloud environment | |
CN114172966A (zh) | 单元化架构下的服务调用方法、服务处理方法及装置 | |
CN114745295A (zh) | 数据采集方法、装置、设备和可读存储介质 | |
CN112000518A (zh) | 应用程序故障风险处理方法、装置、系统及终端、设备 | |
CN110233774B (zh) | 一种Socks代理服务器的探测方法、分布式探测方法和系统 | |
CN107819754B (zh) | 一种防劫持方法、监控服务器、终端及系统 | |
CN106790071B (zh) | 一种dns全流量劫持风险的检测方法和装置 | |
CN109274533B (zh) | 一种基于规则引擎的Web服务故障的定位装置和方法 | |
CN115250233B (zh) | 一种灰度路由控制方法、灰度路由组件及计算机设备 | |
US11153769B2 (en) | Network fault discovery | |
US11582345B2 (en) | Context data management interface for contact center |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
EE01 | Entry into force of recordation of patent licensing contract | ||
EE01 | Entry into force of recordation of patent licensing contract |
Application publication date: 20191008 Assignee: GUANGZHOU CUBESILI INFORMATION TECHNOLOGY Co.,Ltd. Assignor: GUANGZHOU HUADUO NETWORK TECHNOLOGY Co.,Ltd. Contract record no.: X2021440000031 Denomination of invention: Online service availability detection method, device and computer equipment License type: Common License Record date: 20210125 |
|
GR01 | Patent grant | ||
GR01 | Patent grant |