JMX客户端的连接方法和连接装置制造方法及图纸

技术编号:14687050 阅读:61 留言:0更新日期:2017-02-23 09:13
本发明专利技术涉及JMX客户端的连接方法和连接装置,其中,JMX客户端的连接方法包括:根据接收到的修改指令,修改JMX服务器中connectorServer的生成返回值的机制,生成修改后的返回值;利用所述修改后的返回值,向JMX客户端返回宿主机的网络节点信息和端口信息,与所述JMX客户端建立连接。通过本发明专利技术的技术方案,通过java instrumentation的方式实现跨网络连接的JMX监控,代码简单,逻辑清晰。

【技术实现步骤摘要】

本专利技术涉及虚拟机监控
,具体而言,涉及一种JMX客户端的连接方法和一种JMX客户端的连接装置。
技术介绍
JMX(JavaManagementExtensions)是一种为应用程序、设备和系统等植入管理功能的框架,在Java编程语言中定义了应用程序以及网络管理和监控的体系结构、设计模式、应用程序接口以及服务,通常使用JMX来监控系统的运行状态或管理系统的某些方面,比如清空缓存、重新加载配置文件等。但是现有技术中,JMX不支持跨网络的进程监控,这为某些应用带来不便,例如X3平台上就无法直接对虚机进行JMX监控。因此,如何实现跨网络的JMX监控连接成为亟待解决的技术问题。
技术实现思路
本专利技术旨在至少解决上述现有技术或相关技术中存在的技术问题之一。为此,本专利技术的一个目的在于提出了JMX客户端的连接方法。本专利技术的另一个目的在于提供一种JMX客户端的连接装置。为实现上述目的,根据本专利技术的第一方面的实施例,提出了一种JMX客户端的连接方法,包括:根据接收到的修改指令,修改JMX服务器中connectorServer的生成返回值的机制,生成修改后的返回值;利用修改后的返回值,向JMX客户端返回宿主机的网络节点信息和端口信息,与JMX客户端建立连接。根据本专利技术的实施例的JMX客户端的连接方法,通过修改JMX服务端中connectorServer(一种连接器服务,用于连接监控端和被监控端)的生成返回值的机制来突破网络限制,能够使JMX客户端与JMX服务端的虚拟机建立连接。即在修改JMX服务器connectorServer的生成返回值之前,客户端只能通过宿主机的网络节点和端口与虚拟机进行通信,但JMX服务器端返回的connectorServer地址是客户端无法访问的局域网地址,因此,需要修改JMX服务器中connectorServer的生成返回值的机制,使connectorServer能够返回宿主机的IP(网络节点)和PORT(端口),利用此修改后的返回值,JMX服务器与JMX客户端建立了连接,用以实现利用JMX客户端进行跨网络的虚拟机进程监控。另外,根据本专利技术上述实施例的JMX客户端的连接方法,还可以具有如下附加的技术特征:根据本专利技术第一方面实施例的JMX客户端的连接方法,优选地,在根据接收到的修改指令,修改JMX服务器中connectorServer的生成返回值的机制,生成修改后的返回值之前,还包括:根据接收到的设置指令,修改DEA代码,添加宿主机到虚拟机的网络端口映射。在该实施例中,为了能够从外部访问虚拟机的服务端口,首先要修改DEA代码,添加外网(宿主机)到内网(虚拟机)的端口映射。例如,一个虚拟机的内网IP为10.254.9.174,宿主机IP为172.18.4.240。添加端口映射后,虚拟机的9999端口可通过宿主机的34823端口访问;虚拟机的1099端口通过宿主机的34824端口访问。假如以jconsole连接服务器,则jconsole能够成功连接到172.18.4.240:34824,并获取stub,因此,通过网络端口映射实现了虚拟机与宿主机的第一步连接。根据本专利技术第一方面实施例的JMX客户端的连接方法,优选地,根据接收到的修改指令,修改JMX服务器中connectorServer的生成返回值的机制,生成修改后的返回值,具体包括:基于java的instrumentation(一种独立于应用程序之外的代理程序,来监测和协助运行在虚拟机上的应用程序)机制,在虚拟机JMX服务器的类文件中检查是否存在约定文件;若约定文件存在,则从约定文件中提取host值和port值,将host值和port值写入用于生成connectorServer返回值的write函数,用以生成修改后的返回值;若约定文件不存在,则使用write函数原有的值生成所述修改后的返回值;其中,约定文件由计算节点在启动J2EE服务器进程之前创建,记录宿主机的网络节点信息和端口信息。在该实施例中,javaInstrumentation能够监测和协助运行在JVM上的应用程序,这种监测和协助包括但不限于获取JVM运行时状态,替换和修改类定义等,Instrumentation的最大作用就是类定义的动态改变和操作。返回connectorServer信息的代码由sun/rmi/transport/tcp/TCPEndpoint的write方法实现,为了修改jmx服务器的返回值,就需要对write()的代码进行修改,让其向客户端返回宿主机的host和port。通过此修改后的返回值能够与服务端建立连接进行JMX监控。根据本专利技术第一方面实施例的JMX客户端的连接方法,优选地,JMX客户端包括:Jconsole、JvisualVM和Jboss。在该实施例中,JMX客户端而不只是上述的Jconsole,也可以是JvisualVM和Jboss,从而实现了Jconsole、JvisualVM和Jboss客户端通过JMX进行跨网络进程监控,满足了客户的多样化需求。根据本专利技术第一方面实施例的JMX客户端的连接方法,优选地,虚拟机与宿主机以网络地址转换的方式连接。在该实施例中,虚拟机与宿主机以网络地址转化的方式进行连接,便于进行网络管理,能够实现外部网络对内网设备(如服务器)的访问,同时有助于节省IP地址资源。根据本专利技术第二方面的实施例,还提出了一种JMX客户端的连接装置,用于监控虚拟机,包括:修改单元,根据接收到的修改指令,修改JMX服务器中connectorServer的生成返回值的机制,生成修改后的返回值;连接单元,利用修改后的返回值,向JMX客户端返回宿主机的网络节点信息和端口信息,与JMX客户端建立连接。根据本专利技术的实施例的JMX客户端的连接装置,通过修改JMX服务端中connectorServer(一种连接器服务,用于连接监控端和被监控端)的生成返回值的机制来突破网络限制,能够使JMX客户端与JMX服务端的虚拟机建立连接。即在修改JMX服务器connectorServer的生成返回值之前,客户端只能通过宿主机的网络节点和端口与虚拟机进行通信,但JMX服务器端返回的connectorServer地址是客户端无法访问的局域网地址,因此,需要修改JMX服务器中connectorServer的生成返回值的机制,使connectorServer能够返回宿主机的IP(网络节点)和PORT(端口),利用此修改后的返回值,JMX服务器与JMX客户端建立了连接,用以实现利用JMX客户端进行跨网络的虚拟机进程监控。另外,根据本专利技术上述实施例的JMX客户端的连接装置,还可以具有如下附加的技术特征:根据本专利技术第二方面实施例的JMX客户端的连接装置,还包括:映射单元,根据接收到的设置指令,修改DEA代码,添加宿主机到所述虚拟机的网络端口映射。在该实施例中,为了能够从外部访问虚拟机的服务端口,首先要修改DEA代码,添加外网(宿主机)到内网(虚拟机)的端口映射。例如,一个虚拟机的内网IP为10.254.9.174,宿主机IP为172.18.4.240。添加端口映射后,虚拟机的9999端口可通过宿主机的34823端口访问;虚拟机的1099端口通过宿主机的34824端口访问。假本文档来自技高网...
<a href="http://www.xjishu.com/zhuanli/62/201611027195.html" title="JMX客户端的连接方法和连接装置原文来自X技术">JMX客户端的连接方法和连接装置</a>

