检测网络服务状态的方法和装置
技术领域
本发明涉及互联网,特别是涉及一种检测网络服务状态的方法和装置。
背景技术
网络服务一般指网络上的服务,包括电脑处理各种动作或者协议的程序。利用网络服务,用户可以实现集中计算、信息发表及数据管理等功能。
随着网络技术的发展,现有的网络服务一般不是有单独的一台服务器提供,而是采用服务器集群系统共同实现网络服务的提供。例如Linux虚拟服务器(Linux VirtualServer,简称LVS)采用IP负载均衡技术和基于内容请求分发技术构成的虚拟服务器,以及网络数据中心(Internet Data Center,简称IDC)提供的托管服务器均是先用技术中常用的提供网络服务的服务器集群。
然而大型机群系统由于服务器数量多,造成其中服务器的故障发生几率大大提升。提供网络服务的某台服务器如果出现故障,会造成该故障服务器处理的请求无法得到正确的响应,导致至少部分用户无法使用网络服务,降低了网络服务提供的可靠性。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的检测网络服务状态的方法和装置。
本发明一个进一步的目的是要及时确定网络服务的状态。
依据本发明的一个方面,提供了一种检测网络服务状态的方法。该检测网络服务器的状态的方法包括:获取待检测的用于提供网络服务的目标域名,并确定目标域名对应的IP地址;获取网络服务的负载均衡系统预置的配置文件,配置文件中记录有负载均衡系统中提供网络服务的IP地址对应的服务器信息;根据配置文件查询与目标域名对应的IP地址对应的应用服务器;以及对应用服务器进行运行状态检测,以确定网络服务的状态。
可选地,确定目标域名对应的IP地址的步骤包括:识别目标域名是否已被解析;若是,则通过域名查询指令获取目标域名对应的IP地址;若否,查询预置的监控主机列表以获取目标域名对应的IP地址,或者对目标域名进行域名解析以获取目标域名对应的IP地址。
可选地,根据配置文件查询与目标域名对应的IP地址对应的应用服务器的步骤包括:在配置文件中查询目标域名对应的IP地址的属性;以及根据目标域名对应的IP地址的属性确定应用服务器。
可选地,目标域名对应的IP地址包括虚拟IP地址和内容分发网络IP;根据目标域名对应的IP地址的属性确定应用服务器的步骤包括:在目标域名对应的IP地址为虚拟IP地址的情况下,获取虚拟IP地址预先配置的至少一个实际服务器,作为应用服务器;以及在目标域名对应的IP地址为内容分发网络IP的情况下,获取内容分发网络IP的回源服务器,作为应用服务器。
可选地,对应用服务器进行运行状态检测的步骤包括:运行预置的命令行脚本,向应用服务器发送检测指令;接收应用服务器响应于检测指令的返回信息;以及根据返回信息确定应用服务器的运行状态。
可选地,向应用服务器发送检测指令的步骤包括:利用多个代理服务器分别向应用服务器发送检测指令,并且多个代理服务器属于多个不同互联网信息数据中心。
可选地,在对应用服务器进行运行状态检测的步骤之后还包括:根据应用服务器的运行状态生成网络服务状态报告。
可选地,根据应用服务器的运行状态生成网络服务状态报告的步骤包括:获取预先设置的状态报告配置项;提取应用服务器的运行状态中状态报告配置项对应的内容;以及根据提取出的内容生成网络服务状态报告。
可选地,状态报告配置项包括以下任意一项或多项内容:机器名、响应时间、故障类型、故障代码、报告输出形式、以及已宕机的服务器是否提醒。
根据本发明的另一个方面,还提供了一种检测网络服务状态的装置。该检测网络服务状态的装置包括:域名获取模块,配置成:获取待检测的用于提供网络服务的目标域名;地址确定模块,配置成:确定目标域名对应的IP地址;配置获取模块,配置成:获取网络服务的负载均衡系统预置的配置文件,配置文件中记录有负载均衡系统中提供业务服务的IP地址对应的服务器信息;服务器查询模块,配置成:根据配置文件查询与目标域名对应的IP地址对应的应用服务器;以及状态检测模块,配置成:对应用服务器进行运行状态检测,以确定网络服务的状态。
可选地,地址确定模块还配置成:识别目标域名是否已被解析;若是,则通过域名查询指令获取目标域名对应的IP地址;若否,查询预置的监控主机列表以获取目标域名对应的IP地址,或者对目标域名进行域名解析以获取目标域名对应的IP地址。
可选地,服务器查询模块包括:属性查询子模块,配置成在配置文件中查询目标域名对应的IP地址的属性;以及服务器确定子模块,配置成根据目标域名对应的IP地址的属性确定应用服务器。
可选地,目标域名对应的IP地址的属性包括虚拟IP地址和内容分发网络IP;服务器确定子模块还配置成:在目标域名对应的IP地址为虚拟IP地址的情况下,获取虚拟IP地址预先配置的至少一个实际服务器,作为应用服务器;以及在目标域名对应的IP地址为内容分发网络IP的情况下,获取内容分发网络IP的回源服务器,作为应用服务器。
可选地,状态检测模块包括:脚本运行子模块,配置成运行预置的命令行脚本,向应用服务器发送检测指令;响应接收子模块,配置成接收应用服务器响应于检测指令的返回信息;以及状态确定子模块,配置成根据返回信息确定应用服务器的运行状态。
可选地,脚本运行子模块还配置成:利用多个代理服务器分别向应用服务器发送检测指令,并且多个代理服务器属于多个不同互联网信息数据中心。
可选地,上述检测网络服务状态的装置还包括:报告生成模块,配置成根据应用服务器的运行状态生成网络服务状态报告。
可选地,报告生成模块还配置成:获取预先设置的状态报告配置项;提取应用服务器的运行状态中状态报告配置项对应的内容;以及根据提取出的内容生成网络服务状态报告,并且状态报告配置项包括以下任意一项或多项内容:机器名、响应时间、故障类型、故障代码、报告输出形式、以及已宕机的服务器是否提醒。
本发明的检测网络服务状态的方法和装置,根据配置文件确定与待检测的目标域名对应的IP地址实际对应的应用服务器,直接确定出提供网络服务的服务器,通过对这些应用服务器进行运行状态检测,确定出网络服务的状态。利用本发明的方法和装置,可以及时确定提供网络服务的服务器的状态,便于及时发现出现故障或异常的服务器,大大提高了网络服务提供的可靠性。
进一步地,本发明的检测网络服务状态的方法和装置,可以根据目标域名对应的IP地址的属性来确定对应的应用服务器,满足了不同服务器集群的架构进行状态检测的要求。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
根据下文结合附图对本发明具体实施例的详细描述,本领域技术人员将会更加明了本发明的上述以及其他目的、优点和特征。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1是根据本发明一个实施例的检测网络服务状态的装置的示意图;
图2是根据本发明另一实施例的检测网络服务状态的装置的示意图;
图3是根据本发明一个实施例的检测网络服务状态的方法的示意图;以及
图4是根据本发明一个实施例的检测网络服务状态的方法的执行流程图。
具体实施方式
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
图1是根据本发明一个实施例的检测网络服务状态的装置100的示意图,该检测网络服务状态的装置100一般性地可以包括:域名获取模块110、地址确定模块120、配置获取模块130、服务器查询模块140、状态监测模块150。
域名获取模块110可以配置成:获取待检测的用于提供网络服务的目标域名。一般而言,提供网络服务的多个服务器均以同一域名接收用户的服务请求,也就是服务器集群共享同一域名以及使用同一IP地址向外进行数据传输。
地址确定模块120配置成确定目标域名对应的IP地址。地址确定模块120一种可选的确定流程为:识别目标域名是否已被解析,如果已被解析,可以通过域名查询指令(nameserver lookup,简称Nslookup)获取所述目标域名对应的IP地址,如果目标域名未被解析,则查询预置的监控主机列表以获取目标域名对应的IP地址,或者对目标域名进行域名解析以获取目标域名对应的IP地址。
配置获取模块130可以配置成:获取网络服务的负载均衡系统(LVS)预置的配置文件。配置文件一般预先记录有负载均衡系统中提供业务服务的IP地址对应的服务器信息。LVS服务器集群采用IP负载均衡技术和基于内容请求分发技术,将请求均衡地转移到不同的服务器上执行,因此LVS的配置文件中动态保存有提供网络服务的所有的应用服务器的信息。该配置文件可以用于确定出与目标域名对应的IP地址对应的应用服务器。
状态监测模块150可以对应用服务器进行运行状态检测,以确定网络服务的状态。状态监测模块150可以通过运行检测脚本,向对应的应用服务器发送检测指令,从而根据应用服务器的响应确定网络服务的状态。
利用本实施例的本发明的检测网络服务状态的装置100,根据配置文件确定待检测的目标域名对应的IP地址实际对应的应用服务器,直接确定出提供网络服务的服务器,通过对这些应用服务器进行运行状态检测,确定出网络服务的状态。利用本实施例的装置,可以及时确定提供网络服务的服务器的状态,便于及时发现出现故障或异常的服务器,大大提高了网络服务提供的可靠性。
图2是根据本发明另一实施例的检测网络服务状态的装置100的示意图。该实施例的检测网络服务状态的装置100在上一实施例的基础上,可以灵活增加设置:报告生成模块160。服务器查询模块140可以包括属性查询子模块142和服务器确定子模块144,状态监测模块150以包括脚本运行子模块152、响应接收子模块154、以及状态确定子模块156。本实施例的检测网络服务状态的装置100的上述子模块,可以根据实际应用情况灵活配置。
在服务器查询模块140中,属性查询子模块142可配置成在所述配置文件中查询所述目标域名对应的IP地址的属性。服务器确定子模块144可以配置成根据目标域名对应的IP地址的属性确定应用服务器。例如目标域名对应的IP地址的属性可以包括虚拟IP地址(VIP,virtual IP)和内容分发网络IP(Content Delivery Network IP,CDN IP)。对于虚拟IP地址,服务器确定子模块144可以获取虚拟IP地址预先配置的至少一个实际服务器(realserver,简称rs),作为应用服务器。对于内容分发网络IP的情况下,获取内容分发网络IP的回源服务器,作为应用服务器。
利用本实施例的检测网络服务状态的装置100中的服务器查询模块140,可以有效满足不同提供网络服务的服务器的检测要求。
在状态监测模块150中,脚本运行子模块152可以配置成运行预置的命令行脚本,向应用服务器发送检测指令。响应接收子模块154可以配置成接收应用服务器响应于检测指令的返回信息。状态确定子模块156可以配置成根据返回信息确定应用服务器的运行状态。脚本运行子模块152可以利用命令行脚本向应用服务器的对应接口发送检测指令。该检测指令可以根据网络服务的类型和内容进行配置,以供应用服务器进行响应。检测指令优选可以选择使应用服务器的响应信息能够反映检测项目的指令,例如可以测试响应时间、内容提供状态的指令。
为了避免本实施例的检测网络服务状态的装置100发送检测指令的网络通道出现问题造成故障误报,脚本运行子模块152可以利用多个代理服务器分别向应用服务器发送检测指令,并且多个代理服务器属于多个不同互联网信息数据中心(Internet DataCenter,简称IDC)。代理服务器可以实时探测至各个应用服务器的网络是否通畅(可以采用ping或其他网络工具进行探测),确保不会因不同IDC之间的网络问题造成网络服务故障的误报。
报告生成模块160可以根据应用服务器的运行状态生成网络服务状态报告。该网络服务状态报告可以通过短信、邮件、客户端提醒信息等方式向网络管理人员进行报告。
另外网络服务状态报告的内容进行定制。在此情况下,报告生成模块160的执行流程可以为:获取预先设置的状态报告配置项;提取应用服务器的运行状态中所述状态报告配置项对应的内容;以及根据提取出的内容生成网络服务状态报告。上述的状态报告配置项可以额包括以下任意一项或多项内容:机器名、响应时间、故障类型、故障代码、报告输出形式、以及已宕机的服务器是否提醒。管理运维人员可以根据网络服务状态报告及时了解网络服务器的运行状态,并在故障时及时采取措施。
本发明实施例还提供了一种检测网络服务状态的方法。该检测网络服务状态的方法可以有以上任一种实施例的检测网络服务状态的装置100来执行,以对网络服务的状态进行检测。图3是根据本发明一个实施例的检测网络服务状态的方法的示意图,该检测网络服务状态的方法包括:
步骤S302,获取待检测的用于提供网络服务的目标域名,并确定目标域名对应的IP地址;
步骤S304,获取网络服务的负载均衡系统预置的配置文件;
步骤S306,根据配置文件查询与目标域名对应的IP地址对应的应用服务器;
步骤S308,对应用服务器进行运行状态检测,以确定网络服务的状态。
由于提供网络服务的多个服务器均以同一域名接收用户的服务请求,也就是服务器集群共享同一域名以及同一IP地址。因此步骤S302确定目标域名对应的IP地址的一种可选流程为:识别目标域名是否已被解析,如果已被解析,可以通过Nslookup等域名查询指令获取所述目标域名对应的IP地址,如果目标域名未被解析,则查询预置的监控主机列表以获取目标域名对应的IP地址,或者对目标域名进行域名解析以获取目标域名对应的IP地址。
步骤S304中使用的配置文件中记录有负载均衡系统中提供网络服务的IP地址对应的服务器信息。LVS服务器集群采用IP负载均衡技术和基于内容请求分发技术,将请求均衡地转移到不同的应用服务器上执行,因此LVS的配置文件中动态保存有提供网络服务的所有的应用服务器的信息。该配置文件可以用于确定出与目标域名对应的IP地址对应的应用服务器。
由于不同类型的IP地址对应的应用服务器不同,例如目标域名对应的IP地址包括虚拟IP地址和内容分发网络IP。在目标域名对应的IP地址为虚拟IP地址的情况下,步骤S306可以获取虚拟IP地址预先配置的至少一个实际服务器,作为应用服务器。在目标域名对应的IP地址为内容分发网络IP的情况下,步骤S306可以获取内容分发网络IP的回源服务器,作为应用服务器。
虚拟网络服务通过网络地址转换(Network Address Translation)将一组服务器构成一个高性能的、高可用的虚拟服务器。该虚拟服务器面向用户请求具有唯一的VIP,LVS将VIP接收到的用户请求根据请求的内容选择rs,以便rs执行该请求,并提供相应的网络服务,然后通过该VIP返回用户。
CDN基于IP网络而构建,基于内容访问与应用的效率要求、质量要求和内容秩序而提供内容的分发和服务。CDN利用回源服务器,也称作代理缓存接收用户请求并将缓存内容发送给用户,缓存服务器是内容提供商源服务器的一个透明镜像,回源服务器以预定策略从内容提供商源服务器处获取内容进行缓存,在接收到请求后,从缓存中提取内容并提供相应服务器,因此CDN实际提供网络服务的服务器为回源服务器。
本实施例的检测网络服务状态的方法,可以满足对VIP、CDN等不同服务器集群架构的检测要求,便于及时发现出现故障或异常的服务器,大大提高了网络服务提供的可靠性。
步骤S308可以利用命令行脚本来进行检测,例如步骤S308的一种可选执行流程为:运行预置的命令行脚本,向应用服务器发送检测指令;接收应用服务器响应于检测指令的返回信息;以及根据返回信息确定应用服务器的运行状态。检测指令可以根据网络服务的类型和内容进行配置,以供应用服务器进行响应。检测指令优选可以选择使应用服务器的响应信息能够反映检测项目的指令,例如可以测试响应时间、内容提供状态的指令。
为了避免本实施例的检测网络服务状态的装置发送检测指令的网络通道出现问题,造成故障误报。向应用服务器发送检测指令可以利用多个代理服务器分别向应用服务器发送检测指令。优选地,多个代理服务器属于多个不同IDC。避免由于不同IDC之间的网络互连出现中断,导致故障误报。
在步骤S308之后,还可以进一步根据应用服务器的运行状态生成网络服务状态报告。该网络服务状态报告可以通过短信、邮件、客户端提醒信息等方式向网络管理人员报告。另外网络服务状态报告的报告内容进行定制。在此情况下,生成网络服务状态报告的一种可选流程为:获取预先设置的状态报告配置项;提取应用服务器的运行状态中状态报告配置项对应的内容;以及根据提取出的内容生成网络服务状态报告。
状态报告配置项包括以下任意一项或多项内容:机器名、响应时间、故障类型、故障代码、报告输出形式、以及已宕机的服务器是否提醒。其中,机器名是指被检测的应用服务器在网络中的机器名称。响应时间体现了应用服务器提供网络服务的响应速度,如果响应时间过长可认为该应用服务器的提供网络服务的状态出现异常。故障类型体现了应用服务器出现网络服务提供异常的原因,利用故障类型可以快速确定故障原因,以便采取相应措施。故障代码是上述故障类型的代码。报告输出形式可以被灵活选择,例如短信的输入内容少但实时性好,而邮件可以详细地输出各种内容但实时性差于短信提示。已宕机的服务器是否提醒是另一可选项,由于已宕机的服务器已经退出运行,如果进行提示会占据报告的大量内容,因此网络服务状态报告是否输出已宕机的服务器的信息可以预先配置。
利用上述网络服务状态报告可以实现定制化的状态报告,便于后台人员了解网络服务的实际状态并及时采取措施。
在实际使用中,本实施例的检测网络服务状态的方法可以结合对服务器的基础监控共同实现网络服务的检测。服务器的基础监控可以包括对服务器硬件状态的检测,例如内存占用率、磁盘使用量、运行进程的监控。通过该基础监控,可以确定服务器是否已经宕机。对于已经宕机的服务器,可以根据需要设置是否在网络服务状态报告进行提醒。本实施例的检测网络服务状态的方法可以进一步对应用服务器的业务执行情况进行检测。
图4是根据本发明一个实施例的检测网络服务状态的方法的流程图。该实施例的检测网络服务状态的方法的一种可选执行流程为:
步骤S402,初始步骤。
步骤S402可以首先以预设策略获取LVS的配置文件,该预设策略可以包括:定时启动、触发启动、手动启动等策略。然后获取LVS配置文件中给所有VIP及VIP对应的所有rs,由LVS根据各个VIP的预置的健康检测方式检测rs是否运行正常(根据内存、磁盘、CPU的运行状态确定是否正常),若rs状态出现变化,则调用系统接口通知LVS。
步骤S404,解析步骤。
步骤S404可以首先获取需要检测的目标域名,该目标域名可以通过获取使用者的输入得到或者为预置的域名,如果目标域名未进行解析,需要用户填写需要检测的主机列表;如果域名已解析,将通过Nslookup获取解析ip;然后查看目标域名的IP属性,若IP属性为CDN的IP,则获取该IP地址对应的回源服务器,若IP属性为VIP,则根据VIP获取对应的rs;然后根据所维护的IP信息表,确定GAI IP的hostname(主机名),从而确定该IP所述的IDC。
步骤S406,多点检测步骤。
多点检测可以采取两种模式,即在多个机房部署检测点或者在一个机房部署检测点,但使用布置于多个机房的代理服务器来进行检测。由于第二种模式的成本低,且效果与第一种差异不大,因此优选使用代理服务器的方式进行检测。
由于代理服务器的分布主要与检测目标服务器所属的IDC分布有关,因此可以根据服务器的拓扑结构选取关键节点机房的服务器作为代理服务器。
在进行检测时,各个代理服务器以及检测点可以实时探测到各个目标应用服务器所在机房的网络是否通畅(可通过ping或者其他网络探测工具进行),然后代理服务器实时将探测结果传至检测点,检测点根据汇总结果可以得到目标应用服务器所在机房的网络是否正常,如果出现网络不通的情况可以进行报警并根据需要添加新的代理服务器或者进行网络修复。
在确定所有网络通畅的情况下,运行检测脚本,对目标应用服务器的网络服务业务进行检测。
步骤S408,状态报告步骤。
根据预先配置的报告内容项,生成网络服务运行状态报告,并以预设的方式进行输出。
本实施例的检测网络服务状态的方法和装置,根据配置文件确定待检测的目标域名对应的IP地址实际对应的应用服务器,直接确定出提供网络服务的服务器,通过对这些进行应用服务器运行状态检测,确定出网络服务的状态。利用本发明的方法和装置,可以及时检测出提供网络服务的服务器的状态,便于及时发现出现故障或异常的服务器,大大提高了网络服务提供的可靠性,而且由于可以根据目标域名对应的IP地址的属性来确定对应的应用服务器,满足了不同服务器集群的架构进行状态检测的要求。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的检测网络服务状态的装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
至此,本领域技术人员应认识到,虽然本文已详尽示出和描述了本发明的多个示例性实施例,但是,在不脱离本发明精神和范围的情况下,仍可根据本发明公开的内容直接确定或推导出符合本发明原理的许多其他变型或修改。因此,本发明的范围应被理解和认定为覆盖了所有这些其他变型或修改。
本发明实施例还提供了A1.一种检测网络服务状态的方法,包括:
获取待检测的用于提供所述网络服务的目标域名,并确定所述目标域名对应的IP地址;
获取所述网络服务的负载均衡系统预置的配置文件,所述配置文件中记录有所述负载均衡系统中提供所述网络服务的IP地址对应的服务器信息;
根据所述配置文件查询与所述目标域名对应的IP地址对应的应用服务器;以及
对所述应用服务器进行运行状态检测,以确定所述网络服务的状态。
A2.根据A1所述的方法,其中,所述确定所述目标域名对应的IP地址的步骤包括:
识别所述目标域名是否已被解析;
若是,则通过域名查询指令获取所述目标域名对应的的IP地址;
若否,查询预置的监控主机列表以获取所述目标域名对应的IP地址,或者对所述目标域名进行域名解析以获取所述目标域名对应的IP地址。
A3.根据A1所述的方法,其中,所述根据所述配置文件查询与所述目标域名对应的IP地址对应的应用服务器的步骤包括:
在所述配置文件中查询所述目标域名对应的IP地址的属性;以及
根据所述目标域名对应的IP地址的属性确定所述应用服务器。
A4.根据A3所述的方法,其中,
所述目标域名对应的IP地址包括虚拟IP地址和内容分发网络IP;
所述根据所述目标域名对应的IP地址的属性确定所述应用服务器的步骤包括:
在所述目标域名对应的IP地址为虚拟IP地址的情况下,获取所述虚拟IP地址预先配置的至少一个实际服务器,作为所述应用服务器;以及
在所述目标域名对应的IP地址为内容分发网络IP的情况下,获取所述内容分发网络IP的回源服务器,作为所述应用服务器。
A5.根据A1所述的方法,其中,所述对所述应用服务器进行运行状态检测的步骤包括:
运行预置的命令行脚本,向所述应用服务器发送检测指令;
接收所述应用服务器响应于所述检测指令的返回信息;以及
根据所述返回信息确定所述应用服务器的运行状态。
A6.根据A5所述的方法,其中,所述向所述应用服务器发送检测指令的步骤包括:
利用多个代理服务器分别向所述应用服务器发送检测指令,并且所述多个代理服务器属于多个不同互联网信息数据中心。
A7.根据A1至A6中任一项所述的方法,其中,在对所述应用服务器进行运行状态检测的步骤之后还包括:
根据所述应用服务器的运行状态生成网络服务状态报告。
A8.根据A7所述的方法,其中,所述根据所述应用服务器的运行状态生成网络服务状态报告的步骤包括:
获取预先设置的状态报告配置项;
提取所述应用服务器的运行状态中所述状态报告配置项对应的内容;以及
根据提取出的内容生成网络服务状态报告。
A9.根据A8所述的方法,其中,所述状态报告配置项包括以下任意一项或多项内容:
机器名、响应时间、故障类型、故障代码、报告输出形式、以及已宕机的服务器是否提醒。
本发明实施例还提供了B10.一种检测网络服务状态的装置,包括:
域名获取模块,配置成:获取待检测的用于提供所述网络服务的目标域名;
地址确定模块,配置成:确定所述目标域名对应的IP地址;
配置获取模块,配置成:获取所述网络服务的负载均衡系统预置的配置文件,所述配置文件中记录有所述负载均衡系统中提供业务服务的IP地址对应的服务器信息;
服务器查询模块,配置成:根据所述配置文件查询与所述目标域名对应的IP地址对应的应用服务器;以及
状态检测模块,配置成:对所述应用服务器进行运行状态检测,以确定所述网络服务的状态。
B11.根据B10所述的装置,其中所述地址确定模块还配置成:
识别所述目标域名是否已被解析;
若是,则通过域名查询指令获取所述目标域名对应的IP地址;
若否,查询预置的监控主机列表以获取所述目标域名对应的IP地址,或者对所述目标域名进行域名解析以获取所述目标域名对应的IP地址。
B12.根据B10所述的装置,其中所述服务器查询模块包括:
属性查询子模块,配置成在所述配置文件中查询所述目标域名对应的IP地址的属性;以及
服务器确定子模块,配置成根据所述目标域名对应的IP地址的属性确定所述应用服务器。
B13.根据B12所述的装置,其中,
所述目标域名对应的IP地址的属性包括虚拟IP地址和内容分发网络IP;
所述服务器确定子模块还配置成:
在所述目标域名对应的IP地址为虚拟IP地址的情况下,获取所述虚拟IP地址预先配置的至少一个实际服务器,作为所述应用服务器;以及
在所述目标域名对应的IP地址为内容分发网络IP的情况下,获取所述内容分发网络IP的回源服务器,作为所述应用服务器。
B14.根据B13所述的装置,其中所述状态检测模块包括:
脚本运行子模块,配置成运行预置的命令行脚本,向所述应用服务器发送检测指令;
响应接收子模块,配置成接收所述应用服务器响应于所述检测指令的返回信息;以及
状态确定子模块,配置成根据所述返回信息确定所述应用服务器的运行状态。
B15.根据B14所述的装置,其中所述脚本运行子模块还配置成:
利用多个代理服务器分别向所述应用服务器发送检测指令,并且所述多个代理服务器属于多个不同互联网信息数据中心。
B16.根据B10至B15中任一项所述的装置,还包括:
报告生成模块,配置成根据所述应用服务器的运行状态生成网络服务状态报告。
B17.根据B16所述的装置,其中,所述报告生成模块还配置成:
获取预先设置的状态报告配置项;
提取所述应用服务器的运行状态中所述状态报告配置项对应的内容;以及
根据提取出的内容生成网络服务状态报告,并且
所述状态报告配置项包括以下任意一项或多项内容:机器名、响应时间、故障类型、故障代码、报告输出形式、以及已宕机的服务器是否提醒。