分布式服务器状态实时监测系统及方法

文档序号:6641015阅读:172来源:国知局
分布式服务器状态实时监测系统及方法
【专利摘要】本发明提供了一种分布式服务器状态实时监测系统及方法,所述监测系统包含:状态采集单元,实时数据库,关系数据库,监测单元;所述状态采集单元与分布式服务器相连,用于采集所述分布式服务器的实时状态信息并发送;所述实时数据库与所述状态采集单元相连,用于保存接收到的所述状态采集单元发送的所述分布式服务器的实时状态信息;所述关系数据库与所述监测单元相连,用于存储分布式服务器的静态信息;所述监测单元分别与所述实时数据库和所述关系数据库相连,用于根据所述实时数据库中分布式服务器的实时状态信息与所述关系数据库中分布式服务器的静态信息,输出分布式服务器实时负荷状态。
【专利说明】分布式服务器状态实时监测系统及方法

【技术领域】
[0001]本发明涉及分布式服务器状态实时监测系统及方法,特别涉及一种基于实时数据库的服务器运行实时状态数据监测系统及方法。

【背景技术】
[0002]为了提高系统处理能力,越来越多的大型的信息系统采用服务器分布式部署方式,数据通过网络远程传输,互相协作,实现一个完整的系统。分布式节点的正常运行是系统稳定运行的基础,当前技术中,对于服务器的监控大多基于关系数据库中的静态数据进行判断,该方式不会用到实时数据库,实时性不高,无法有效判断当前服务器负荷状态,且现有的应用系统中扩充性也较差,难以扩充监测节点的数量,因此,现有技术中并没有一种可以有效的实时获取分布式节点运行情况的方法及装置,鉴于信息系统中,分布式节点状态的重要性,本领域现急需要一种方法可以实时在线监测分布式服务器的运行状态,及时发现异常,并在第一时间排除异常的系统及方法。


【发明内容】

[0003]本发明的目的在于,提供一种分布式服务器状态实时监测系统及方法,实时监测分布式服务器负荷状态,保证了分布式服务器的稳定运行。
[0004]为达上述目的,本申请提供的分布式服务器状态实时监测系统,具体如下:状态采集单元,实时数据库,关系数据库,监测单元;所述状态采集单元与分布式服务器相连,用于采集所述分布式服务器的实时状态信息并发送;所述实时数据库与所述状态采集单元相连,用于保存接收到的所述状态采集单元发送的所述分布式服务器的实时状态信息;所述关系数据库与所述监测单元相连,用于存储分布式服务器的静态信息;所述监测单元分别与所述实时数据库和所述关系数据库相连,用于根据所述实时数据库中分布式服务器的实时状态信息与所述关系数据库中分布式服务器的静态信息,输出分布式服务器实时负荷状
--τ O
[0005]在上述分布式服务器状态实时监测系统中,所述状态采集单元包含:客户端与多个服务端;所述服务端,用于采集分布式服务器当前实时状态信息;所述客户端,用于获取所述服务端采集到的所述实时状态信息并传输至实时数据库。
[0006]在上述分布式服务器状态实时监测系统中,所述服务端包含多个线程,将每个监控任务封装在一个服务类中,每个服务类将由一个线程调用执行。
[0007]在上述分布式服务器状态实时监测系统中,所述服务端的监控任务包含:内存监控服务、CPU监控服务、网络连通测试服务、进程监控服务、硬盘监控服务和监控缓存服务。
[0008]在上述分布式服务器状态实时监测系统中,所述服务端还包含一时钟单元,所述时钟单元用于控制服务端定时采集对应分布式主机的实时状态信息。
[0009]在上述分布式服务器状态实时监测系统中,所述服务端还包含一发布单元,所述发布单元用于将服务端采集到的实时状态信息通过Web Service形式发布,供客户端程序调用。
[0010]本申请还提供一种分布式服务器状态实时监测方法,所述监测方法包含:状态采集单元采集所述分布式服务器的实时状态信息并发送;实时数据库保存接收到的所述状态采集单元发送的所述分布式服务器的实时状态信息;关系数据库存储分布式服务器的静态信息;监测单元根据所述实时数据库中分布式服务器的实时状态信息与所述关系数据库中分布式服务器的静态信息,输出分布式服务器实时负荷状态。
[0011]在上述分布式服务器状态实时监测方法中,所述采集所述分布式服务器的实时状态信息并发送包含:服务端采集分布式服务器当前实时状态信息;客户端将采集到的所述实时状态信息并传输至实时数据库。
[0012]在上述分布式服务器状态实时监测方法中,所述采集分布式服务器当前实时状态信息包含:服务端建立多个线程,将每个监控任务封装在一个服务类中,每个服务类将由一个线程调用执行。
[0013]在上述分布式服务器状态实时监测方法中,所述监控任务包含:内存监控服务、cpu监控服务、网络连通测试服务、进程监控服务、硬盘监控服务和监控缓存服务。
[0014]在上述分布式服务器状态实时监测方法中,所述采集分布式服务器当前实时状态信息还包含:服务端定时采集对应分布式主机的实时状态信息。
[0015]在上述分布式服务器状态实时监测方法中,所述采集分布式服务器当前实时状态信息还包含:将服务端采集到的实时状态信息通过Web Service形式发布,供客户端程序调用。
[0016]本发明的有益技术效果在于:解决了分布式服务器实时监测的问题,实现了 Web客户端在线监测服务器运行的任务,在分布式服务器发现异常时,及时采取措施,保证了分布式服务器的稳定运行。

