CN105262608A - 用于网络服务的监控方法和装置 - Google Patents

用于网络服务的监控方法和装置 Download PDF

Info

Publication number
CN105262608A
CN105262608A CN201510552762.7A CN201510552762A CN105262608A CN 105262608 A CN105262608 A CN 105262608A CN 201510552762 A CN201510552762 A CN 201510552762A CN 105262608 A CN105262608 A CN 105262608A
Authority
CN
China
Prior art keywords
script
monitoring
host computer
network service
fictitious host
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.)
Granted
Application number
CN201510552762.7A
Other languages
English (en)
Other versions
CN105262608B (zh
Inventor
杨�一
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN201510552762.7A priority Critical patent/CN105262608B/zh
Publication of CN105262608A publication Critical patent/CN105262608A/zh
Application granted granted Critical
Publication of CN105262608B publication Critical patent/CN105262608B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0631Management 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/14Arrangements for monitoring or testing data switching networks using software, i.e. software packages

Abstract

本申请公开了用于网络服务的监控方法和装置。所述方法的一具体实施方式包括:确定网络服务在多个数据中心的节点;获取监控脚本,该监控脚本为模拟用户请求所述网络服务的脚本;以及基于所述监控脚本,在所述多个数据中心的节点上对所述网络服务进行监控。该实施方式实现了同时对网络服务的多个站点的主动监控,有效提升了监控的实时性。

Description

用于网络服务的监控方法和装置
技术领域
本申请涉及网络通信技术领域,具体涉及数据交换网络中的监控技术领域,尤其涉及用于网络服务的监控方法和装置。
背景技术
云服务对于服务的可用性有着极高的要求,为此需要在出现故障的第一时间进行有效的反馈和监控。现有的监控技术中,当用户操作产生异常时,系统会生成具有异常标记的监控日志,监控程序通过监控日志中的异常信息进行报警处理。这种监控方法中,只有当用户提交网络访问请求时才会发现网络服务不可用,监控实时性有待提升,且整个监控过程为被动监控,不能主动地发现故障。另一方面,在云服务的实际场景中,站点部署在不同的机房上,现有技术无法快速、高效、低成本地同时对多个机房中的在线服务进行监控。
发明内容
本申请的目的在于提出一种改进的用于网络服务的监控方法和装置,来解决以上背景技术部分提到的技术问题。
第一方面,本申请提供了一种用于网络服务的监控方法,所述方法包括:确定所述网络服务在多个数据中心的节点;获取监控脚本,所述监控脚本为模拟用户请求所述网络服务的脚本;以及基于所述监控脚本,在所述多个数据中心的节点上对所述网络服务进行监控。
在一些实施例中,所述方法还包括:为所述网络服务创建虚拟主机;在所述虚拟主机上配置监控代理;将配置所述监控代理的虚拟主机的镜像保存至所述多个数据中心;以及所述基于所述监控脚本,在所述多个数据中心的节点上对所述网络服务进行监控,包括:通过所述多个数据中心保存的虚拟主机镜像所配置的监控代理执行所述监控脚本,监控所述网络服务是否正常返回数据。
在一些实施例中,所述通过所述多个数据中心保存的虚拟主机镜像所配置的监控代理执行所述监控脚本,监控所述网络服务是否正常返回数据,包括:启动所述多个数据中心保存的虚拟主机镜像所配置的监控代理;基于所述监控脚本,通过所述监控代理提供的访问框架和接口访问所述网络服务对应的站点;以及判断所述站点返回的页面是否存在错误,以确定所述网络服务是否正常返回数据。
在一些实施例中,所述在所述虚拟主机上配置监控代理,包括:在所述虚拟主机上加载所述监控脚本的驱动脚本;配置所述虚拟主机的自启动脚本;以及在所述虚拟主机的对象存储中建立资源配置对象存储服务并保存资源配置文件。
在一些实施例中,在基于所述监控脚本,在所述多个数据中心的节点上对所述网络服务进行监控之前,所述方法还包括:从所述资源配置对象存储服务中获取所述监控脚本的信息摘要文件;基于所述信息摘要文件计算信息摘要的校验和;获取所述驱动脚本的执行目录;基于所述校验和以及所述驱动脚本的执行目录判断所述监控代理是否完成配置以及所述监控脚本是否需要更新。
在一些实施例中,所述基于所述校验和以及所述驱动脚本的执行目录判断所述监控代理是否完成配置以及所述监控脚本是否需要更新,包括:判断所述信息摘要的校验和与所述虚拟主机中已有的监控脚本的校验和是否一致;判断所述驱动脚本的执行目录是否已存在于所述虚拟主机的镜像中;若所述信息摘要的校验和与所述虚拟主机中已有的监控脚本的校验和一致且所述驱动脚本的执行目录已存在于所述虚拟主机的镜像中,确定所述监控代理完成配置且所述监控脚本不需要更新。
在一些实施例中,所述获取监控脚本,包括:通过执行所述自启动脚本下载所述监控脚本;所述通过所述多个数据中心保存的虚拟主机镜像所配置的监控代理执行所述监控脚本,包括:通过所述多个数据中心保存的虚拟主机镜像中配置的驱动脚本执行所述监控脚本。
在一些实施例中,所述方法还包括:响应于监控到所述网络服务发生异常,生成报警信息。
第二方面,本申请提供了一种用于网络服务的监控装置,所述装置包括:确定单元,配置用于确定所述网络服务在多个数据中心的节点;获取单元,配置用于获取监控脚本,所述监控脚本为模拟用户请求所述网络服务的脚本;以及监控单元,配置用于基于所述监控脚本,在所述多个数据中心的节点上对所述网络服务进行监控。
在一些实施例中,所述装置还包括:创建单元,用于为所述网络服务创建虚拟主机;配置单元,用于在所述虚拟主机上配置监控代理;存储单元,用于将配置所述监控代理的虚拟主机的镜像保存至所述多个数据中心;以及所述监控单元进一步配置用于通过所述多个数据中心保存的虚拟主机镜像所配置的监控代理执行所述监控脚本,监控所述网络服务是否正常返回数据。
在一些实施例中,所述监控单元包括:启动模块,配置用于启动所述多个数据中心保存的虚拟主机镜像所配置的监控代理;访问模块,配置用于基于所述监控脚本,通过所述监控代理提供的访问框架和接口访问所述网络服务对应的站点;以及判断模块,配置用于判断所述站点返回的页面是否存在错误,以确定所述网络服务是否正常返回数据。
在一些实施例中,所述配置单元包括:监控脚本加载模块,用于在所述虚拟主机上加载所述监控脚本的驱动脚本;自启动脚本配置模块,用于配置所述虚拟主机的自启动脚本;以及资源配置模块,在所述虚拟主机的对象存储中建立资源配置对象存储服务并保存资源配置文件。
在一些实施例中,所述装置还包括校验单元,配置用于:从所述资源配置对象存储服务中获取所述监控脚本的信息摘要文件;基于所述信息摘要文件计算信息摘要的校验和;获取所述驱动脚本的执行目录;基于所述校验和以及所述驱动脚本的执行目录判断所述监控代理是否完成配置以及所述监控脚本是否需要更新。
在一些实施例中,所述校验单元配置用于按如下方式判断所述监控代理是否完成配置以及所述监控脚本是否需要更新:判断所述信息摘要的校验和与所述虚拟主机中已有的监控脚本的校验和是否一致;判断所述驱动脚本的执行目录是否已存在于所述虚拟主机的镜像中;若所述信息摘要的校验和与所述虚拟主机中已有的监控脚本的校验和一致且所述驱动脚本的执行目录已存在于所述虚拟主机的镜像中,确定所述监控代理完成配置且所述监控脚本不需要更新。
在一些实施例中,所述获取单元进一步配置用于:通过执行所述自启动脚本下载所述监控脚本;以及所述监控单元进一步配置用于:通过所述多个数据中心保存的虚拟主机镜像中配置的驱动脚本执行所述监控脚本。
在一些实施例中,所述装置还包括:报警单元,配置用于响应于监控到所述网络服务发生异常,生成报警信息。
本申请提供的用于网络服务的监控方法和装置,通过确定网络服务在多个数据中心的节点,随后获取模拟用户请求网络服务的监控脚本,之后基于监控脚本在多个数据中心的节点上对网络服务进行监控,实现了同时对网络服务的多个站点的主动监控,有效提升了监控的实时性。
附图说明
通过阅读参照以下附图所作的对非限制性实施例详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是本申请可以应用于其中的示例性系统架构图;
图2是根据本申请的用于网络服务的监控方法的一个实施例的流程图;
图3是根据本申请的用于网络服务的监控方法的又一个实施例的流程图;
图4是根据本申请的用于网络服务的监控装置的一个实施例的结构示意图;
图5是适于用来实现本申请实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
请参考图1,其示出了可以应用本申请的用于网络服务的监控方法或装置的系统架构100。
如图1所示,系统架构可以包括终端设备101、服务器102、104、105、106以及网络103。网络103用以在终端设备101、服务器102、104、105、106之间提供通信链路的介质。网络103可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
终端设备101可以通过网络103与服务器102、104、105、106交互,以接收或发送数据等。服务器102可以为用于监控网络服务的服务器,服务器104、105、106可以是提供网络服务的服务器,例如可以是为服务器102请求的网页提供支持的后台网页服务器。后台网页服务器可以对接收到的网页页面请求等数据进行分析等处理,并将处理结果(例如网页页面数据)反馈给服务器102或终端设备101。在本申请的应用中,服务器104、105、106可以为多个数据中心的网络节点。
终端设备101和服务器102可以是支持网络访问的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、MP3播放器(MovingPictureExpertsGroupAudioLayerIII,动态影像专家压缩标准音频层面3)、MP4(MovingPictureExpertsGroupAudioLayerIV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。
需要说明的是,本申请实施例所提供的用于网络服务的监控方法可以由服务器102或终端设备101执行。相应地,用于网络服务的监控装置可以设置于服务器102或终端设备101中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
继续参考图2,示出了根据本申请的用于网络服务的监控方法的一个实施例的流程200。所述用于网络服务的监控方法200,包括以下步骤:
步骤201,确定网络服务在多个数据中心的节点。
网络服务可以为在网络上运行的服务、可以采用HTTP(HyperTextTransferProtocol,超文本传输协议)和XML(ExtensibleMarkupLanguage,可扩展标记语言)等互联网通用标准,使人可以在不同的地方通过不同的终端设备访问网络上的数据。举例而言,网络服务可以为访问网页的服务,如访问门户网站,也可以是发送消息的服务,例如提交网上订单。在云服务的实际场景中,网络服务的站点可以部署在不同的数据中心。例如,用户访问某门户网站的网络服务的站点可以位于北京、上海、广州等地的机房。
数据中心的节点可以是计算机或其他设备,与一个有独立地址和具有传送或接收数据功能的网络相连。节点可以是终端设备、网络设备、服务器等与网络连接的设备。网络服务在多个数据中心的节点可以是为该网络服务提供网络连接或提供数据支持的服务器或其他设备。
在本实施例中,服务器或终端设备可以确定网络服务在多个数据中心的节点。例如确定为该网络服务提供数据和通信连接的虚拟主机的位置。具体地,可以通过获取网络服务的IP(InternetProtocol,网络协议)地址来确定网络服务在数据中心的节点。在一些可选的实现方式中,可以通过MAC(MediaAccessControl,媒体介质访问层)地址来确定节点的位置。
步骤202,获取监控脚本。
其中,监控脚本为模拟用户请求网络服务的脚本。在本实施例中,可以从公共站点下载用于监控网络服务的监控脚本。该监控脚本可以是访问录制脚本,即预先录制的模拟用户请求该网络服务时的操作的脚本。一般地,用户在请求网络服务时,需要通过网络提交指令,该指令可以被解析,并以脚本语言的格式发送至数据中心的节点,数据中心各节点基于接收到的指令进行响应。在本实施例中,模拟用户提交指令的监控脚本可以保存在指定的服务器中,该指定的服务器可以是公共站点,多个电子设备可以从该站点直接下载数据。在对网络服务进行监控时,可以从该站点下载监控脚本。在一些可选的实现方式中,如果在监控之前数据中心的节点已保存了监控脚本,则可以从数据中心的节点的存储设备中获取监控脚本。如果该监控脚本与公共站点上的监控脚本一致,则可以直接利用该监控脚本进行监控。如果该脚本与公共站点上的监控脚本不一致,则需要获取公共站点上最新版本的监控脚本。可选地,可以将从公共站点获取的监控脚本保存至各数据中心,以对多个数据中心的节点同时进行监控。
监控脚本中可以包含多种用户操作指令,例如用户访问网页的指令、搜索指令、下载文件的指令等等。数据中心的对应节点对这些指令进行诸如数据处理等响应,例如,数据中心的某节点可以响应于用户的搜索指令在数据库中查找相关信息,并将相关信息发送给发出搜索指令的服务器或终端设备。
在本实施例中,无需用户提交访问指令,服务器或终端设备可以主动对网络服务进行监控,从而实现实时地监控网络服务的状态。
步骤203,基于监控脚本,在多个数据中心的节点上对网络服务进行监控。
在本实施例中,各数据中心的节点可以根据与监控脚本对网络服务进行监控。各数据中心的节点可以为服务器,则在监控时,可以执行监控脚本,模拟用户操作,监测数据处理过程是否正常。例如,可以监测所有并行提供该网络服务的服务器的数据获取、数据查询过程是否正常。在一些实现方式中,可以同时在多个数据中心的节点上执行监控脚本,监测各节点之间的数据通信是否正常。举例而言,当某一网络服务具有位于不同数据中心的多个节点,且多个节点之间需要数据交换才能提供完整的网络服务时,可以同时监测多个机房内为该网络服务提供反馈的服务器之间的数据传输是否正常。
正常情况下,每个数据中心的节点应当返回监控脚本所模拟的用户请求的数据。当网络服务发生异常时,数据中心的节点无法返回数据或返回异常数据。例如,当监控脚本为模拟用户访问网页页面的请求时,如果监测到某一机房内的服务器返回的HTTP状态码为502,即该服务器未获取到上游服务器(或其他节点)的正常响应,这时,可以确定该网络服务在该机房内的服务器发生了异常。
在本实施例中,可以通过运行监控脚本来模拟用户对多个不同数据中心的管理控制台站点发起请求,并自动匹配访问的返回页面来分析是否存在错误,实现对网络服务的主动监控。
在本实施例的一些可选的实现方式中,如果某一数据中心的节点上发生了异常,可以响应于监控到的异常,生成报警信息。报警信息可以包括异常发生的节点的IP地址、异常原因等。运维人员可以根据报警信息对网络服务的异常进行及时的处理。
上述实施例所描述的用于网络服务的监控方法,通过获取模拟用户请求网络服务的监控脚本,并在多个数据中心的节点上运行监控脚本,监测是否发生异常,可以实现网络服务的跨数据中心主动监控,有效地提升了网络服务监控的实时性。
继续参考图3,其示出了根据本申请的用于网络服务的监控方法的又一个实施例的流程300。该用于网络服务的监控方法300,包括以下步骤:
步骤301,为网络服务创建虚拟主机。
服务器或终端设备可以为待监控的网络服务创建虚拟主机,以处理待监控的网络服务的相关数据。虚拟主机是在网络服务器上分出一定的磁盘空间,用于提供必要的站点功能、数据存放和传输功能。在本实施例中,可以在多个数据中心创建为待监控的网络服务创建虚拟主机,该虚拟主机可以在待监控的网络服务在多个数据中心的节点上创建。
步骤302,在虚拟主机上配置监控代理。
监控代理可以是包含网络访问框架和接口的代理进程。可以通过监控代理中的网络访问框架和接口访问待监控网络服务对应的站点。在本实施例中,可以在虚拟主机上配置该监控代理,以通过监控代理对待监控的网络服务进行访问。
本实施例中,可以采用WebDriver(网络驱动)作为监控代理。WebDriver是一种自动化测试工具,其中包含支持不同浏览器内核的无界面访问框架和应用程序接口,因此,可以通过WebDriver使用不同的浏览器进行网页页面的访问。可以通过安装WebDriver的库、加载WebDriver的资源配置文件来实现监控代理的配置。
在本实施例的一些可选的实现方式中,在虚拟主机上配置监控代理的步骤可以包括;步骤3021,在虚拟主机上加载监控脚本的驱动脚本;步骤3022,配置虚拟主机的自启动脚本;以及步骤3033,在虚拟主机的对象存储中建立资源配置对象存储服务并保存资源配置文件。
在步骤3021中,可以下载并安装驱动监控脚本运行的母脚本,该母脚本即为监控脚本的驱动脚本,可以为Booter脚本。在监控时,运行该Booter脚本,即可驱动监控脚本自动运行。
在步骤3022中,可以在虚拟主机上配置自启动脚本。例如可以将启动程序加载在自启动脚本中,启动程序可以调用相关的资源配置文件来启动监控脚本中的程序。还可以在自启动脚本中加载从公共站点获取监控脚本的程序以及获取数据中心节点的程序。通过配置自启动脚本中的这些程序,可以实现监控脚本的自动下载和运行。
在步骤3023中,可以在虚拟主机的对象存储中创建资源配置的对象存储服务,并保存相关的资源配置文件(例如网络配置文件等),以保证在虚机中运行的Booter程序能够从统一的网络站点获取到最新的监控脚本。
对象存储是一种新的网络存储架构,将数据通路(数据读或写)和控制通路(元数据)分离,并且基于OSD(Object-basedStorageDevice,对象存储设备)构建存储系统,每个OSD能够自动管理其上的数据分布。
以BOS(BaiduObjectStorage,百度对象存储)服务为例,可以在BOS中创建一个对象存储服务(Bucket),作为资源配置的对象存储服务。资源配置Bucket可以从公共站点下载监控脚本的资源配置文件,在虚拟主机上加载这些资源配置文件。
步骤303,确定网络服务在多个数据中心的节点。
在本实施例中,可以通过获取网络服务的IP地址来确定网络服务在数据中心的节点。在一些可选的实现方式中,可以通过MAC地址来确定节点的位置。
在本实施例的一些可选的实现方式中,如果步骤302中配置了虚拟主机的自启动脚本,则可以通过自启动脚本中的程序来获取数据中心节点的位置。
步骤304,将配置监控代理的虚拟主机的镜像保存至多个数据中心。
上述步骤301中可以创建一个虚拟主机,步骤302中可以为该一个虚拟主机配置监控代理,则在步骤304中可以将配置完成的虚拟主机的镜像保存至多个数据中心。虚拟主机的镜像可以是与虚拟主机的配置完全相同的副本。虚拟主机的镜像中保存的数据与虚拟主机保存的数据完全一致。
在本实施例中,可以将虚拟主机只作为镜像保存至多个数据中心,在各数据中心节点的网络通信的环境下对多个数据中心同时进行监控。
步骤305,获取监控脚本。
其中,监控脚本为模拟用户请求网络服务的脚本。在本实施例中,监控脚本可以是访问录制脚本,即预先录制的模拟用户请求该网络服务的操作的脚本。可以从公共站点下载用于监控网络服务的监控脚本。可选地,如果步骤302中配置了虚拟主机的自启动脚本,则可以执行自启动脚本,由自启动脚本中的下载程序来完成监控脚本的下载。
步骤306,通过多个数据中心保存的虚拟主机镜像所配置的监控代理执行监控脚本,监控网络服务是否正常返回数据。
在本实施例中,可以启动各虚拟主机镜像上配置的监控代理(例如启动WebDriver),在多个数据中心的虚拟主机镜像上运行监控脚本,监测网络服务是否能够正常返回数据。
在本实施例的一些可选的实现方式中,可以通过如下方式来监控网络服务是否正常返回数据:
首先,启动多个数据中心保存的虚拟主机镜像所配置的监控代理。该监控代理可以是WebDriver,虚拟主机的每一个镜像上都可以加载WebDriver的配置信息。则用于监控的服务器可以同时启动多个虚拟主机上的WebDriver。
然后,基于所述监控脚本,通过监控代理提供的访问框架和接口访问所述网络服务对应的站点。在这一步骤中,可以通过每一个虚拟主机镜像中的WebDriver所提供的访问框架和API(ApplicationProgrammingInterface,应用程序编程接口)对多个不同数据中心的管理控制台站点发起该网络服务请求。
最后,判断站点返回的页面是否存在错误,以确定网络服务是否正常返回数据。在通过WebDriver发起网络服务请求之后,可以自动匹配访问的返回页面,分析该页面是否存在错误,来判断网络服务是否正常返回错误。如果无法匹配页面或返回的页面存在错误,可以认为监测到该网络服务在对应的站点发生了异常,则可以认为该网络服务没有正常返回数据。
在本实施例的一些可选的实现方式中,如果步骤302中加载了监控脚本的驱动脚本,则可以通过多个数据中心保存的虚拟主机镜像中配置的驱动脚本来执行监控脚本,以主动地在多个数据中心的节点上模拟用户请求网络服务,并进行实时地监控。
在本实施例的一些可选的实现方式中,上述资源配置的对象存储服务(例如BOS的Bucket)中存储了最新版本的监控脚本的信息摘要文件,如MD5(MessageDigestAlgorithm5,信息-摘要算法5)文件,则在通过所述多个数据中心保存的虚拟主机镜像所配置的监控代理执行监控脚本之前,还可以对监控脚本是否为最新的版本进行校验,以及对虚拟主机的配置是否完成进行判断。
具体来说,对监控脚本是否为最新的版本进行校验以及对虚拟主机的配置是否完成进行判断的步骤可以如下进行:首先从资源配置对象存储服务中获取信息摘要文件,然后基于信息摘要文件计算信息摘要的校验和,之后获取驱动脚本的执行目录,最后基于信息摘要的校验和及驱动脚本的执行目录判断监控脚本是否为最新版本以及监控代理是否完成配置。其中信息摘要文件可以通过驱动脚本下载资源配置对象存储服务(资源配置Bucket)中的MD5文件来获取,驱动脚本的执行目录下包括保存配置信息的目录和文件。
进一步地,可以通过资源配置的对象存储服务从公共站点下载信息摘要文件,该公共站点可以是用于更新监控脚本的服务器。之后计算出信息摘要的校验和,然后可以将信息摘要的校验和与虚拟主机中已有的监控脚本的校验和进行比较,判断二者是否一致。另一方面,可以判断驱动脚本的执行目录是否已存在于虚拟主机或虚拟主机的镜像中。如果信息摘要的校验和与虚拟主机中已有的监控脚本的校验和一致且驱动脚本的执行目录已存在于虚拟主机的镜像中,可以确定监控代理完成配置且监控脚本不需要更新。在一些可选的实现方式中,如果信息摘要的校验和与虚拟主机中已有的监控脚本的校验和不一致,则可以确定虚拟主机中已有的监控脚本不是最新的版本,这时可以从提供监控脚本的公共站点重新下载最新版本的监控脚本。如果驱动脚本的执行目录不存在,则需要重新配置虚拟主机。虚拟主机的配置过程与前述步骤3021-3023一致,此处不再赘述。
在本实施例的一些可选的实现方式中,用于监控网络服务的服务器或其他电子设备可以响应于监控到该网络服务发生异常,生成报警信息。该报警信息可以提示运维人员网络服务的异常状态。
从图3中可以看出,与图2对应的实施例相比,本实施例中的用于网络服务的监控方法的流程300增加了为网络服务创建虚拟主机、在虚拟主机上配置监控代理的步骤。由此,本实施例描述的方案可以通过在虚拟主机上配置的监控代理所提供的访问框架和接口模拟用户对不同数据中心的节点的请求,从而实现更有效的主动监控。在图3所示的实施例的一些可选的实现方式中,还增加了判断监控脚本是否最新以及虚拟主机是否完成配置的步骤,由此,可以更有效地保证监控的可靠性。
上述结合图3描述的实施例,可以应用于监测公有云核心业务场景中的网络服务,能够充分利用云主机的资源和对象存储服务展开跨数据中心的监控,可以实现对整个公有云服务的低成本监控。
进一步参考图4,作为对上述各图所示方法的实现,本申请提供了一种用于网络服务的监控装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图4所示,本实施例所述的用于网络服务的监控装置400包括:确定单元401、获取单元402以及监控单元403。其中,确定单元401可以配置用于确定网络服务在多个数据中心的节点;获取单元402可以配置用于获取监控脚本,其中,监控脚本为模拟用户请求网络服务的脚本;监控单元403可以配置用于基于监控脚本,在多个数据中心的节点上对网络服务进行监控。
在本实施例中,用于网路服务的监控装置400的确定单元401可以通过获取提供该网络服务的节点的网络地址来确定网络服务在多个数据中心的节点。其中,网络服务在多个数据中心的节点可以是服务器等具备通信功能和数据处理能力的电子设备。
在本实施例中,获取单元402可以从公共的站点(例如存储、更新监控脚本的服务器)下载监控脚本。该监控脚本可以是预先录制的模拟用户请求该网络服务的脚本。可选地,获取单元402还可以同时下载监控脚本的配置文件,配置文件中保存了监控脚本相关的配置数据。
在本实施例中,数据中心的多个节点可以通过获取单元402获取监控脚本,监控单元403可以通过在多个数据中心的节点运行所获取的监控脚本来对网络服务进行监控。
在本实施例的一些可选的实现方式中,用于网络服务的监控装置还可以包括创建单元404、配置单元405以及存储单元406(未示出),其中创建单元404可以用于为网络服务创建虚拟主机;配置单元405可以用于在虚拟主机上配置监控代理;存储单元406可以用于将配置监控代理的虚拟主机的镜像保存至多个数据中心。这时,监控单元403进一步配置用于通过多个数据中心保存的虚拟主机镜像所配置的监控代理执行监控脚本,监控网络服务是否正常返回数据。
进一步地,监控单元403包括:启动模块4031,配置用于启动多个数据中心保存的虚拟主机镜像所配置的监控代理;访问模块4032,配置用于基于监控脚本,通过监控代理提供的访问框架和接口访问网络服务对应的站点;以及判断模块4033,配置用于判断站点返回的页面是否存在错误,以确定网络服务是否正常返回数据。
用于网络服务的监控装置400中记载的诸单元或模块与参考图2和图3描述的方法中的各个步骤相对应。由此,上文针对方法描述的操作和特征同样适用于装置400及其中包含的单元,在此不再赘述。装置400中的相应单元可以与电子设备中的单元相互配合以实现本申请实施例的方案。
本领域技术人员可以理解,上述用于网络服务的监控装置400还包括一些其他公知结构,例如处理器、存储器等,为了不必要地模糊本公开的实施例,这些公知的结构在图4中未示出。
下面参考图5,其示出了适于用来实现本申请实施例的终端设备或服务器的计算机系统的结构示意图。
如图5所示,计算机系统500包括中央处理单元(CPU)501,其可以根据存储在只读存储器(ROM)502中的程序或者从存储部分508加载到随机访问存储器(RAM)503中的程序而执行各种适当的动作和处理。在RAM503中,还存储有系统500操作所需的各种程序和数据。CPU501、ROM502以及RAM503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
以下部件连接至I/O接口505:包括键盘、鼠标等的输入部分506;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分507;包括硬盘等的存储部分508;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由诸如因特网的网络执行通信处理。驱动器510也根据需要连接至I/O接口505。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入存储部分508。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分509从网络上被下载和安装,和/或从可拆卸介质511被安装。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括确定单元、获取单元和监控单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,获取单元还可以被描述为“用于获取监控脚本的单元”。
作为另一方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中所述装置中所包含的计算机可读存储介质;也可以是单独存在,未装配入终端中的计算机可读存储介质。所述计算机可读存储介质存储有一个或者一个以上程序,所述程序被一个或者一个以上的处理器用来执行描述于本申请的用于网络服务的监控方法。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (16)

1.一种用于网络服务的监控方法,其特征在于,所述方法包括:
确定所述网络服务在多个数据中心的节点;
获取监控脚本,所述监控脚本为模拟用户请求所述网络服务的脚本;以及
基于所述监控脚本,在所述多个数据中心的节点上对所述网络服务进行监控。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
为所述网络服务创建虚拟主机;
在所述虚拟主机上配置监控代理;
将配置所述监控代理的虚拟主机的镜像保存至所述多个数据中心;以及
所述基于所述监控脚本,在所述多个数据中心的节点上对所述网络服务进行监控,包括:
通过所述多个数据中心保存的虚拟主机镜像所配置的监控代理执行所述监控脚本,监控所述网络服务是否正常返回数据。
3.根据权利要求2所述的方法,其特征在于,所述通过所述多个数据中心保存的虚拟主机镜像所配置的监控代理执行所述监控脚本,监控所述网络服务是否正常返回数据,包括:
启动所述多个数据中心保存的虚拟主机镜像所配置的监控代理;
基于所述监控脚本,通过所述监控代理提供的访问框架和接口访问所述网络服务对应的站点;以及
判断所述站点返回的页面是否存在错误,以确定所述网络服务是否正常返回数据。
4.根据权利要求2所述的方法,其特征在于,所述在所述虚拟主机上配置监控代理,包括:
在所述虚拟主机上加载所述监控脚本的驱动脚本;
配置所述虚拟主机的自启动脚本;以及
在所述虚拟主机的对象存储中建立资源配置对象存储服务并保存资源配置文件。
5.根据权利要求4所述的方法,其特征在于,在基于所述监控脚本,在所述多个数据中心的节点上对所述网络服务进行监控之前,所述方法还包括:
从所述资源配置对象存储服务中获取所述监控脚本的信息摘要文件;
基于所述信息摘要文件计算信息摘要的校验和;
获取所述驱动脚本的执行目录;
基于所述校验和以及所述驱动脚本的执行目录判断所述监控代理是否完成配置以及所述监控脚本是否需要更新。
6.根据权利要求5所述的方法,其特征在于,所述基于所述校验和以及所述驱动脚本的执行目录判断所述监控代理是否完成配置以及所述监控脚本是否需要更新,包括:
判断所述信息摘要的校验和与所述虚拟主机中已有的监控脚本的校验和是否一致;
判断所述驱动脚本的执行目录是否已存在于所述虚拟主机的镜像中;
若所述信息摘要的校验和与所述虚拟主机中已有的监控脚本的校验和一致且所述驱动脚本的执行目录已存在于所述虚拟主机的镜像中,确定所述监控代理完成配置且所述监控脚本不需要更新。
7.根据权利要求4所述的方法,其特征在于,所述获取监控脚本,包括:
通过执行所述自启动脚本下载所述监控脚本;
所述通过所述多个数据中心保存的虚拟主机镜像所配置的监控代理执行所述监控脚本,包括:
通过所述多个数据中心保存的虚拟主机镜像中配置的驱动脚本执行所述监控脚本。
8.根据权利要求1-7任一项所述的方法,其特征在于,所述方法还包括:
响应于监控到所述网络服务发生异常,生成报警信息。
9.一种用于网络服务的监控装置,其特征在于,所述装置包括:
确定单元,配置用于确定所述网络服务在多个数据中心的节点;
获取单元,配置用于获取监控脚本,所述监控脚本为模拟用户请求所述网络服务的脚本;以及
监控单元,配置用于基于所述监控脚本,在所述多个数据中心的节点上对所述网络服务进行监控。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:
创建单元,用于为所述网络服务创建虚拟主机;
配置单元,用于在所述虚拟主机上配置监控代理;
存储单元,用于将配置所述监控代理的虚拟主机的镜像保存至所述多个数据中心;以及
所述监控单元进一步配置用于通过所述多个数据中心保存的虚拟主机镜像所配置的监控代理执行所述监控脚本,监控所述网络服务是否正常返回数据。
11.根据权利要求10所述的装置,其特征在于,所述监控单元包括:
启动模块,配置用于启动所述多个数据中心保存的虚拟主机镜像所配置的监控代理;
访问模块,配置用于基于所述监控脚本,通过所述监控代理提供的访问框架和接口访问所述网络服务对应的站点;以及
判断模块,配置用于判断所述站点返回的页面是否存在错误,以确定所述网络服务是否正常返回数据。
12.根据权利要求9所述的装置,其特征在于,所述配置单元包括:
监控脚本加载模块,用于在所述虚拟主机上加载所述监控脚本的驱动脚本;
自启动脚本配置模块,用于配置所述虚拟主机的自启动脚本;以及
资源配置模块,在所述虚拟主机的对象存储中建立资源配置对象存储服务并保存资源配置文件。
13.根据权利要求12所述的装置,其特征在于,所述装置还包括校验单元,配置用于:
从所述资源配置对象存储服务中获取所述监控脚本的信息摘要文件;
基于所述信息摘要文件计算信息摘要的校验和;
获取所述驱动脚本的执行目录;
基于所述校验和以及所述驱动脚本的执行目录判断所述监控代理是否完成配置以及所述监控脚本是否需要更新。
14.根据权利要求13所述的装置,其特征在于,所述校验单元配置用于按如下方式判断所述监控代理是否完成配置以及所述监控脚本是否需要更新:
判断所述信息摘要的校验和与所述虚拟主机中已有的监控脚本的校验和是否一致;
判断所述驱动脚本的执行目录是否已存在于所述虚拟主机的镜像中;
若所述信息摘要的校验和与所述虚拟主机中已有的监控脚本的校验和一致且所述驱动脚本的执行目录已存在于所述虚拟主机的镜像中,确定所述监控代理完成配置且所述监控脚本不需要更新。
15.根据权利要求12所述的装置,其特征在于,所述获取单元进一步配置用于:
通过执行所述自启动脚本下载所述监控脚本;以及
所述监控单元进一步配置用于:
通过所述多个数据中心保存的虚拟主机镜像中配置的驱动脚本执行所述监控脚本。
16.根据权利要求9-15任一项所述的装置,其特征在于,所述装置还包括:
报警单元,配置用于响应于监控到所述网络服务发生异常,生成报警信息。
CN201510552762.7A 2015-09-01 2015-09-01 用于网络服务的监控方法和装置 Active CN105262608B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510552762.7A CN105262608B (zh) 2015-09-01 2015-09-01 用于网络服务的监控方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510552762.7A CN105262608B (zh) 2015-09-01 2015-09-01 用于网络服务的监控方法和装置

Publications (2)

Publication Number Publication Date
CN105262608A true CN105262608A (zh) 2016-01-20
CN105262608B CN105262608B (zh) 2018-09-18

Family

ID=55102127

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510552762.7A Active CN105262608B (zh) 2015-09-01 2015-09-01 用于网络服务的监控方法和装置

Country Status (1)

Country Link
CN (1) CN105262608B (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106357757A (zh) * 2016-09-07 2017-01-25 华为技术有限公司 一种监控系统中的被监控装置及监控方法
CN106878111A (zh) * 2017-03-15 2017-06-20 郑州云海信息技术有限公司 一种高可用的云监控系统及监控方法
CN107819614A (zh) * 2017-10-27 2018-03-20 中航信移动科技有限公司 基于模拟用户请求的应用监控系统和方法
CN107864070A (zh) * 2017-10-30 2018-03-30 小草数语(北京)科技有限公司 网络状态监控方法、设备及系统
CN108519952A (zh) * 2018-04-13 2018-09-11 南京新贝金服科技有限公司 一种分布式的web自动化测试系统及方法
CN108566317A (zh) * 2018-04-27 2018-09-21 深信服科技股份有限公司 业务监控方法、云服务器、存储介质及装置
CN109101247A (zh) * 2018-07-25 2018-12-28 紫光华山信息技术有限公司 安装驱动程序的方法、装置和服务器
CN109245962A (zh) * 2018-10-12 2019-01-18 北京信研汇智信息技术有限公司 服务器监控方法、系统、计算机设备及存储介质
CN110035117A (zh) * 2019-03-15 2019-07-19 启迪云计算有限公司 一种基于可配置监控脚本监控系统及监控方法
CN111628915A (zh) * 2020-07-16 2020-09-04 安徽华速达电子科技有限公司 网关设备的网络连接状态实时监控管理方法及系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080104230A1 (en) * 2004-10-20 2008-05-01 Antonio Nasuto Method And System For Monitoring Performance Of A Client-Server Architecture
CN101882105A (zh) * 2010-06-01 2010-11-10 华南理工大学 一种测试Web网页并发环境下响应时间的方法
CN102932205A (zh) * 2012-11-19 2013-02-13 深圳市亚特尔科技有限公司 一种网络服务端接口的自动化测试方法与测试平台
CN103593294A (zh) * 2013-11-21 2014-02-19 福建天晴数码有限公司 网络游戏性能测试方法及系统
CN103957237A (zh) * 2014-04-03 2014-07-30 华南理工大学 一种弹性云的体系结构
CN104461856A (zh) * 2013-09-22 2015-03-25 阿里巴巴集团控股有限公司 基于云计算平台的性能测试方法、装置及系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080104230A1 (en) * 2004-10-20 2008-05-01 Antonio Nasuto Method And System For Monitoring Performance Of A Client-Server Architecture
CN101882105A (zh) * 2010-06-01 2010-11-10 华南理工大学 一种测试Web网页并发环境下响应时间的方法
CN102932205A (zh) * 2012-11-19 2013-02-13 深圳市亚特尔科技有限公司 一种网络服务端接口的自动化测试方法与测试平台
CN104461856A (zh) * 2013-09-22 2015-03-25 阿里巴巴集团控股有限公司 基于云计算平台的性能测试方法、装置及系统
CN103593294A (zh) * 2013-11-21 2014-02-19 福建天晴数码有限公司 网络游戏性能测试方法及系统
CN103957237A (zh) * 2014-04-03 2014-07-30 华南理工大学 一种弹性云的体系结构

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106357757A (zh) * 2016-09-07 2017-01-25 华为技术有限公司 一种监控系统中的被监控装置及监控方法
CN106357757B (zh) * 2016-09-07 2019-10-22 华为技术有限公司 一种监控系统中的被监控装置及监控方法
CN106878111A (zh) * 2017-03-15 2017-06-20 郑州云海信息技术有限公司 一种高可用的云监控系统及监控方法
CN107819614A (zh) * 2017-10-27 2018-03-20 中航信移动科技有限公司 基于模拟用户请求的应用监控系统和方法
CN107864070A (zh) * 2017-10-30 2018-03-30 小草数语(北京)科技有限公司 网络状态监控方法、设备及系统
CN108519952A (zh) * 2018-04-13 2018-09-11 南京新贝金服科技有限公司 一种分布式的web自动化测试系统及方法
CN108519952B (zh) * 2018-04-13 2019-05-17 南京新贝金服科技有限公司 一种分布式的web自动化测试系统及方法
CN108566317A (zh) * 2018-04-27 2018-09-21 深信服科技股份有限公司 业务监控方法、云服务器、存储介质及装置
CN109101247A (zh) * 2018-07-25 2018-12-28 紫光华山信息技术有限公司 安装驱动程序的方法、装置和服务器
CN109245962A (zh) * 2018-10-12 2019-01-18 北京信研汇智信息技术有限公司 服务器监控方法、系统、计算机设备及存储介质
CN110035117A (zh) * 2019-03-15 2019-07-19 启迪云计算有限公司 一种基于可配置监控脚本监控系统及监控方法
CN111628915A (zh) * 2020-07-16 2020-09-04 安徽华速达电子科技有限公司 网关设备的网络连接状态实时监控管理方法及系统

Also Published As

Publication number Publication date
CN105262608B (zh) 2018-09-18

Similar Documents

Publication Publication Date Title
CN105262608A (zh) 用于网络服务的监控方法和装置
US20180302303A1 (en) Tenant upgrade analytics
CN103391222B (zh) 网络服务监控系统及方法
US9575738B1 (en) Method and system for deploying software to a cluster
CN110262807B (zh) 集群创建进度日志采集系统、方法和装置
CN103268319A (zh) 一种基于网页的云浏览器
CN113900834B (zh) 基于物联网技术的数据处理方法、装置、设备及存储介质
CN104426925A (zh) 网页资源获取方法及装置
CN107644075B (zh) 收集页面信息的方法和装置
CN108768730A (zh) 用于操作智能网卡的方法和装置
CN104978172A (zh) Sdn应用集成管理和控制的方法、系统及设备
CN102859505B (zh) 管理系统以及计算机系统的管理方法
CN106339273A (zh) 一种应用程序修复方法、终端及服务器
CN108200132A (zh) 资源获取方法、装置、设备及计算机可读存储介质
CN109413140A (zh) Pacs服务器远程自动升级的方法
CN106304136A (zh) 获取网络状态信息的方法、系统、控制器和模拟移动设备
CN109218041B (zh) 用于服务器系统的请求处理方法和装置
CN105516337A (zh) 基于动态加载机制的web站点对接解析方法
CN116700779A (zh) 代码动态调整方法、装置、设备、介质和程序产品
CN115577160A (zh) 一种生产线数据采集方法、装置、设备及介质
CN105338058A (zh) 一种应用更新的方法及装置
CN114978923A (zh) 故障演练方法、装置和系统
CN115174248A (zh) 一种网络访问的控制方法及装置
CN104346101A (zh) 存储空间动态分配系统及方法
CN111581256B (zh) 一种智能量测终端应用程序的交互方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant