一种基于接口测试工具的业务监控方法及装置与流程

文档序号:11215554阅读:801来源:国知局
一种基于接口测试工具的业务监控方法及装置与流程

本发明涉及业务监控技术领域,尤其是涉及一种基于接口测试工具的业务监控方法及装置。



背景技术:

对具体的业务对应的服务器进行监控对保障该业务的正常运行具有重要意义,尤其地,由于以tcp(传输控制协议)通信的私有协议类的服务使用的是私有协议,不具有通用性,因而对其进行业务监控较为困难。目前主要通过以下三种方法对私有协议的业务进行监控。第一种是对部署了私有协议服务的硬件服务器的硬件资源和服务器状态等进行监控,来保证服务器硬件及系统资源过载时的及时响应。例如,监控的监控对象有cpu使用量、系统负载、内存使用量、磁盘空间、io、网络流量和带宽等。然而,对硬件和服务器资源的监控仅适用于及时得知服务器的硬件和系统运行状态的过载情况,定位过载时的问题所在。虽然硬件资源和系统运行状态出现异常时业务服务一定存在问题,但反过来则成立,所以这种方式不能作为业务监控的替代方式,只能作为业务监控的补充方式。第二种是根据用户反馈得知服务器的可用性,然而由于服务运行过程中出现的潜在的隐患、短期的不可用、集群环境下某个服务器的故障等情况用户无法感知,只有当服务的业务影响了用户的正常使用时,且用户没有替代方案时,才有可能反馈。第三种是使用真实客户端,利用自动化工具使其自动进行业务操作来达到监控服务器业务的效果。然而真实客户端运行时会自动触发许多协议或功能,因而单次运行时间过长,达不到频繁监控的效果,且真实客户端占用资源较多,多数情况下同一电脑同一时间只能运行一个客户端。因而真实客户端产生的结果很难通过工具自动解析和统计。

在实现本发明实施例的过程中,发明人发现现有的通过服务器的状态参数或者通过终端对服务器上的业务进行监控的方法,无法及时全面的反应服务器的问题,且终端在监控的过程中,耗费资源多,监控结果不易解析。



技术实现要素:

本发明所要解决的技术问题是如何解决通过服务器的状态参数或者通过终端对服务器上的业务进行监控的方法,无法及时全面的反应服务器的问题,且终端在监控的过程中,耗费资源多,监控结果不易解析的问题。

针对以上技术问题,本发明的实施例提供了一种基于接口测试工具的业务监控方法,包括:

获取目标标识信息,判断对应于所述目标标识信息的目标服务器与监控服务器之间的网络是否连通;

若所述目标服务器与所述监控服务器之间的网络连通,运行所述监控服务器上的接口测试工具,对所述目标服务器中的目标业务进行测试,生成测试日志;

读取所述测试日志中的测试结果,将所述测试结果添加到监控日志中;

其中,所述监控日志为对所述目标服务器中的目标业务进行监控所生成的日志。

可选地,所述读取所述测试日志中的测试结果,将所述测试结果添加到监控日志中,包括:

读取所述测试日志中的所述测试结果,以及对所述测试结果进行描述的描述信息或者对所述测试结果进行分析的分析信息;

根据与所述监控日志匹配的第一格式,将所述测试结果、以及所述描述信息或分析信息添加至所述监控日志中;

删除所述测试日志。

可选地,所述读取所述测试日志中的所述测试结果,以及对所述测试结果进行描述的描述信息或者对所述测试结果进行分析的分析信息之前,还包括:

判断所述测试日志是否存在,若存在,读取所述测试结果,以及所述描述信息或所述分析信息;

若判断所述测试日志不存在,则根据所述第一格式,将所述测试日志不存在的第一监控信息添加至所述监控日志中。

可选地,所述判断所述测试日志是否存在,若存在,读取所述测试结果,以及所述描述信息或所述分析信息,包括:

判断所述测试日志是否存在,若存在,根据所述测试日志判断所述接口测试工具对所述目标服务器中的目标业务进行测试的进程是否结束;