【专利附图】

【附图说明】
[0017]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见的,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0018]图1为本发明提出的分布式服务器状态实时监测系统示意图,展示整体方法和程序部署;
[0019]图2为本发明提出分布式服务器状态实时监测系统中状态采集单元运行流程图;
[0020]图3为本发明提出的分布式服务器状态实时监测系统获得的分布式服务器拓扑图不意图;
[0021]图4为本发明提出的分布式服务器状态实时监测系统中,监测单元监测到的系统单台分布式服务器的状态监测效果图。

【具体实施方式】
[0022]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0023]本发明提出一种分布式服务器状态实时监测方法,利用Java程序跨平台的优点,实现各个分布式节点的状态监控程序;借助实时数据库,处理Java程序反馈的服务器状态数据;借助关系型数据库,存储分布式服务器的静态信息(IP、服务器名、服务器功能、服务器操作系统等);开发一款Web监测系统,访问关系数据库,获取服务器静态信息,并访问实时数据库,实时显示服务器状态数据,并展示分布式服务器的拓扑图。
[0024]为实现上述目的,本所提供的分布式服务器状态实时监测系统如图1所示,该分布式服务器状态实时监测系统示意图,具体如下:状态采集单元,实时数据库,关系数据库,监测单元;所述状态采集单元与分布式服务器相连,用于采集所述分布式服务器的实时状态信息并发送;所述实时数据库与所述状态采集单元相连,用于保存接收到的所述状态采集单元发送的所述分布式服务器的实时状态信息;所述关系数据库与所述监测单元相连,用于存储分布式服务器的静态信息;所述监测单元分别与所述实时数据库和所述关系数据库相连,用于根据所述实时数据库中分布式服务器的实时状态信息与所述关系数据库中分布式服务器的静态信息,输出分布式服务器实时负荷状态。
[0025]在上述实施例中,关系数据库存储的静态信息包含:每一台分布式主机的应用场景,内存大小,cpu标准工作占有率,标准进程数等信息,通过将所述静态信息与实时数据信息进行比对,监测单元可根据对应分布式主机的应用场景判断所述分布式主机是否超出负荷,并将结果显示。
[0026]其中,所述监测单元判断所述分布式主机是否超出负荷具体如下:根据关系数据库中存储的当前分布式主机的运行场景,判断当前分布式主机是否工作正常,比如,该分布式正常工作时,内存应剩余IG至1.5G,硬盘剩余5TB至10TB,cpu占用为60%到70%,当前实时数据信息获得内存剩余为1.2G,硬盘剩余4TB,cpu占用90%,则判断该分布式主机当前cpu占用与硬盘容量异常,并输出显示。用户则可根据显示信息去清理硬盘内容,调整cpu的占用率,已保证分布式主机正常工作。
[0027]其中,上述受监控的分布式服务器具体包含:ESB总线服务器、应用服务器、功图服务器、Cognos报表服务器、SQLServer服务器、Oracle服务器、实时数据库服务器、组态软件服务器、Java应用程序服务器等。
[0028]在上述分布式服务器状态实时监测系统中,所述状态采集单元包含:客户端与多个服务端;所述服务端,用于采集分布式服务器当前实时状态信息;所述客户端,用于获取所述服务端采集到的所述实时状态信息并传输至实时数据库。
[0029]在上述分布式服务器状态实时监测系统中,所述服务端包含多个线程,将每个监控任务封装在一个服务类中,每个服务类将由一个线程调用执行。
[0030]在上述分布式服务器状态实时监测系统中,所述服务端的监控任务包含:内存监控服务、CPU监控服务、网络连通测试服务、进程监控服务、硬盘监控服务和监控缓存服务。
[0031]在上述分布式服务器状态实时监测系统中,所述服务端还包含一时钟单元,所述时钟单元用于控制服务端定时采集对应分布式主机的实时状态信息。
[0032]在上述分布式服务器状态实时监测系统中,所述服务端还包含一发布单元,所述发布单元用于将服务端采集到的实时状态信息通过Web Service形式发布,供客户端程序调用。
[0033]在实际工作中,状态采集单元即为服务器状态采集Java程序,具体可包含:客户端程序和服务端程序。服务端程序:采用多线程设计,将每个监控任务封装在一个服务类中,每个服务类将由一个线程调用执行。内存监控服务(获取内存总数、获取内存剩余量、获取内存使用量、获取内存使用率、获取内存信息)、CPU监控服务(获取CPU利用率)、网络连通测试服务、进程监控服务(获取进程信息),硬盘监控服务(获取硬盘及分区使用信息),监控缓存服务(缓存用来存放定时采集到的最新信息,包括CPU、硬盘等信息)。服务端程序在每个分布式服务器部署一份套,定时采集服务器运行信息,并以Web Service形式发布服务,供客户端程序调用。客户端程序:根据配置文件,访问分布式服务器上的服务,并把获取的监控信息转存至实时数据库。(由于关系数据库的并发性能不高,这里选用实时数据库保存实时数据)。
[0034]在上述分布式服务器状态实时监测系统中,实时数据库包含:汇集Java监测程序采集的服务器状态信息,提供查询服务。SQL Server数据库:提供存储过程方法,帮助服务器状态采集Java客户端程序完成实时数据的存储。
[0035]在上述分布式服务器状态实时监测系统中,关系型数据库包含:存储分布式服务器的静态信息。
[0036]在上述分布式服务器状态实时监测系统中,监测单元即Web监测系统:提供查看分布式服务器的运行状态拓扑图。通过访问关系数据库,获取服务器静态信息,并访问实时数据库,实时显示服务器状态数据,并展示分布式服务器的拓扑图,该拓扑图请参考图3所不O
[0037]本申请还提供一种分布式服务器状态实时监测方法,所述监测方法包含:状态采集单元采集所述分布式服务器的实时状态信息并发送;实时数据库保存接收到的所述状态采集单元发送的所述分布式服务器的实时状态信息;关系数据库存储分布式服务器的静态信息;监测单元根据所述实时数据库中分布式服务器的实时状态信息与所述关系数据库中分布式服务器的静态信息,输出分布式服务器实时负荷状态。
[0038]在上述分布式服务器状态实时监测方法中,所述采集所述分布式服务器的实时状态信息并发送包含:服务端采集分布式服务器当前实时状态信息;客户端将采集到的所述实时状态信息并传输至实时数据库。
[0039]在上述分布式服务器状态实时监测方法中,所述采集分布式服务器当前实时状态信息包含:服务端建立多个线程,将每个监控任务封装在一个服务类中,每个服务类将由一个线程调用执行。
[0040]在上述分布式服务器状态实时监测方法中,所述监控任务包含:内存监控服务、cpu监控服务、网络连通测试服务、进程监控服务、硬盘监控服务和监控缓存服务。
[0041]在上述分布式服务器状态实时监测方法中,所述采集分布式服务器当前实时状态信息还包含:服务端定时采集对应分布式主机的实时状态信息。
[0042]在上述分布式服务器状态实时监测方法中,所述采集分布式服务器当前实时状态信息还包含:将服务端采集到的实时状态信息通过Web Service形式发布,供客户端程序调用。
[0043]本发明的有益技术效果在于:解决了分布式服务器实时监测的问题,实现了 Web客户端在线监测服务器运行的任务,在分布式服务器发现异常时,及时采取措施,保证了分布式服务器的稳定运行。
[0044]如图2所示,图2为本发明提出分布式服务器状态实时监测系统中状态采集单元运行流程图,在图2中状态采集单元的服务端建立多个线程,将每个监控任务封装在一个服务类中,每个服务类将由一个线程调用执行,如图2右侧所示。该服务端的监测任务包含:内存监控服务、cpu监控服务、网络连通测试服务、进程监控服务、硬盘监控服务和监控缓存服务。
[0045]在上述分布式服务器状态实时监测方法中,所述采集分布式服务器当前实时状态信息还包含:将服务端采集到的实时状态信息通过Web Service形式发布,供客户端程序调用。
[0046]在图2所示的流程图的左侧为状态实时监测系统中客户端工作流程,该客户端首先读取配置文件,获取服务端的配置及状态信息;然后通过Web Service获取服务端监控获得的分布式服务器的实时状态信息,其次,根据预先设置的配置流程,获得实时数据库中存储信息,根据对比获得实时状态信息与实时数据库中获得存储信息是否存在差异,确定是否更新实时数据库中数据信息。
[0047]在上述更新实时数据库汇总数据信息中具体包含,通过将实时数据库中的数据信息与当前从服务端获得实时状态信息作比较,如实时状态信息与实时数据库中的数据信息不同,则将所述实时状态信息发送至实时数据库中,更新实时数据库中的数据信息,如实时状态信息与实时数据库中的数据信息相同,则跳至通过Web Service获取服务端监控获得的分布式服务器的实时状态信息这一步骤中,循环进行调取服务端获得的实时状态信息与实时数据库中的数据信息进行比对。
[0048]如图3所示,图3为Web监测系统拓扑图展示效果,当监测单元获取到关系数据库中的静态信息与实时数据库中的实时状态信息后,显示如3所示的拓扑图至当前显示页面,用户可根据当前拓扑图直观了解当到当前分布式主机状态,以此实时监测当前分布式主机,在分布式服务器发现异常时,及时采取措施,保证了分布式服务器的稳定运行。
[0049]如图4所示,图4为本发明提出的分布式服务器状态实时监测系统中,监测单元监测到的系统单台分布式服务器的状态监测效果图,工作人员可根据该监测图有效了解当前该分布式服务器主机状态,并根据该状态去控制分布式服务器稳定运行。
[0050]本发明采用Java多线程及并发控制技术,实现了分布式服务器运行状态监测,特征如下:采用客户端服务端模型,运行于分布式环境中;客户端是主控程序端,负责调用服务端程序服务,完成实时数据库数据存储;服务端完成本地服务器状态参数的获取,并以Web Service的形式发布接口,供客户端程序调用。多种类型的数据存储,利用实时数据库进行监测采集数据的汇集,利用关系库存储分布式服务器的静态信息;Web端系统可以同时访问关系数据库和实时数据库,借助拓扑图展示分布式系统的运行状态。
[0051]以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种分布式服务器状态实时监测系统,其特征在于,所述监测系统包含:状态采集单元,实时数据库,关系数据库,监测单元; 所述状态采集单元与分布式服务器相连,用于采集所述分布式服务器的实时状态信息并发送; 所述实时数据库与所述状态采集单元相连,用于保存接收到的所述状态采集单元发送的所述分布式服务器的实时状态信息; 所述关系数据库与所述监测单元相连,用于存储分布式服务器的静态信息; 所述监测单元分别与所述实时数据库和所述关系数据库相连,用于根据所述实时数据库中分布式服务器的实时状态信息与所述关系数据库中分布式服务器的静态信息,输出分布式服务器实时负荷状态。
2.根据权利要求1所述的分布式服务器状态实时监测系统,其特征在于,所述状态采集单元包含:客户端与多个服务端; 所述服务端,用于采集分布式服务器当前实时状态信息; 所述客户端,用于获取所述服务端采集到的所述实时状态信息并传输至实时数据库。
3.根据权利要求2所述的分布式服务器状态实时监测系统,其特征在于,所述服务端包含多个线程,将每个监控任务封装在一个服务类中,每个服务类将由一个线程调用执行。
4.根据权利要求3所述的分布式服务器状态实时监测系统,其特征在于,所述服务端的监控任务包含:内存监控服务、cpu监控服务、网络连通测试服务、进程监控服务、硬盘监控服务和监控缓存服务。
5.根据权利要求4所述的分布式服务器状态实时监测系统,其特征在于,所述服务端还包含一时钟单元,所述时钟单元用于控制服务端定时采集对应分布式主机的实时状态信息。
6.根据权利要求2所述的分布式服务器状态实时监测系统,其特征在于,所述服务端还包含一发布单元,所述发布单元用于将服务端采集到的实时状态信息通过Web Service形式发布,供客户端程序调用。
7.一种分布式服务器状态实时监测方法,其特征在于,所述监测方法包含: 状态采集单元采集所述分布式服务器的实时状态信息并发送; 实时数据库保存接收到的所述状态采集单元发送的所述分布式服务器的实时状态信息; 关系数据库存储分布式服务器的静态信息; 监测单元根据所述实时数据库中分布式服务器的实时状态信息与所述关系数据库中分布式服务器的静态信息,输出分布式服务器实时负荷状态。
8.根据权利要求7所述的分布式服务器状态实时监测方法,其特征在于,所述采集所述分布式服务器的实时状态信息并发送包含: 服务端采集分布式服务器当前实时状态信息; 客户端将采集到的所述实时状态信息并传输至实时数据库。
9.根据权利要求8所述的分布式服务器状态实时监测方法,其特征在于,所述采集分布式服务器当前实时状态信息包含:服务端建立多个线程,将每个监控任务封装在一个服务类中,每个服务类将由一个线程调用执行。
10.根据权利要求9所述的分布式服务器状态实时监测方法,其特征在于,所述监控任务包含:内存监控服务、CPU监控服务、网络连通测试服务、进程监控服务、硬盘监控服务和监控缓存服务。
11.根据权利要求9所述的分布式服务器状态实时监测方法,其特征在于,所述采集分布式服务器当前实时状态信息还包含:服务端定时采集对应分布式主机的实时状态信息。
12.根据权利要求9所述的分布式服务器状态实时监测方法,其特征在于,所述采集分布式服务器当前实时状态信息还包含:将服务端采集到的实时状态信息通过Web Service形式发布,供客户端程序调用。
【文档编号】G06F11/34GK104503894SQ201410855779
【公开日】2015年4月8日 申请日期:2014年12月31日 优先权日:2014年12月31日
【发明者】龚仁彬, 李群, 马刚, 王从镔, 柴永财, 曹戈俊, 姚刚, 李金诺, 吴海莉 申请人:中国石油天然气股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1