Java虚拟机的管理方法、监控系统和监控代理模块的制作方法

文档序号:6423688阅读:135来源:国知局
专利名称:Java虚拟机的管理方法、监控系统和监控代理模块的制作方法
技术领域
本发明属于监控技术领域,具体涉及一种Java虚拟机(JVM,Java VirtualMachine)的管理方法、监控系统和监控代理模块。
背景技术
单机监控装置是目前比较流行的监控工具,如图1所示。它和被监控的JVM安装于同一台设备中,通过在本机启动该装置进行管理,比如监控、操作。但是,随着互联网的快速发展以及电信业务的不断增多,一个大型网站往往需要几百台甚至上万台服务器采取分布式技术进行协同工作。这种情况下,对每台服务器启动单机监控装置进行管理几乎不可能。

发明内容
本发明要解决的主要技术问题是提供一种Java虚拟机的管理方法、监控系统和监控代理模块,实现对至少一台设备的Java虚拟机进行集中远程管理,大大减少了管理的成本。为解决上述技术问题,本发明提供一种Java虚拟机的管理方法,包括步骤设置Java管理扩展服务器,将至少一个Java虚拟机的封装有该Java虚拟机管理功能的MBean资源注册到所述Java管理扩展服务器;访问至少一个Java虚拟机注册在Java管理扩展服务器上的MBean资源,以对所述被访问Mbean资源的Java虚拟机进行远程管理。一实施例中,所述将至少一个Java虚拟机的封装有该Java虚拟机管理功能的 MBean资源注册到所述Java管理扩展服务器之前还包括步骤对其中一个Java虚拟机,构建其Java虚拟机工具接口的代理接口,所述代理接口提供该Java虚拟机的全部管理信息;将所述代理接口封装为具有该Java虚拟机管理功能的MBean资源。一实施例中,所述对所述被访问Mbean资源的Java虚拟机进行远程管理具体为将注册在Java管理扩展服务器上的MBean资源封装成可以供可视化管理界面调用的接口 ;调用所述接口,在可视化界面上显示该MBean资源对应的Java虚拟机的管理信息;远程管理该Java虚拟机。一种监控系统,包括Java管理扩展服务器、管理模块以及 至少一个Java虚拟机, 其中,每个Java虚拟机均对应设置有监控代理模块,所述监控代理模块用于将封装有其监控的Java虚拟机管理功能的MBean资源注册到Java管理扩展服务器;所述Java管理扩展服务器,与监控代理模块连接,用于注册Java虚拟机管理功能的MBean资源;所述管理模块,与Java管理扩展服务器连接,用于访问至少一个Java虚拟机注册在Java管理扩展服务器上的MBean资源,以对所述被访问Mbean资源的Java虚拟机进行远程管理。 一实施例中,所述监控代理模块还用于构建其监控的Java虚拟机的Java虚拟机工具接口的代理接口,所述代理接口提供其监控的Java虚拟机的全部管理信息;将所述代理接口封装为具有其监控的Java虚拟机管理功能的MBean资源。一实施例中,所述Java管理扩展服务器还包括连接器,所述管理模块通过所述连接器访问至少一个Java虚拟机注册在Java管理扩展服务器上的MBean资源。一实施例中,所述管理模块具体用于将注册在Java管理扩展服务器上的MBean资源封装成可以供可视化管理界面调用的接口 ;调用所述接口,在可视化界面上显示该MBean资源对应的Java虚拟机的管理信息;远程管理该Java虚拟机。一实施例中,所述管理模块以图形或者表格形式显示被访问Mbean资源的Java虚拟机的管理信息。一种监控代理模块,包括注册单元,用于将封装有其监控的Java虚拟机管理功能的MBean资源注册到Java 管理扩展服务器。一实施例中,所述监控代理模块还包括构建单元,用于构建其监控的Java虚拟机的Java虚拟机工具接口的代理接口,所述代理接口提供其监控的Java虚拟机的全部管理信息;封装单元,用于将所述代理接口封装为具有其监控的Java虚拟机管理功能的 MBean资源。与现有技术相比,本发明通过设置Java管理扩展服务器,将至少一个Java虚拟机的封装有该Java虚拟机管理功能的MBean资源注册到所述Java管理扩展服务器,再通过管理模块连接到Java管理扩展服务器,访问至少一个Java虚拟机注册在Java管理扩展服务器上的MBean资源,以对所述被访问Mbean资源的Java虚拟机进行集中远程管理,大大减少了管理的成本。