若判断所述进程未结束,则判断所述接口测试工具对所述目标服务器中的目标业务进行测试所持续的时长是否超过预设时长,若是,则结束所述进程,读取所述测试结果,以及所述描述信息或所述分析信息,否则,待所述进程在所述预设时长内结束或者在所述时长达到所述预设时长时结束所述进程,或者读取所述测试结果,以及所述描述信息或所述分析信息;

若判断所述进程结束,读取所述测试结果,以及所述描述信息或所述分析信息。

可选地,所述获取目标标识信息,判断对应于所述目标标识信息的目标服务器与监控服务器之间的网络是否连通,还包括:

若判断所述目标服务器与所述监控服务器之间的网络不连通,则根据所述第一格式,将所述目标服务器与所述监控服务器之间的网络不连通的第二监控信息添加至所述监控日志中。

可选地,所述读取所述测试日志中的测试结果,将所述测试结果添加到监控日志中之后,还包括:

根据第二格式显示从所述监控日志中读取的所述测试结果、所述第一监控信息或者所述第二监控信息。

可选地,还包括:

若判断所述测试结果、所述第一监控信息或者所述第二监控信息与预设结果不相符,则发出报警信息。

可选地,所述读取所述测试日志中的测试结果,将所述测试结果添加到监控日志中,包括:

根据所述第一格式,将所述测试结果、所述第一监控信息或者所述第二监控信息追加到所述监控日志中,得到追加监控日志;

和/或,

删除所述监控日志中当前存储的内容,根据所述第一格式,将所述测试结果、所述第一监控信息或者所述第二监控信息追加到所述监控日志中,得到覆盖监控日志。

可选地,所述获取待监控的目标服务器的目标标识信息之前,还包括:

从对应于所述目标业务的至少一个服务器的标识信息中,循环获取未遍历的标识信息,作为所述目标标识信息,直到遍历所有所述标识信息。

可选地,所述标识信息中包括所述服务器所在的位置信息和/或所述服务器所属的机房名称。

第二方面,本发明的实施例提供了一种基于接口测试工具的业务监控装置,包括:

判断模块,用于获取目标标识信息,判断对应于所述目标标识信息的目标服务器与监控服务器之间的网络是否连通;

测试模块,用于若所述目标服务器与所述监控服务器之间的网络连通,运行所述监控服务器上的接口测试工具,对所述目标服务器中的目标业务进行测试,生成测试日志;

添加模块,用于读取所述测试日志中的测试结果,将所述测试结果添加到监控日志中;

其中,所述监控日志为对所述目标服务器中的目标业务进行监控所生成的日志。

可选地,所述添加模块还用于读取所述测试日志中的所述测试结果,以及对所述测试结果进行描述的描述信息或者对所述测试结果进行分析的分析信息;根据与所述监控日志匹配的第一格式,将所述测试结果、以及所述描述信息或分析信息添加至所述监控日志中;删除所述测试日志。

可选地,所述添加模块还用于在所述读取所述测试日志中的所述测试结果,以及对所述测试结果进行描述的描述信息或者对所述测试结果进行分析的分析信息之前,判断所述测试日志是否存在,若存在,读取所述测试结果,以及所述描述信息或所述分析信息;若判断所述测试日志不存在,则根据所述第一格式,将所述测试日志不存在的第一监控信息添加至所述监控日志中。

可选地,所述添加模块还用于判断所述测试日志是否存在,若存在,根据所述测试日志判断所述接口测试工具对所述目标服务器中的目标业务进行测试的进程是否结束;若判断所述进程未结束,则判断所述接口测试工具对所述目标服务器中的目标业务进行测试所持续的时长是否超过预设时长,若是,则结束所述进程,读取所述测试结果,以及所述描述信息或所述分析信息,否则,待所述进程在所述预设时长内结束或者在所述时长达到所述预设时长时结束所述进程,或者读取所述测试结果,以及所述描述信息或所述分析信息;若判断所述进程结束,读取所述测试结果,以及所述描述信息或所述分析信息。

可选地,所述判断模块还用于若判断所述目标服务器与所述监控服务器之间的网络不连通,则根据所述第一格式,将所述目标服务器与所述监控服务器之间的网络不连通的第二监控信息添加至所述监控日志中。

可选地,还包括显示模块,所述显示模块还用于根据第二格式显示从所述监控日志中读取的所述测试结果、所述第一监控信息或者所述第二监控信息。

