本申请涉及计算机技术领域,特别涉及一种web系统的可用性检测方法、装置及系统。
背景技术:
信息化时代,web系统的响应速度直接影响到公众观感。用户访问web系统时,如果加载时间超过一定时长就会感到不耐烦,而如果加载时间更长的话,用户往往就会放弃访问。
目前,web系统的可用性检测方案直接向web系统本身的url发起访问,该方案仅仅测试web系统自身,客观性不够。因此,如何提升web系统可用性检测方案的客观性和可靠性,是亟待本领域技术人员解决的问题。
技术实现要素:
本申请的目的是提供一种web系统的可用性检测方法、装置及系统,用以解决当前的web系统可用性检测方案仅对web系统自身进行检测,缺乏客观性和可靠性的问题。其具体方案如下:
第一方面,本申请提供了一种web系统的可用性检测方法,包括:
获取针对web系统的可用性检测任务的配置参数;
根据所述配置参数生成配置文件,并将所述配置文件发送至检测引擎;
利用所述检测引擎确定所述配置文件中的url、ip地址、dns服务器地址,并分别对所述url、所述ip地址、所述dns服务器地址发起访问请求,得到检测数据,其中所述检测数据包括dns解析状态、http响应码、url请求响应时间、ip请求响应时间;
在所述检测数据满足告警触发条件时,生成告警信息。
优选的,所述将所述配置文件发送至检测引擎,包括:
每隔预设时长或所述配置文件变更次数达到预设次数时,将所述配置文件发送至检测引擎,以同步配置文件。
优选的,所述在所述检测数据满足告警触发条件时,生成告警信息,包括:
判断所述检测数据是否满足服务正常条件,所述服务正常条件为:所述http响应码的码值在第一范围内且所述url请求响应时间在第二范围内;
若是,则确定所述web系统服务正常;
否则,判定所述检测数据满足告警触发条件,并生成告警信息。
优选的,在所述检测数据满足告警触发条件时,生成告警信息,包括:
判断所述检测数据是否满足服务异常条件或故障条件;所述服务异常条件为:所述http响应码的码值在所述第一范围内、所述url请求响应时间不在所述第一范围内且所述ip请求响应时间在所述第一范围,或者,所述http响应码的码值在第三范围内;所述故障条件为:所述http响应码的码值在第四范围内,或者,未接收到http响应码,或者,dns解析状态为失败;
若是,则判定所述检测数据满足告警触发条件,并生成告警信息。
优选的,所述在所述检测数据满足告警触发条件时,生成告警信息,包括:
若多次访问请求的所述检测数据中,满足告警触发条件的检测数据的比例达到预设比例,则生成告警信息。
优选的,所述在所述检测数据满足告警触发条件时,生成告警信息,包括:
根据所述检测数据生成告警参数,利用告警模块根据所述告警参数生成相应的告警信息。
优选的,所述检测数据还包括网页标题,所述在所述检测数据满足告警触发条件时,生成告警信息,包括:
判断多次访问请求的所述检测数据中的网页标题是否相同;
若不同,则判定所述检测数据满足告警触发条件,并生成告警信息。
第二方面,本申请提供了一种web系统的可用性检测装置,包括:
配置模块:用于获取针对web系统的可用性检测任务的配置参数;
文件发送模块:用于根据所述配置参数生成配置文件,并将所述配置文件发送至检测引擎;
检测模块:用于利用所述检测引擎确定所述配置文件中的url、ip地址、dns服务器地址,并分别对所述url、所述ip地址、所述dns服务器地址发起访问请求,得到检测数据,其中所述检测数据包括dns解析状态、http响应码、url请求响应时间、ip请求响应时间;
告警模块:用于在所述检测数据满足告警触发条件时,生成告警信息。
第三方面,本申请提供了一种web系统的可用性检测系统,包括:管理中心、中心机、检测引擎、数据分析设备、告警器;
其中,所述管理中心用于获取针对web系统的可用性检测任务的配置参数;
所述中心机用于根据所述配置参数生成配置文件,并将所述配置文件发送至所述检测引擎;
所述检测引擎用于确定所述配置文件中的url、ip地址、dns服务器地址,并分别对所述url、所述ip地址、所述dns服务器地址发起访问请求,得到检测数据,其中所述检测数据包括dns解析状态、http响应码、url请求响应时间、ip请求响应时间;
所述数据分析设备用于判断所述检测数据是否满足告警触发条件;
所述告警器用于在所述检测数据满足告警触发条件时,生成告警信息。
本申请所提供的一种web系统的可用性检测方法,包括:获取针对web系统的可用性检测任务的配置参数;根据配置参数生成配置文件,并将配置文件发送至检测引擎;利用检测引擎确定配置文件中的url、ip地址、dns服务器地址,并分别对url、ip地址、dns服务器地址发起访问请求,得到检测数据,其中检测数据包括dns解析状态、http响应码、url请求响应时间、ip请求响应时间;在检测数据满足告警触发条件时,生成告警信息。
在互联网中,web系统的访问质量,受域名解析、网络、web服务器自身性能影响,而传统的可用性检测方案仅仅对web系统的url进行访问,本申请的方法在对web系统进行可用性检测的过程中,分别对web系统的url、ip地址、dns服务器地址进行访问,实现了分别从域名解析、网络连通性、web服务器自身等多个维度对web系统进行可用性检测的目的,因此保证了可用性检测的客观性,提升了可用性检测的可靠性。
此外,本申请还提供了一种web系统的可用性检测装置及系统,其技术效果与上述方法的技术效果相对应,这里不再赘述。
附图说明
为了更清楚的说明本申请实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请所提供的一种web系统的可用性检测方法实施例一的实现流程图;
图2为本申请所提供的一种web系统的可用性检测方法实施例二的实现流程图;
图3为本申请所提供的一种web系统的可用性检测装置实施例的功能框图;
图4为本申请所提供的一种web系统的可用性检测系统实施例的架构示意图。
具体实施方式
本申请的核心是提供一种web系统的可用性检测方法、装置及系统,实现了分别从域名解析、网络连通性、web服务器自身等多个维度对web系统进行可用性检测的目的,保证了可用性检测的客观性,提升了可用性检测的可靠性。
为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
下面对本申请提供的一种web系统的可用性检测方法实施例一进行介绍,参见图1,实施例一包括:
s101、获取针对web系统的可用性检测任务的配置参数;
web系统基于http协议实现,要检测web系统是否可用,目前的方案是对web系统的url进行访问,根据响应信息是否正常来判断该web系统是否可用。本实施例在检测web系统可用性的时候,不仅对web系统的url发起访问请求,还对web系统的ip地址、web系统的dns服务器地址发起访问请求,通过这种方式,实现从域名解析、网络连通性的维度对web系统进行可用性检测的目的,同时还可以完成对承载该web系统的服务器可用性检测。
本实施例中,在进行可用性检测之前,首先获取针对web系统的可用性检测任务的配置参数,该配置参数包括web系统的url、web系统的ip地址、web系统的dns服务器地址,此外还可以包括请求超时时长、告警参数等信息。优选的,上述dns服务器地址具体可以包括权威dns服务器地址和递归dns服务器地址。
作为一种具体的实施方式,在管理中心侧,根据用户操作,生成上述针对web系统的可用性检测任务的配置参数。
s102、根据所述配置参数生成配置文件,并将所述配置文件发送至检测引擎;
作为一种具体的实施方式,在中心机侧,将配置参数写入配置文件,并将配置文件发送至分布在各个地区的检测引擎。作为一种优选的实施方式,为了保证中心机和检测引擎上的配置文件同步,可以在中心机和检测引擎上设置同步模块,其中,中心机上的同步模块用于检测本地的配置文件与检测引擎上的配置文件是否同步,并在不同步时向检测引擎上的同步模块发送同步指令,以实现配置文件的同步。在此基础上,为了避免频繁同步,可以将同步的触发条件设置为:每隔预设时长,或者,配置文件变更次数达到预设次数。
s103、利用所述检测引擎确定所述配置文件中的url、ip地址、dns服务器地址,并分别对所述url、所述ip地址、所述dns服务器地址发起访问请求,得到检测数据;
本实施例中,上述检测数据包括dns解析状态、http响应码、url请求响应时间、ip请求响应时间。可以理解的是,上述信息之间存在相互约束关系,例如,当url请求正常响应时(url请求的响应时间小于阈值),dns解析状态为解析成功;url请求的响应时间大于ip请求的响应时间。此外,本实施例默认url请求的http响应码与ip请求的http响应码。
s104、在所述检测数据满足告警触发条件时,生成告警信息。
作为一种具体的方式,可以将web系统的状态分为三种,即服务正常、服务异常、故障,预先设置上述每种状态的判别条件,当检测数据满足服务异常或故障的判别条件时,则认为检测数据满足告警触发条件,并生成告警信息。
作为一种优选的实施方式,可以根据检测数据生成相应的告警参数,并利用告警模块根据告警参数发出相应的告警信息。通过这种方式,可以在告警信息中体现更多信息,例如体现web系统的状态是异常还是故障,从而为运维人员提供更多的信息。
此外,为保证可用性检测的可靠性,可以通过多次访问,得到多次访问请求的检测数据,分别判断每次访问请求的检测数据是否满足告警触发条件,当且仅当满足告警触发条件的检测数据与多次访问请求的检测数据之间的比例达到预设比例时,才生成告警信息。
本实施例所提供一种web系统的可用性检测方法,在对web系统进行可用性检测的过程中,分别对web系统的url、ip地址、dns服务器地址进行访问,实现了分别从域名解析、网络连通性、web服务器自身等多个维度对web系统进行可用性检测的目的,因此保证了可用性检测的客观性,提升了可用性检测的可靠性。
下面开始详细介绍本申请提供的一种web系统的可用性检测方法实施例二,实施例二基于前述实施例一实现,并在实施例一的基础上进行了一定程度上的拓展。
在介绍实施例二的实施流程之前,先对实施例二对应的系统组成进行说明:
建立管理中心,用于可用性检测任务的建立、发布、编辑和删除等工作状态;
建立中心机,用于根据管理中心发布的可用性检测任务的配置参数生成配置文件,并将配置文件下发至各检测引擎,特别的是,中心机和检测引擎上各自包含有一个同步模块,用于监控各检测引擎的配置文件是否与中心机同步;
分别在多个地区建立若干检测引擎,检测引擎上存在有http响应码获取模块、页面标题获取模块、dns解析状态获取模块及同步模块;
建立数据分析设备及告警设备。
参见图2,实施例二具体包括:
s201、管理中心获取针对web系统的可用性检测任务的配置参数;
具体的,管理中心基于用户添加的数据生成配置参数,配置参数包括:web系统的url、该url所属的ip地址、端口号、权威dns服务器地址、递归dns服务器地址、请求超时时长、告警参数。为保证用户的正常使用以及具有更高的参考价值,提取检测引擎本地网卡获取的递归dns服务器地址作为上述“递归dns服务器地址”选项的值。需要说明的是,url字段中拥有主机头判断,如主机头被判断为ip地址,则“权威dns服务器地址”选项的值为空。上述url请求超时时长默认为10秒。
当用户保存并提交配置参数后,管理中心将配置参数主动同步至中心机。
s202、中心机根据所述配置参数生成配置文件;
s203、中心机每隔预设时长或所述配置文件变更次数达到预设次数时,将所述配置文件发送至检测引擎,以同步配置文件;
中心机接收来自管理中心的配置参数,并将配置参数写入配置文件,为确保检测引擎数据与中心机的有效同步,中心机上包含有一个名为version的版本文件和同步模块。配置文件每发生一次变化,则版本文件更新一次,同步模块用于根据版本文件判断各检测引擎上的配置文件是否与中心机一致,如不一致则会向检测引擎下发同步指令。为避开因用户在管理中心在短时间内持续提交检测任务而导致的频繁同步场景,本实施例的中心机每隔预设时长或配置文件变更次数达到预设次数时,才执行一次同步操作。例如,每10分钟由中心机主动向检测引擎下发一次配置文件,或版本文件改动超过10次才会通知检测引擎向中心机主动同步配置文件。
s204、检测引擎对所述配置文件中的url、ip地址、dns服务器地址发起访问请求,得到检测数据;
检测引擎根据被同步的配置文件,建立可用性检测任务,模拟一般用户对需要进行可用性检测的web系统的url、ip地址、权威dns服务器地址发起访问,获取检测数据,并将检测数据发往数据分析设备,其中所述检测数据包括dns解析状态、http响应码、url请求响应时间、ip请求响应时间、网页标题。
s205、数据分析设备判断每次访问请求的检测数据是否满足服务正常条件、服务异常条件、故障条件;若检测数据满足服务正常条件,则确定所述web系统服务正常;若检测数据满足服务异常条件或故障条件,则跳转至s206;
s206、若多次访问请求的所述检测数据中,满足告警触发条件的检测数据的比例达到预设比例,则数据分析设备生成告警参数;
s207、告警设备根据告警参数生成告警信息。
可用性检测系统对web系统进行检测,web系统存在服务状态的概念,在实施例中,分为“服务正常”、“服务异常”或“故障”三个状态,当满足状态为“服务异常”或“故障”时,数据分析设备生成告警参数,发送至告警设备。本实施例预先设置了服务正常的判决条件、服务异常的判决条件、故障的判别条件,具体如下所示:
所述服务正常条件为:所述http响应码的码值在第一范围内且所述url请求响应时间在第二范围内;
所述服务异常条件为:所述http响应码的码值在所述第一范围内、所述url请求响应时间不在所述第一范围内且所述ip请求响应时间在所述第一范围,或者,所述http响应码的码值在第三范围内,或者,多次访问请求的所述检测数据中的网页标题不相同;
所述故障条件为:所述http响应码的码值在第四范围内,或者,未接收到http响应码,或者,dns解析状态为失败。
为方便理解,下面以实际应用场景中的具体条件设置情况为例,对本实施例的服务正常条件、服务异常条件、故障条件做进一步说明:
(1)服务正常条件:检测引擎对url、ip地址、权威dns服务器进行模拟请求,请求url并能在10秒内获得400以下的http响应码、网页标题以及dns解析结果。需要说明的是,当url的主机头为ip地址时,忽略权威dns服务器的响应结果。
(2)服务异常条件:检测引擎对url、ip地址、权威dns服务器进行模拟请求,需要满足下列条件之一:
①请求url需耗时10秒以上获得400以下的http响应码,但请求ip地址在10秒内请求到http响应码;
②请求url获取到400以上500以下的http响应码;
(3)故障条件:检测引擎对url、ip地址、权威dns服务器进行模拟请求,需要满足下列条件之一:
①请求url获取到500以上响应码;
②请求url及ip地址出现“请求超时(connectiontimedout)”、“请求被拒绝(connectionrefused)”、“请求被重置(connectionresetbypeer)”、“网络不通(noroutetohost)”等响应;
③当请求url的主机头为域名时,无法通过域名权威dns或递归dns获取域名解析结果。
作为一种具体的实施方式,以5分钟作为一个时间周期重复执行s204和s205,得到多次访问请求的检测数据和检测数据的服务状态判别结果。如果同时存在“服务正常”、“服务异常”两种服务状态判别结果,且“服务异常”的比例大于等于50%,则这个周期内web系统在该检测引擎上的状态视为“服务异常”;如果“异常”的比例大于等于50%,则这个周期内web系统在该检测引擎上的状态视为“故障”。
可见,本实施例提供的一种web系统的可用性检测方法,基于权威dns侧和递归dns侧的域名解析探测、url的探测和ip地址http探测等多个维度模拟请求,可有效降低现有可用性检测只满足其中个别维度的情况下产生的误报情况,提高准确性。最终实现从多个维度对web系统进行可用性检测的目的,提高了可用性检测的客观性和可靠性。
下面对本申请实施例提供的一种web系统的可用性检测装置进行介绍,下文描述的一种web系统的可用性检测装置与上文描述的一种web系统的可用性检测方法可相互对应参照。
如图3所示,本实施例的装置包括:
配置模块301:用于获取针对web系统的可用性检测任务的配置参数;
文件发送模块302:用于根据所述配置参数生成配置文件,并将所述配置文件发送至检测引擎;
检测模块303:用于利用所述检测引擎确定所述配置文件中的url、ip地址、dns服务器地址,并分别对所述url、所述ip地址、所述dns服务器地址发起访问请求,得到检测数据,其中所述检测数据包括dns解析状态、http响应码、url请求响应时间、ip请求响应时间;
告警模块304:用于在所述检测数据满足告警触发条件时,生成告警信息。
本实施例的web系统的可用性检测装置用于实现前述的web系统的可用性检测方法,因此该装置中的具体实施方式可见前文中的web系统的可用性检测方法的实施例部分,例如,配置模块301、文件发送模块302、检测模块303、告警模块304,分别用于实现上述web系统的可用性检测方法中步骤s101,s102,s103,s104。所以,其具体实施方式可以参照相应的各个部分实施例的描述,在此不再展开介绍。
另外,由于本实施例的web系统的可用性检测装置用于实现前述的web系统的可用性检测方法,因此其作用与上述方法的作用相对应,这里不再赘述。
此外,本申请还提供了一种web系统的可用性检测系统,如图4所示,包括:管理中心、中心机、检测引擎、数据分析设备、告警器。
该系统的搭建过程包括:
建立管理中心,用于可用性检测任务的建立、发布、编辑和删除等工作状态;
建立中心机,用于根据管理中心发布的可用性检测任务的配置参数生成配置文件,并将配置文件下发至各检测引擎,特别的是,中心机和检测引擎上各自包含有一个同步模块,用于监控各检测引擎的配置文件是否与中心机同步;
分别在多个地区建立若干检测引擎,检测引擎上存在有http响应码获取模块、页面标题获取模块、dns解析状态获取模块及同步模块;
建立数据分析设备及告警设备。
在实际的可用性检测过程中,本实施例的web系统的可用性检测系统中各个组成的作用如下:所述管理中心用于获取针对web系统的可用性检测任务的配置参数;所述中心机用于根据所述配置参数生成配置文件,并将所述配置文件发送至所述检测引擎;所述检测引擎用于确定所述配置文件中的url、ip地址、dns服务器地址,并分别对所述url、所述ip地址、所述dns服务器地址发起访问请求,得到检测数据,其中所述检测数据包括dns解析状态、http响应码、url请求响应时间、ip请求响应时间;所述数据分析设备用于判断所述检测数据是否满足告警触发条件;所述告警器用于在所述检测数据满足告警触发条件时,生成告警信息。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。
以上对本申请所提供的方案进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。