【技术保护点】
一种JMX客户端的连接方法,用于监控虚拟机,其特征在于,包括:根据接收到的修改指令,修改JMX服务器中connectorServer的生成返回值的机制,生成修改后的返回值;利用所述修改后的返回值,向JMX客户端返回宿主机的网络节点信息和端口信息,与所述JMX客户端建立连接。

【技术特征摘要】
1.一种JMX客户端的连接方法,用于监控虚拟机,其特征在于,包括:根据接收到的修改指令,修改JMX服务器中connectorServer的生成返回值的机制,生成修改后的返回值;利用所述修改后的返回值,向JMX客户端返回宿主机的网络节点信息和端口信息,与所述JMX客户端建立连接。2.根据权利要求1所述的连接方法,其特征在于,在所述根据接收到的修改指令,修改JMX服务器中connectorServer的生成返回值的机制,生成修改后的返回值之前,还包括:根据接收到的设置指令,修改DEA代码,添加宿主机到所述虚拟机的网络端口映射。3.根据权利要求2所述的连接方法,其特征在于,所述根据接收到的修改指令,修改JMX服务器中connectorServer的生成返回值的机制,生成修改后的返回值,具体包括:基于java的instrumentation机制,在所述虚拟机JMX服务器的类文件中检查是否存在约定文件;若所述约定文件存在,则从所述约定文件中提取host值和port值,将所述host值和所述port值写入用于生成所述connectorServer返回值的write函数,用以生成所述修改后的返回值;若所述约定文件不存在,则使用所述write函数原有的值生成所述修改后的返回值;其中,所述约定文件由计算节点在启动J2EE服务器进程之前创建,记录所述宿主机的网络节点信息和端口信息。4.根据权利要求1所述的连接方法,其特征在于,所述JMX客户端包括:Jconsole、JvisualVM和Jboss。...

【专利技术属性】
技术研发人员:李智慧
申请(专利权)人:畅捷通信息技术股份有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1