可选地,所述显示模块还用于若判断所述测试结果、所述第一监控信息或者所述第二监控信息与预设结果不相符,则发出报警信息。

可选地,所述添加模块还用于根据所述第一格式,将所述测试结果、所述第一监控信息或者所述第二监控信息追加到所述监控日志中,得到追加监控日志;

和/或,

删除所述监控日志中当前存储的内容,根据所述第一格式,将所述测试结果、所述第一监控信息或者所述第二监控信息追加到所述监控日志中,得到覆盖监控日志。

可选地,还包括遍历模块,所述遍历模块还用于从对应于所述目标业务的至少一个服务器的标识信息中,循环获取未遍历的标识信息,作为所述目标标识信息,直到遍历所有所述标识信息。

可选地,所述标识信息中包括所述服务器所在的位置信息和/或所述服务器所属的机房名称。

第三方面,本发明的实施例提供了一种电子设备,包括:

至少一个处理器、至少一个存储器、通信接口和总线;其中,

所述处理器、存储器、通信接口通过所述总线完成相互间的通信;

所述通信接口用于该电子设备和其它服务器的通信设备之间的信息传输;

所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行以上所述的方法。

第四方面,本发明的实施例提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行以上所述的方法。

本发明的实施例提供了一种基于接口测试工具的业务监控方法及装置,该方法针对目标业务的某个需要进行监控的目标服务器,通过该目标服务器的目标标识信息,若判断该目标服务器和监控服务器之间的网络连通,则采用监控服务器上的接口测试工具对该目标服务器进行测试,生成测试日志,然后将测试日志中记载的测试结果添加到监控日志中。通过监控日志即可对该目标服务器中的目标业务是否存在异常进行监控。由于对应于该目标业务的接口测试工具能够模拟终端设备向目标服务器发送消息,且该接口测试工具在监控服务器上运行,能够在不占用额外的客户端的条件下,及时全面的反应服务器的问题。另一方面,通过监控日志记录目标服务器的运行状态,便于及时提取和解析服务器的运行状态。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明一个实施例提供的基于接口测试工具的业务监控方法的流程示意图;

图2是本发明另一个实施例提供的基于接口测试工具的业务监控方法的流程示意图;

图3是本发明另一个实施例提供的基于接口测试工具的业务监控装置的结构框图;

图4是本发明另一个实施例提供的电子设备的实体结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

图1是本实施例提供的数据管理的基于接口测试工具的业务监控方法的流程示意图,参见图1,该方法包括:

101:获取目标标识信息,判断对应于所述目标标识信息的目标服务器与监控服务器之间的网络是否连通;

102:若所述目标服务器与所述监控服务器之间的网络连通,则运行所述监控服务器上的接口测试工具,对所述目标服务器中的目标业务进行测试,生成测试日志;

103:读取所述测试日志中的测试结果,将所述测试结果添加到监控日志中;

其中,所述监控日志为对所述目标服务器中的目标业务进行监控所生成的日志。

需要说明的是,本实施例提供的方法由监控服务器执行。其中,当监控服务器与被监控的目标服务器之间的网络连通后,监控服务器通过接口测试工具向目标服务器发送测试指令,并根据接收到的目标服务器反馈的测试结果生成测试日志,测试日志记录对应于该测试指令的功能是否正常的测试结果,将该测试结果添加至监控日志,通过监控日志即可了解接口测试工具所测的功能是否正常。本实施例提供的方法可以对基于基本协议的业务对应的服务器进行监控,也可以针对私有协议的业务对应的服务器进行监控,只要提供的接口测试工具能够实现对相应的协议的业务进行检测即可,本实施例对此不做限制。

接口测试工具测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。例如,检查目标服务器上的微信业务登录过程是否正常时,接口测试工具向目标服务器的微信业务对应的接口发送正确的登录用户名和密码,若目标服务器反馈的检测结果为登录成功,则目标服务器上的微信业务登录过程正常,若目标服务器反馈的检测结果为登录失败,则目标服务器上的微信业务登录过程不正常。可理解的是,目标业务可以是微信业务、蓝信业务、或者qq业务等,本实施例对此不做限制。

