一种服务器集群监控系统的制作方法
【专利摘要】本发明实施例公开了一种服务器集群监控系统。该系统包括PHP控制命令生成装置、控制脚本模块和PHP脚本控制器,服务器集群中的每个被监控节点上分别安装有PHP脚本控制器,各个PHP脚本控制器分别通过各自的控制脚本模块与PHP控制命令生成装置相连;PHP控制命令生成装置基于PHP语言生成监控命令,将各个被监控节点的监控命令发给相应的PHP脚本控制器;控制脚本模块将所述PHP控制命令生成装置发来的监控命令发给与该控制脚本模块相连的PHP脚本控制器;PHP脚本控制器接收所述控制脚本模块发来的监控命令,基于PHP语言对被监控节点执行监控操作。本发明实施例能够适合大规模服务器集群的监控。
【专利说明】一种服务器集群监控系统
【技术领域】
[0001]本申请涉及互联网【技术领域】,尤其涉及一种服务器集群监控系统。
【背景技术】
[0002]随着云计算与大数据时代的来临,往往各个大型应用包含各种各样的服务内容,这些服务需要部署在多台服务器上,从而使得服务器集群量级越来越大。例如:某个应用可能部署了 20台数据库服务器,100台Web Http服务器以及50台静态文件存储服务器等。
[0003]大规模服务器集群的监控一直是比较难解决的问题,特别是宏观化的集群控制是当前集群系统管理方面需要解决的问题之一。
[0004]现有的服务器集群监控主要有两种模式,一种模式是采用传统的命令行模式,由管理人员通过远程的方式登陆到被监控的节点,使被监控的节点执行系统命令,从而实现对被监控的节点的控制,这种处理方式需要集群管理员一台一台地登录到被监控节点去管理这些被监控节点,而且对于同一种服务(比如数据库服务)的被监控节点需要执行的管理任务又都大致相同,因此,这种处理方式的管理效率低下,管理人员工作量大,事故发生率较高,只适合小规模集群管理系统。
[0005]另一种模式是通过网络设备上安装的独立的监控系统对集群进行控制,这种模式通常需要增加投入价值不菲的独立的监控系统,一方面,该独立的监控系统需要的运行环境通常与被监控节点上的运行环境不相同,因此,需要在被监控节点上建设该独立的监控系统所需要的运行环境,导致该独立的监控系统会对现有的集群网络中的被监控节点造成影响,另一方面,由于该独立的监控系统与各个被监控节点之间通过硬件方式连接,因此,只适用于监控小规模的服务器集群,如果服务器集群规模需要扩充,比如服务器集群需要遍布多个不同地点,则该独立的监控系统难以对动态规模扩充后的服务器集群进行监控。
[0006]可见,现有的服务器集群监控和管理模式要么管理效率低下、管理人员工作量大,要么需要对被监控节点造成影响、且只能针对小规模的服务器集群进行管理、无法进行规模扩充,因此,都不适合于大规模服务器集群的监控。
【发明内容】
[0007]有鉴于此,本发明提供了一种服务器集群监控系统,能够适合于大规模服务器集群的监控。
[0008]一种服务器集群监控系统,该系统包括超文本预处理语言(PHP)控制命令生成装置、控制脚本模块和PHP脚本控制器,其中,服务器集群中的每个被监控节点上分别安装有所述PHP脚本控制器,各个PHP脚本控制器分别通过各自的控制脚本模块与所述PHP控制命令生成装置相连;
[0009]所述PHP控制命令生成装置,基于PHP语言生成用于控制各个被监控节点的监控命令,分别通过与各个被监控节点上的PHP脚本控制器相连的控制脚本模块,将各个被监控节点的监控命令发给相应被监控节点上的PHP脚本控制器;[0010]所述控制脚本模块,用于将所述PHP控制命令生成装置发来的监控命令发给与该控制脚本模块相连的PHP脚本控制器;
[0011]所述PHP脚本控制器,用于接收所述控制脚本模块发来的监控命令,根据所述监控命令,基于PHP语言对被监控节点执行监控操作。
[0012]由上述技术方案可见,本发明实施例提供的服务器集群监控系统,通过PHP控制命令生成装置生成用于控制各个被监控节点的控制命令,并分别通过与各个被监控节点上的PHP脚本控制器相连的控制脚本模块,将各个被监控节点的监控命令发给相应被监控节点上的PHP脚本控制器,由PHP脚本控制器根据所述控制命令执行监控操作,因此,无需管理人员一一登陆各个被监控节点进行监控操作,解决了现有采用传统的命令行模式进行服务器集群监控所带来的管理效率低下、管理人员工作量大的技术问题。
[0013]并且,由于本发明实施例提供的服务器集群监控系统中,PHP控制命令生成装置是基于PHP语言生成监控命令,PHP脚本控制器也是基于PHP语言根据所述监控命令执行对被监控节点的监控操作,由于PHP语言与现有服务器集群中各个被监控节点所广泛采用的数据库、操作系统、C语言程序以及C++程序等的运行环境能够兼容,因此,无需对被监控节点进行改造,不会对被监控节点造成影响,当需要进行规模扩充时,只要在新增加的被监控节点上布置相应的PHP脚本控制器和控制脚本模块、使得PHP控制命令生成装置能够生成相应的控制命令并发给新增的控制脚本模块,就能够轻松实现规模扩充,可见,本发明实施例提供的服务器集群监控系统非常适合于大规模服务器集群的监控。
【专利附图】
【附图说明】
[0014]图1是本发明实施例提供的服务器集群监控系统的组成示意图。
【具体实施方式】
[0015]图1是本发明实施例提供的服务器集群监控系统的组成示意图。
[0016]如图1所示,该系统包括:超文本预处理语言(PHP)控制命令生成装置101、控制脚本模块102和PHP脚本控制器103,其中,服务器集群中的每个被监控节点I?N (假设服务器集群中一共有N个被监控节点,N为自然数)上分别安装有PHP脚本控制器103-1?103-N,各个PHP脚本控制器103-1?103-N分别通过各自的控制脚本模块102-1?102-N与所述PHP控制命令生成装置101相连。
[0017]其中,PHP控制命令生成装置101,基于PHP语言生成用于控制各个被监控节点的监控命令,分别通过与各个被监控节点上的PHP脚本控制器103相连的控制脚本模块102,将各个被监控节点的监控命令发给相应被监控节点上的PHP脚本控制器103。
[0018]控制脚本模块102,用于将所述PHP控制命令生成装置101发来的监控命令发给与该控制脚本模块102相连的PHP脚本控制器103。
[0019]PHP脚本控制器103,用于接收所述控制脚本模块102发来的监控命令,根据所述监控命令,基于PHP语言对被监控节点执行监控操作。
[0020]图1所示的实施例中,PHP控制命令生成装置101和PHP脚本控制器103都是基于PHP语言实现的,控制脚本模块102可以基于PHP语言或者与PHP语言兼容的其他语言实现。[0021]其中,所述的PHP语言是一种HTML内嵌式的语言,语言的风格类似于C语言,PHP语言独特的语法混合了 C语言、Java、Perl以及PHP自创的语法。它可以比CGI或者Perl更快速地执行动态网页。用PHP语言做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP语言支持几乎所有流行的数据库以及操作系统,而且,PHP语言可以用C语言、C++进行程序的扩展。
[0022]基于PHP语言的上述优点,目前,PHP语言被广泛地运用于网页等互联网前端设计当中。然而,目前PHP语言也仅局限于网页等互联网前端设计当中。
[0023]如图1所示,本发明实施例将PHP语言引入到服务器集群系统的监控领域,同时配以如图1所示的系统组成结构,使得无需对被监控节点进行改造就能够实现服务器集群的监控,并且,当需要进行规模扩充时,只要在新增加的被监控节点上布置相应的PHP脚本控制器和控制脚本模块、使得PHP控制命令生成装置能够生成相应的控制命令并发给新增的控制脚本模块,就能够轻松实现规模扩充,因此非常适合于大规模服务器集群的监控。
[0024]图1所示的实施例中,每个PHP脚本控制器和该PHP脚本控制器的控制脚本模块通常设置在同一个被监控节点上,例如,PHP脚本控制器103-1和控制脚本模块102-1都设置在被监控节点I上、PHP脚本控制器103-2和控制脚本模块102-2都设置在被监控节点2上……PHP脚本控制器103-N和控制脚本模块102-N都设置在被监控节点N上。其中,优选地,PHP脚本控制器103的控制脚本模块102通过网络通信的方式与PHP控制命令生成装置101相连,换言之,控制脚本模块102和PHP控制命令生成装置101采用的是软连接而不是硬连接,因此,使得扩充监控规模变得更加方便。
[0025]其中,PHP控制命令生成装置101可以位于所述服务器集群中的被监控节点上,例如,位于任意被监控节点上,或者,位于性能满足预定要求的被监控节点上;或者,PHP控制命令生成装置101也可以位于独立于所述服务器集群的另外的设备上。
[0026]PHP控制命令生成装置101,可以根据自定义的脚本任务内容,基于PHP语言生成用于控制各个被监控节点的监控命令,这种情况下,图1所示的监控系统相当于一个独立的监控系统;或者,PHP控制命令生成装置101也可以接收来自另一控制装置的脚本任务,根据来自另一控制装置的脚本任务内容,基于PHP语言生成用于控制各个被监控节点的监控命令,这种情况下,图1所示的监控系统相当于是一个更大的监控系统的子系统,能够执行该更大的监控系统赋予的监控子任务。
[0027]由上述描述可见,通过本发明实施例,可以将常用的集群控制方法写成模块化的PHP控制命令生成装置,将与所述PHP控制命令生成装置相配合的PHP脚本控制器和控制脚本模块部署在每个被监控节点上,通过PHP控制命令生成装置发出控制指令,PHP脚本控制器接收到命令后执行控制,实现在宏观上控制集群的功能,解决了大规模集群的管理和控制问题。
[0028]本发明实施例还能够针对不同应用场景,对服务器进行高效的分组管理。例如,PHP控制命令生成装置101根据被监控节点的类型生成相应的监控命令,通过向相同类型的被监控节点上的PHP脚本控制器103发送同一类别的监控命令,实现对服务器的分组管理。
[0029]本发明实施例中,PHP控制命令生成装置101既可以执行另一控制装置发来的脚本内容,使得图1所示的监控系统执行另一控制装置所在的总控系统布置的子任务,也可以执行自定义的脚本内容,实现独立控制相应的服务器集群,同时,图1所示系统可以动态扩充集群监控规模,具有高度灵活性,非常适合大规模服务器集群的管理。
[0030]本发明实施例提供的监控系统本身是基于被监控服务器原有的PHP运行环境实现的,无需增加新的设备以及应用系统,也不会对原有的服务器集群的网络结构造成影响。
[0031]以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
【权利要求】
1.一种服务器集群监控系统,其特征在于,该系统包括超文本预处理语言(PHP)控制命令生成装置、控制脚本模块和PHP脚本控制器,其中,服务器集群中的每个被监控节点上分别安装有所述PHP脚本控制器,各个PHP脚本控制器分别通过各自的控制脚本模块与所述PHP控制命令生成装置相连; 所述PHP控制命令生成装置,基于PHP语言生成用于控制各个被监控节点的监控命令,分别通过与各个被监控节点上的PHP脚本控制器相连的控制脚本模块,将各个被监控节点的监控命令发给相应被监控节点上的PHP脚本控制器; 所述控制脚本模块,用于将所述PHP控制命令生成装置发来的监控命令发给与该控制脚本模块相连的PHP脚本控制器; 所述PHP脚本控制器,用于接收所述控制脚本模块发来的监控命令,根据所述监控命令,基于PHP语言对被监控节点执行监控操作。
2.根据权利要求1所述的系统,其特征在于, 每个PHP脚本控制器和该PHP脚本控制器的控制脚本模块设置在同一个被监控节点上,该PHP脚本控制器的控制脚本模块通过网络通信的方式与所述PHP控制命令生成装置相连。
3.根据权利要求1所述的系统,其特征在于,所述PHP控制命令生成装置位于所述服务器集群中的被监控节点上,或者,所述PHP控制命令生成装置位于独立于所述服务器集群的另外的设备上。
4.根据权利要求1所述的系统,其特征在于, 所述PHP控制命令生成装置,用于根据自定义的脚本任务内容、或者根据来自另一控制装置的脚本任务内容,基于PHP语言生成用于控制各个被监控节点的监控命令。
5.根据权利要求1所述的系统,其特征在于, 所述控制脚本模块,基于PHP语言或者与PHP语言兼容的其他语言将所述PHP控制命令生成装置发来的监控命令发给与该控制脚本模块相连的PHP脚本控制器。
【文档编号】H04L29/08GK103595804SQ201310589087
【公开日】2014年2月19日 申请日期:2013年11月20日 优先权日:2013年11月20日
【发明者】李彦兵 申请人:北京京东尚科信息技术有限公司