图1为单机监控装置示意图;图2为本发明实施例提供的一种Java虚拟机的管理方法流程图;图3为本发明实施例提供的一种监控系统组成框图;图4为本发明实施例提供的一种监控代理模块原理框图。
具体实施例方式下面通过具体实施方式
结合附图对本发明作进一步详细说明。本发明通过设置Java管理扩展服务器,将至少一个Java虚拟机的封装有该Java虚拟机管理功能的MBean资源注册到所述Java管理扩展服务器,再通过管理模块连接到 Java管理扩展服务器,访问至少一个Java虚拟机注册在Java管理扩展服务器上的MBean 资源,以对所述被访问Mbean资源的Java虚拟机进行集中远程管理,大大减少了管理的成本。请参阅图2所示,图2为本发明实施例提供的一种Java虚拟机的管理方法流程图,包括步骤步骤201 构建其中一个Java虚拟机的Java虚拟机工具接口(JVMTI, JavaVirtual Machine Tool Interface)的代理(Agent)接口,所述代理接口提供该 Java 虚拟机的全部管理信息,比如需要监控、操作以及异常需要修正的信息。Java虚拟机内,JVMTI提供一种编程接口,允许软件开发人员创建软件代理以监视和控制Java编程语言应用程序。通过JVMTI接口可以使用C/C++创建代理程序(Agent) 以监视和控制JVM和Java应用程序,包括剖析、调试、监控、线程分析、线程操作、垃圾回收、 死锁判定等等。步骤202 将所述代理接口封装为具有该Java虚拟机的管理功能的 MBean(Managed Bean)罾ill。 步骤203 设置Java管理扩展服务器。 步骤204 将封装有该Java虚拟机管理功能的MBean资源注册到Java管理扩展 (JMX, Java Management Extensions)月艮务器。JMX是一个为应用程序、设备、系统等植入管理功能的框架。JMX可以跨越一系列异构操作系统平台、系统体系结构和网络传输协议,灵活的开发无缝集成的系统、网络和服务管理应用。可以使得Java应用程序非常容易地被远程管理。步骤205-206 访问注册在Java管理扩展服务器上的MBean资源,对所述被访问 Mbean资源的Java虚拟机进行远程管理。重复上述步骤,依次对多个Java虚拟机进行设置,以实现集中统一管理。通过上述方法,实现了远程管理所有装有监控代理的JVM,大大减小了管理成本。请参阅图3所示,图3本发明实施例提供的一种监控系统组成框图,包括Java管理扩展服务器、管理模块和至少一个Java虚拟机,其中,每个Java虚拟机均对应设置有监控代理模块,所述监控代理模块用于将封装有其监控的Java虚拟机管理功能的MBean资源注册到Java管理扩展服务器;所述Java管理扩展服务器,与监控代理模块连接,用于注册 Java虚拟机管理功能的MBean资源。Java管理扩展服务器对内它通过JMX服务器维护着监控代理模块注册的MBean的生命周期(包括注册和注销MBean),同时为所注册的MBean 提供各类服务,对外通过连接器将已注册的MBean的管理接口暴露给外面的管理模块。所述管理模块,与Java管理扩展服务器连接,用于访问至少一个Java虚拟机注册在Java管理扩展服务器上的MBean资源,以对所述被访问Mbean资源的Java虚拟机进行远程管理。进一步的,每个监控代理随着其监控的Java虚拟机的启动而启动,每个监控代理模块在将封装有其监控的Java虚拟机管理功能的MBean资源注册到Java管理扩展服务器之前需要构建其监控的Java虚拟机的Java虚拟机工具接口的代理接口,所述代理接口提供其监控的Java虚拟机的全部管理信息,然后将所述代理接口封装为具有其监控的Java虚拟机管理功能的MBean资源。所述Java管理扩展服务器设置有连接器,所述管理模块通过所述连接器访问注册在Java管理扩展服务器上的MBean资源。所述管理模块访问MBean 资源时需要先将访问的MBean资源封装成可供管理模块调用的接口,然后管理模块调用所述接口,以对所述被访问Mbean资源的Java虚拟机进行远程管理。 一实施例中,本发明中管理模块可以为一个具有可视化管理界面的集中控制台, 可视化管理模块将注册在Java管理扩展服务器上的MBean资源封装成可以供可视化管理界面调用的接口 ;然后调用所述接口,在可视化界面上以图形或者表格形式显示该MBean 资源对应的Java虚拟机的管理信息,并提供相应操作按钮,供用户进行远程管理该Java虚拟机。具体的,可以通过以下方式实现本发明的监控系统采用C/C++实现JVMTI的Agent接口,该接口提供JVM全部管理信息。监控代理模块采用Java语言通过JNI技术调用该Java虚拟机的Agent接口,并将Agent接口封装为具有该Java虚拟机管理功能的MBean资源;用户可以自定义需要管理的MBean资源,供远程管理;监控代理模块将MBean资源注册到JMX服务器上。JMX服务器为监控代理模块提供MBean注册,并对MBean资源进行集中管理以及提供各类服务。JMX服务器向管理模块提供连接器,以便其访问注册在该JMX服务器上的MBean资源。请参阅图4所示,根据上述方法和系统,本发明实施例还提供了一种监控代理模块,所述监控代理模块与Java虚拟机连接,其具体包括注册单元,用于将封装有其监控的Java虚拟机管理功能的MBean资源注册到Java 管理扩展服务器。进一步的,所述监控代理模块还包括构建单元,用于构建其监控的Java虚拟机的Java虚拟机工具接口的代理接口,所述代理接口提供其监控的Java虚拟机的全部管理信息;封装单元,用于将所述代理接口封装为具有其监控的Java虚拟机管理功能的 MBean资源。本实施例中,对每个Java虚拟机都对应设置有监控代理模块,每个监控代理模块将封装有其监控的Java虚拟机管理功能的MBean资源注册到Java管理扩展服务器,以便管理模块进行集中远程管理。以上内容是结合具体的实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
权利要求
1.一种Java虚拟机的管理方法,其特征在于,包括步骤设置Java管理扩展服务器,将至少一个Java虚拟机的封装有该Java虚拟机管理功能的MBean资源注册到所述Java管理扩展服务器;访问至少一个Java虚拟机注册在Java管理扩展服务器上的MBean资源,以对所述被访问Mbean资源的Java虚拟机进行远程管理。
2.如权利要求1所述的方法,其特征在于,所述将至少一个Java虚拟机的封装有该 Java虚拟机管理功能的MBean资源注册到所述Java管理扩展服务器之前还包括步骤对其中一个Java虚拟机,构建其Java虚拟机工具接口的代理接口,所述代理接口提供该Java虚拟机的全部管理信息;将所述代理接口封装为具有该Java虚拟机管理功能的MBean资源。
3.如权利要求2所述的方法,其特征在于,所述对所述被访问Mbean资源的Java虚拟机进行远程管理具体为将注册在Java管理扩展服务器上的该Java虚拟机的MBean资源封装成可以供可视化管理界面调用的接口;调用所述接口,在可视化界面上显示该Java虚拟机的管理信息; 远程管理该Java虚拟机。
4.一种监控系统,其特征在于,包括Java管理扩展服务器、管理模块以及至少一个 Java虚拟机,其中,每个Java虚拟机均对应设置有监控代理模块,所述监控代理模块用于将封装有其监控的Java虚拟机管理功能的MBean资源注册到Java管理扩展服务器;所述Java管理扩展服务器,与监控代理模块连接,用于注册Java虚拟机管理功能的MBean资源;所述管理模块,与Java管理扩展服务器连接,用于访问至少一个Java虚拟机注册在Java管理扩展服务器上的MBean资源,以对所述被访问Mbean资源的Java虚拟机进行远程管理。
5.根据权利要求4所述的监控系统,其特征在于,所述监控代理模块还用于 构建其监控的Java虚拟机的Java虚拟机工具接口的代理接口,所述代理接口提供其监控的Java虚拟机的全部管理信息;将所述代理接口封装为具有Java虚拟机管理功能的MBean资源。
6.根据权利要求4所述的监控系统,其特征在于,所述Java管理扩展服务器还包括连接器,所述管理模块通过所述连接器访问至少一个Java虚拟机注册在Java管理扩展服务器上的MBean资源。
7.根据权利要求5所述的监控系统,其特征在于,所述管理模块具体用于将注册在Java管理扩展服务器上的MBean资源封装成可以供可视化管理界面调用的接口 ;调用所述接口,在可视化界面上显示该MBean资源对应的Java虚拟机的管理信息; 远程管理该Java虚拟机。
8.根据权利要求4至7任一项所述的监控系统,其特征在于,所述管理模块以图形或者表格形式显示被访问Mbean资源的Java虚拟机的管理信息。
9.一种监控代理模块,其特征在于,包括注册单元,用于将封装有其监控的Java虚拟机管理功能的MBean资源注册到Java管理扩展服务器。
10.根据权利要求9所述的监控代理模块,其特征在于,还包括 构建单元,用于构建其监控的Java虚拟机的Java虚拟机工具接口的代理接口,所述代理接口提供其监控的Java虚拟机的全部管理信息;封装单元,用于将所述代理接口封装为具有其监控的Java虚拟机管理功能的MBean资源。
全文摘要
本发明公开了一种Java虚拟机的管理方法、监控系统和监控代理模块,其中方法包括步骤设置Java管理扩展服务器,将至少一个Java虚拟机的封装有该Java虚拟机管理功能的MBean资源注册到所述Java管理扩展服务器;访问至少一个Java虚拟机注册在Java管理扩展服务器上的MBean资源,以对所述被访问Mbean资源的Java虚拟机进行远程管理。与现有技术相比,本发明通过设置Java管理扩展服务器,将至少一个Java虚拟机的封装有该Java虚拟机管理功能的MBean资源注册到所述Java管理扩展服务器,管理模块连接到Java管理扩展服务器,访问至少一个Java虚拟机注册在Java管理扩展服务器上的MBean资源,以对所述被访问Mbean资源的Java虚拟机进行集中远程管理,大大减少了管理的成本。
文档编号G06F9/46GK102184120SQ20111011702
公开日2011年9月14日 申请日期2011年5月6日 优先权日2011年5月6日
发明者王威 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1