可理解的是,针对某台目标服务器,上述监控方法可以周期性执行,实现对目标服务器上目标业务的实时监控。当然,上述监控方法还可以单次执行,实现对目标服务器上目标业务在特定时间点的监控。针对多台目标服务器,针对每一台目标服务器,均执行本实施例提供的监控方法,则可实现同时对多台服务器的实时监控。

需要说明的是,目标标识信息为预先存储的目标业务对应的服务器中待监控的服务器对应的标识信息。一般来说,目标业务对应的服务器有多台,为了对目标业务对应的每一台服务器进行监控,将每一台服务器对应的标识信息进行存储。在对目标业务对应的服务器进行监控的过程中,为了保证对每一台服务器均进行监控,则采用遍历的方法每次从这些标识信息中获取一个未被遍历到的标识信息作为目标标识信息,对该目标标识信息对应的目标服务器进行监控,当所有的标识信息均被遍历到,则说明对目标业务对应的每一服务器均进行了监控。在实际过程中,循环执行上述的遍历过程,便实现了对目标业务对应的服务器实时监控。

本发明的实施例提供了一种基于接口测试工具的业务监控方法,该方法针对目标业务的某个需要进行监控的目标服务器,通过该目标服务器的目标标识信息,若判断该目标服务器和监控服务器之间的网络连通,则采用监控服务器上的接口测试工具对该目标服务器进行测试,生成测试日志,然后将测试日志中记载的测试结果添加到监控日志中。通过监控日志即可对该目标服务器中的目标业务是否存在异常进行监控。由于对应于该目标业务的接口测试工具能够模拟终端设备向目标服务器发送消息,且该接口测试工具在监控服务器上运行,能够在不占用额外的客户端的条件下,及时全面的反应服务器的问题。另一方面,通过监控日志记录目标服务器的运行状态,便于及时提取和解析服务器的运行状态。

更进一步地,在上述实施例的基础上,所述读取所述测试日志中的测试结果,将所述测试结果添加到监控日志中,包括:

读取所述测试日志中的所述测试结果,以及对所述测试结果进行描述的描述信息或者对所述测试结果进行分析的分析信息;

根据与所述监控日志匹配的第一格式,将所述测试结果、以及所述描述信息或分析信息添加至所述监控日志中;

删除所述测试日志。

需要说明的是,不同的日志对应了不同的格式,例如,不同日志的编语言不同、布局不同等。在将测试日志中的测试结果添加至监控日志的过程中,并不是将测试日志的测试结果进行拷贝即可,而是根据监控日志对应的第一格式,将测试日志中关于测试结果的字符串转换为与第一格式匹配的字符串,并将转换后的测试结果添加至监控日志中。

一般,测试日志中针对每一测试结果均存在与其对应的描述信息或者分析信息。例如,对目标服务器上的微信业务的登录进行测试的测试结果中,若测试结果为登录成功,则在测试日志中会有关于该测试的测试内容的描述,则该描述即为描述信息,为了完善添加至监控日志中的信息的完整性,可以将测试结果,以及对应于测试结果的描述信息均添加至监控日志中。若测试结果为登录失败,则在测试日志中会有关于该测试的测试失败的原因分析,则该原因分析即为分析信息,为了完善添加至监控日志中的信息的完整性,可以将测试结果,以及对应于测试结果的分析信息均添加至监控日志中。

为了节省生成的测试日志占用的空间资源,可以在将测试日志中的测试结果,以及相应的描述信息或者分析信息添加至监控日志之后,将测试日志删除。

本实施例提供的基于接口测试工具的业务监控方法中,在根据测试日志生成监控日志的过程中,通过本实施例提供的方法提取测试日志中的内容,将其转换为第一格式下的内容,添加到监控日志中,保证了添加到监控日志中的信息的可读性和完整性。另一方面,及时删除测试日志的方法避免了测试日志节省了存储空间。

更进一步地,在上述各个实施例的基础上,所述读取所述测试日志中的所述测试结果,以及对所述测试结果进行描述的描述信息或者对所述测试结果进行分析的分析信息之前,还包括:

判断所述测试日志是否存在,若存在,读取所述测试结果,以及所述描述信息或所述分析信息;

若判断所述测试日志不存在,则根据所述第一格式,将所述测试日志不存在的第一监控信息添加至所述监控日志中。

根据上述实施例的记载,在将测试日志中的测试结果,以及相应的描述信息或者分析信息添加至监控日志之后,将测试日志删除。当再次读取测试日志中的内容时,可以先对测试日志是否存在进行判断(即判断当前时间点或者当前时间点之前的预设时间段内是否新生成了日志),若判断测试日志不存在,则将不存在测试日志的结果,作为第一监控信息添加到监控日志中。

可理解的是,在对目标服务器上的目标业务进行监控的过程中,根据接口测试工具完成一次检测进程需要的时间,周期性判断测试日志是否存在。例如,接口测试工具完成一次检测进程需要2s,则可以每隔2s判断是否存在测试日志,若不存在,将不存在测试日志的结果添加至监控日志,若存在,则将测试日志中记录的测试结果添加至监控日志中,并删除该测试日志。

本实施例提供的基于接口测试工具的业务监控方法中,在对测试日志的存在性进行判断的过程中,本实施例提供的方法考虑了接口测试工具生成测试日志过程中可能遇到的情况,从而添加了对测试日志存在性进行判断的步骤,细化了监控步骤,完善了监控过程。

更进一步地,在上述各个实施例的基础上,所述判断所述测试日志是否存在,若存在,读取所述测试结果,以及所述描述信息或所述分析信息,包括:

判断所述测试日志是否存在,若存在,根据所述测试日志判断所述接口测试工具对所述目标服务器中的目标业务进行测试的进程是否结束;

若判断所述进程未结束,则判断所述接口测试工具对所述目标服务器中的目标业务进行测试所持续的时长是否超过预设时长,若是,则结束所述进程,读取所述测试结果,以及所述描述信息或所述分析信息,否则,待所述进程在所述预设时长内结束或者在所述时长达到所述预设时长时结束所述进程,或者读取所述测试结果,以及所述描述信息或所述分析信息;

若判断所述进程结束,读取所述测试结果,以及所述描述信息或所述分析信息。

针对上述实施例中提到的检测到测试日志存在的情况中,若测试日志存在,则对接口测试工具中的测试进程是否结束进行判断,若进程结束,说明当前的测试日志为记录了接口测试工具所要测试的所有内容的日志,直接读取测试结果,将测试结果添加至监控日志即可。若进程未结束,则说明接口测试工具还未完成所有的测试内容,为了避免是由于接口测试工具本身的逻辑导致接口测试工具的过长时间运行,则可以根据预设时长强制终止接口测试工具的测试进程。

例如,预设时长为5s,当检测到接口测试工具的测试进程未结束时,根据当前生成的测试日志中对时间的记载,判断在本次测试过程中,接口测试工具进行测试所持续的时长是否超过5s,若是,直接结束该进程,将当前测试日志中的测试结果添加到监控日志中,删除当前测试日志,并控制接口测试工具进行下一次的测试。若接口测试工具进行测试所持续的时长没有超过5s,则待接口测试工具进行测试所持续的时长到达5s在结束接口测试工具进行测试的进程,并将生成得测试日志中的测试结果添加到监控日志中,或者,待接口测试工具进行测试所持续的时长在未到达5s之前自行结束,则在进程自行结束后直接读取测试日志即可。

本实施例提供了一种在测试日志的存在的情况下,对接口测试日志的测试进程是否结束进行判断的方法,通过该方法避免了由于接口测试工具自身逻辑错误对监控日志的生成产生的影响。

更进一步地,在上述各个实施例的基础上,所述获取目标标识信息,判断对应于所述目标标识信息的目标服务器与监控服务器之间的网络是否连通,还包括:

若判断所述目标服务器与所述监控服务器之间的网络不连通,则根据所述第一格式,将所述目标服务器与所述监控服务器之间的网络不连通的第二监控信息添加至所述监控日志中。

本实施例提供了一种在对应于目标服务器与监控服务器之间的网络不连通时,如何生成监控日志的方法。该方法将目标服务器与监控服务器之间网络连接情况作为监控的内容,提高了监控日志监控过程的完整性。

更进一步地,在上述各个实施例的基础上,所述读取所述测试日志中的测试结果,将所述测试结果添加到监控日志中之后,还包括:

