一种多服务器监控方法、装置和系统的制作方法

文档序号:9581546阅读:225来源:国知局
一种多服务器监控方法、装置和系统的制作方法
【技术领域】
[0001]本发明涉及计算机技术领域,具体涉及一种多服务器监控方法、装置和系统。
【背景技术】
[0002]在运营、维护服务器时,经常需要查看服务器的工作状态,例如,查询每台服务器的CPU使用情况,进程监控,磁盘占用以及I/O命令等,或者,控制多台服务器执行任务。对于服务器较少的情况,一般是运营人员直接登录服务器,输入命令,获得查询结果或控制服务器执行任务。
[0003]然而,随着互联网业务越来越复杂,网站运营,数据处理等所需的服务器数量不断增加,例如,服务器的数量可能达到几百上千台。这时,登录每台服务器进行监控就变得十分繁琐耗时。
[0004]另一种常见的服务器监控方式是设置一台中心服务器,通过该中心服务器监控多台服务器。但这种监控方式依然受到限制,管理人员无法随时随地得知各服务器的状态。

【发明内容】

[0005]鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的多服务器监控方法、装置和系统。
[0006]根据本发明的一个方面,提供了一种多服务器的监控方法,包括:接收客户端通过HTTP协议发送的监控页面请求,向客户端返回监控页面,监控页面携带有用于建立预置实时连接的脚本;接收客户端执行脚本后发起的预置实时连接建立请求,根据预置实时连接建立请求建立与客户端之间的预置实时连接;通过与客户端之间的预置实时连接接收监控页面收集的监控请求信息;根据监控请求信息,确定目标服务器以及与目标服务器对应的监控命令;向目标服务器发送与目标服务器对应的监控命令,以供目标服务器执行所述监控命令。
[0007]根据本发明的另一方面,提供了一种多服务器的监控装置,包括:HTTP请求接口,适于接收客户端通过HTTP协议发送的监控页面请求,向客户端返回监控页面,监控页面携带有用于建立预置实时连接的脚本;配置模块,适于接收客户端执行脚本后发起的预置实时连接建立请求,根据预置实时连接建立请求建立与客户端之间的预置实时连接;预置通信接口,适于通过与客户端之间的预置实时连接接收监控页面收集的监控请求信息;分析模块,适于根据监控请求信息,确定目标服务器以及与目标服务器对应的监控命令;分配模块,适于向目标服务器发送与目标服务器对应的监控命令,以供目标服务器执行所述监控命令。
[0008]根据本发明的另一个方面,提供了一种多服务器监控系统,其包括:上述多服务器监控装置,还包括:客户端和多个服务器;其中,多个服务器与多服务器监控装置通信。
[0009]根据本发明的多服务器监控方法、装置和系统,通过HTTP协议接收监控页面请求并返回监控页面,监控页面在客户端浏览器加载执行后,请求建立用于监控的预置实时连接,响应于该连接建立请求,建立预置实时连接,并通过监控页面收集监控请求,发送给待监控的服务器。根据该方案,服务器管理人员无需登录多台服务器,重复输入命令,可对多台服务器进行统一的管理,客户端的连接配置由页面中的脚本调用浏览器接口完成,不需要浏览器之外的复杂配置即可建立能够保持状态的实时连接,达到监控要求的实时性,也不受客户端位置因素的影响。无需浏览器频繁发送请求,避免了对带宽和服务器资源的过多占用。
[0010]上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的【具体实施方式】。
【附图说明】
[0011]通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0012]图1示出了根据本发明一个实施例的多服务器监控方法的流程图;
[0013]图2示出了根据本发明另一个实施例的多服务器监控方法的流程图;
[0014]图3示出了本发明中一种监控页面的示意图;
[0015]图4示出了根据本发明另一个实施例的多服务器监控方法的流程图;
[0016]图5示出了根据本发明一个实施例的多服务器监控装置的结构框图;
[0017]图6示出了根据本发明一个实施例的多服务器监控系统的结构框图。
【具体实施方式】
[0018]下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0019]图1示出了根据本发明一个实施例的多服务器监控方法的流程图,如图1所示,该方法包括如下步骤:
[0020]步骤S110,接收客户端通过HTTP协议发送的监控页面请求,向客户端返回监控页面,监控页面携带有用于建立预置实时连接的脚本。
[0021]本发明实施例中,通过一台中心服务器实现对多台服务器的监控。
[0022]中心服务器提供Web服务,向能够通过HTTP协议访问该Web服务的客户端提供一个监控页面,例如,该监控页面可以是一个HTML页面。
[0023]用户在客户端通过在浏览器中输入HTML监控页面的地址等方式请求该HTML监控页面,中心服务器接收请求后通过HTTP协议向客户端返回监控页面。监控页面提供有输入元素,用于收集用户输入的监控命令等信息。
[0024]监控页面中还具有用于建立预置实时连接的脚本。预置实时连接指在监控多个服务器过程中,与中心服务器发送监控请求,接收监控结果时所使用的连接方式。由于浏览器正常访问Web服务时的HTTP连接方式是无状态的,而服务器监控,例如,监控CPU状态,需要很强的实时性,要求客户端和中心服务器之间频繁的数据交换,如果通过传统的HTTP方式进行,客户端就要频繁的刷新、发送请求,中心服务器频繁应答,之后,返回监控数据,这会占用过多的带宽和服务器资源。
[0025]本发明中采用与传统HTTP的无状态连接不同的预设实时连接进行监控。预设实时连接一般是客户端与服务器之间双向的,持续性的,有状态的连接,例如,预设实时连接可以是采用Comet技术的长连接方式,或Flash Socket, Java Applet套接口等服务器推技术,或WebSocket连接等。
[0026]监控页面中的脚本用于建立客户端和中心服务器的预置实时连接。例如,对于Flash Socket连接,HTML监控页面中嵌入有一个使用XML Socket类的Flash程序。监控页面中的JavaScript脚本通过调用此Flash程序提供的套接口与服务器端的套接口进行通信。对于其他的实时连接方式,监控页面中的脚本调用浏览器的相应接口,按照相应的通信规范完成连接的建立,此处不再赘述。
[0027]该步骤中,通过传统的HTTP连接发送请求,可在任何能够访问中心服务器的客户端,如计算机,移动终端等,向中心服务器请求监控页面,并通过HTTP连接获取监控页面,页面在客户端浏览器中加载,客户端的连接配置由页面中的脚本调用浏览器接口完成,不需要浏览器之外的复杂配置即可建立能够保持状态的实时连接,达到监控要求的实时性,也不受客户端位置因素的影响。
[0028]步骤S120,接收客户端执行脚本后发起的预置实时连接建立请求,根据预置实时连接建立请求,建立与客户端之间的预置实时连接。
[0029]以WebSocket连接为例,客户端在浏览器中加载所述监控页面,页面脚本调用浏览器的WebSocket API (应用程序编程接口)初始化与服务器间的WebSocket连接。具体地,浏览器首先要向服务器发起一个包含附加头信息“Upgrade iWebSocket”的HTTP请求,表明这是一个申请协议升级的HTTP请求,服务器端启动一个套接字监听来自客户端的连接请求,根据这些附加的头信息然后产生应答信息返回给客户端,客户端和服务器端的WebSocket连接就建立起来了。
[0030]步骤S130,通过与客户端之间的预置实时连接接收监控页面收集的监控请求信肩、O
[0031]监控请求信息包括目标服务器的信息,例如目标服务器的主机名(hostname)或ip地址。监控请求信息还包括对该目标服务器的监控命令,例如,对于Linux系统,要获知目标服务器的CPU使用状态或内存使用状态,则监控命令可以是Linux下常用的top命令(系统状态查询命令),要获知磁盘状态、1/0状态等,监控命令可以是1stat命令(I/O状态命令),对于数据库管理
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1