根据第二格式显示从所述监控日志中读取的所述测试结果、所述第一监控信息或者所述第二监控信息。

更进一步地,在上述各个实施例的基础上,还包括:

若判断所述测试结果、所述第一监控信息或者所述第二监控信息与预设结果不相符,则发出报警信息。

针对目标业务所生成的监控日志,可以将监控日志中的内容按照第二格式转换为文字语言,展现给工作人员,并针对异常的情况进行报警,以提示工作人员及时采取应对措施。

需要说明的是,在将监控日志进行可视化的过程中,可以直接将监控日志中的字符转换为文字语言,按照第二格式(例如,第二格式规定了在显示界面上,各个检测结果所在的位置)显示在显示界面上。还可以通过与第三方平台(例如,grafana)的对接,实现监控日志的可视化,本实施例对此不做限制。

针对测试结果、第一监控信息或者第二监控信息均有与其对应的正常状态或者正常数值范围,这些正常状态或者正常数值范围即为预设结果。可理解的是,可以直接根据监控日志中的测试结果、第一监控信息或者第二监控信息对其是否与预设结果相符进行判断,也可以在将测试结果、第一监控信息或者第二监控信息可视化之后,再将可视化之后的测试结果、第一监控信息或者第二监控信息是否与预设结果相符进行判断,本实施例对此不做限制。

当测试结果、第一监控信息或者第二监控信息与预设结果不相符时,可以通过向相应的工作人员发送短信或者发送邮件的方式发出报警信息,也可以通过报警灯的闪烁,或者通过声音发出报警信息,本实施例对此不做限制。

例如,当监控日志中对微信业务对应的某个目标服务器的检测结果为登录异常,则向相应的工作人员发送目标服务器中微信登录过程异常的报警信息。

本实施例提供了一种将监控日志可视化,以及在检测到监控日志中存在异常监控结果时报警的方法。通过该方法,相关的工作人员能够及时了解目标业务的各个服务器的运行情况,并及时处理出现了异常的目标服务器。

更进一步地,在上述各个实施例的基础上,所述读取所述测试日志中的测试结果,将所述测试结果添加到监控日志中,包括:

根据所述第一格式,将所述测试结果、所述第一监控信息或者所述第二监控信息追加到所述监控日志中,得到追加监控日志;

和/或,

删除所述监控日志中当前存储的内容,根据所述第一格式,将所述测试结果、所述第一监控信息或者所述第二监控信息追加到所述监控日志中,得到覆盖监控日志。

本实施例提供了两种生成监控日志的方式,一种是以追加的方式形成追加监控日志,另一种是以覆盖的形式形成覆盖监控日志。在实际的情况中,可以根据需要只生成这两种日志中的某一种日志,也可以同时生成这两种日志。其中,追加监控日志中记载了某个时间段(例如,某一天)某个目标服务器中目标业务的所有监控信息。覆盖监控日志中只保存某个目标服务器中目标业务最新生成的监控信息。针对覆盖监控日志,当需要读取最新生成的监控信息时,可以免去查找的步骤,直接读取监控信息即可。

更进一步地,在上述各个实施例的基础上,所述获取待监控的目标服务器的目标标识信息之前,还包括:

从对应于所述目标业务的至少一个服务器的标识信息中,循环获取未遍历的标识信息,作为所述目标标识信息,直到遍历所有所述标识信息。

本实施例提供了针对目标业务对应的多台服务器进行监控的方法,通过遍历的方法可以保证对目标业务的每一台服务器进行监控,实现了对目标业务进行全面的监控。

更进一步地,在上述各个实施例的基础上,所述标识信息中包括所述服务器所在的位置信息和/或所述服务器所属的机房名称。

在确定目标服务器的标识信息的过程中,可以选用目标服务器所在的区域的域名和ip地址的组合作为该目标服务器的唯一标识。本实施例提供的方法中,为了便于工作人员快速定性的确定出每台服务器所处的位置或者所属的公司,则将服务器所在的位置信息、或者服务器所属的机房名称、或者服务器所属的公司名称添加到服务器的标识信息中,便于工作人员快速确定服务器的身份。例如,将服务器的标识信息命名为“qihu360_1”、“qihu360_2”、“xin_hua_she_1”等。可理解的是,标识信息所包括的内容只要能使得工作人员较快的定性出服务器的基本信息即可。

本实施例提供了一种生成服务器的标识信息的方法,通过该方法可以使得工作人员快速定性的确定出服务器所在的位置或者所属的公司,从而实现对服务器的快速精准定位。

图2示出了本实施例提供的一种基于接口测试工具的业务监控方法的流程示意图,参见图2,该方法包括:

201:是否遍历所有的标识信息,若是,则执行步骤216,否则,执行步骤202。针对目标业务的多台目标服务器进行监控,需要遍历每一台目标服务器。例如,创建名称为“running_output”的目录,将需要监控的服务器的标识信息作为子目录置于“running_output”下,例如,“running_output”的子目录包括“qihu360_1、qihu360_2、xin_hua_she_1”三台服务器的标识信息。

具体地,将接口测试工具及所需文件放置到上述目录(running_output)中的一个单独的子目录(qihu360_1、qihu360_2、xin_hua_she_1)下,配置要监控的业务服务器的ip、port(ip地址、端口信息)等信息,配置监控工具要用到的业务数据等,使该子目录下的接口测试工具能够独立地运行。把接口测试工具的可执行文件名命名为上述的ip,所在的目录名称命名为业务服务器的可读信息且具有唯一标识(可读标识),如“qihu360_1”、“qihu360_2”、“xin_hua_she_1”等。

该遍历过程由创建在目录0run.sh内的脚本执行,该脚本对running_output目录下的子目录进行遍历,并把每个子目录的名称作为参数传递给监控脚本,这样便实现了对该子目录所对应的业务服务器进行监控。当需要监控更多的服务器时,只需要在running_output目录下添加子目录即可。设置任务计划,按一定的规则调用遍历脚本,这就实现了对遍历脚本进行定期执行。

202:获取未遍历的标识信息,作为目标标识信息。

203:目标标识信息对应的目标服务器与监控服务器之间的网络是否连通,若是,执行步骤204,否则,执行步骤215。

例如,向监控脚本(例如,命名为getstate.sh的脚本)传递参数,如上述提到的接口测试工具的子目录名称,如“qihu360_1”、“qihu360_2”、“xin_hua_she_1”等。监控脚本根据接口测试工具的配置规则,把参数所对应的目录下的业务服务器的ip和port等信息获取到。监控脚本获取执行时的日期、时间,定义监控日志的名称和路径:以当前日期、服务器可读标识、ip标识命名,路径存放在监控脚本的当前目录下(例如,监控脚本的当前目录中包括ipname、today、nowtime、logname_today、logname_now)。

例如,使用telnetipport检测业务服务器是否与监控工具所在的服务器为连通状态。如果连通,则执行步骤204;如果不连通,则将该结果记录到监控日志的文件。

204:通过接口测试工具对目标服务器上的目标业务进行测试。

205:是否存在测试日志,若存在,执行206,若不存在,执行步骤214。即对接口测试工具的测试日志的存在性进行判断吗,如果存在,则执行步骤206;如果不存在,则记录到监控日志的文件中。

206:接口测试工具的测试进程是否结束,若是,执行步骤213,否则,执行步骤207。即执行接口测试工具,根据接口测试工具所耗的时长等待,然后按规则结束该接口测试工具所运行的进程。

207:进程所持续的时长是否超过预设时长,若是,执行步骤209,否则,执行步骤208。

208:待进程在预设时长内结束或者在进程持续的时长达到预设时长时结束进程,得到测试日志。

209:结束进程,得到测试日志。

210:根据第一格式将测试日志中的测试结果、测试结果对应的描述信息或分析信息添加到监控日志中,删除测试日志。即对接口测试工具的测试日志进行分析,如果测试日志中存在成功对应的字符串,则记录成功标志和固定的字符串;如果测试日志中存在失败对应的字符串,则记录失败标志和失败原因。对接口测试工具产生的测试日志进行清理。

211:得到监控日志(追加监控日志和覆盖监控日志)。其中,所有的日志记录的规则是:把日志追加到当天的日志文件中(logname_today变量);把日志覆盖到当前的日志文件中(logname_now)。本实施例提供的方法可以使用第三方监控系统,主要是因为其图形化展现效果好、报警机制完善,不重复造轮子。

212:根据第二格式显示监控日志,并针对监控日志中与预设结果不相符的信息进行报警。即对监控工具产生的日志进行解析,与第三方展现平台进行对接,实现监控、展现、报警的一体化。

213:得到测试日志。

214:将不存在测试日志的第一监控信息添加到监控日志中。

215:将目标服务器与监控服务器之间的网络不连通的第二监控信息添加到监控日志中。

216:本轮监控过程结果。

其中,监控日志中至少包括当前时间、业务服务器的简写、ip地址、监控结果标志、监控详细结果。

本实施例提供的方法随着业务服务器的增多,当需要新增监控的服务器时,只需在特定目录下添加对应的工具目录即可,自动触发监控机制,实现对服务器中业务的监控。

图3示出了本发明的实施例提供的基于接口测试工具的业务监控装置的结构框图,参见图3,该基于接口测试工具的业务监控装置300包括判断模块301、测试模块302和添加模块303,其中,

判断模块301,用于获取目标标识信息,判断对应于所述目标标识信息的目标服务器与监控服务器之间的网络是否连通;

测试模块302,用于若所述目标服务器与所述监控服务器之间的网络连通,运行所述监控服务器上的接口测试工具,对所述目标服务器中的目标业务进行测试,生成测试日志;

添加模块303,用于读取所述测试日志中的测试结果,将所述测试结果添加到监控日志中;

其中,所述监控日志为对所述目标服务器中的目标业务进行监控所生成的日志。

本实施例提供的基于接口测试工具的业务监控装置300适用于上述实施例中提供的基于接口测试工具的业务监控方法,在此不再赘述。

本发明的实施例提供了一种基于接口测试工具的业务监控装置,该装置针对目标业务的某个需要进行监控的目标服务器,通过该目标服务器的目标标识信息,若判断该目标服务器和监控服务器之间的网络连通,则采用监控服务器上的接口测试工具对该目标服务器进行测试,生成测试日志,然后将测试日志中记载的测试结果添加到监控日志中。通过监控日志即可对该目标服务器中的目标业务是否存在异常进行监控。由于对应于该目标业务的接口测试工具能够模拟终端设备向目标服务器发送消息,且该接口测试工具在监控服务器上运行,能够在不占用额外的客户端的条件下,及时全面的反应服务器的问题。另一方面,通过监控日志记录目标服务器的运行状态,便于及时提取和解析服务器的运行状态。

第三方面,图4是示出本实施例提供的电子设备的结构框图。

参照图4,所述电子设备包括:处理器(processor)401、存储器(memory)402、通信接口(communicationsinterface)403和总线404;

其中,

所述处理器401、存储器402、通信接口403通过所述总线404完成相互间的通信;

所述通信接口403用于该电子设备与目标服务器的通信设备之间的信息传输;

所述处理器401用于调用所述存储器402中的程序指令,以执行上述各方法实施例所提供的方法,例如包括:获取目标标识信息,判断对应于所述目标标识信息的目标服务器与监控服务器之间的网络是否连通;若所述目标服务器与所述监控服务器之间的网络连通,运行所述监控服务器上的接口测试工具,对所述目标服务器中的目标业务进行测试,生成测试日志;读取所述测试日志中的测试结果,将所述测试结果添加到监控日志中;其中,所述监控日志为对所述目标服务器中的目标业务进行监控所生成的日志。

第四方面,本实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法,例如包括:获取目标标识信息,判断对应于所述目标标识信息的目标服务器与监控服务器之间的网络是否连通;若所述目标服务器与所述监控服务器之间的网络连通,运行所述监控服务器上的接口测试工具,对所述目标服务器中的目标业务进行测试,生成测试日志;读取所述测试日志中的测试结果,将所述测试结果添加到监控日志中;其中,所述监控日志为对所述目标服务器中的目标业务进行监控所生成的日志。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。

以上所描述的电子设备等实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上各实施例仅用以说明本发明的实施例的技术方案,而非对其限制;尽管参照前述各实施例对本发明的实施例进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明的实施例各实施例技术方案的范围。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1