技术开发 频道

JMX常用术语解释



【IT168 技术文档】几个月前学了一些JMX,但是现在翻开书一看,有的概念是不太清晰了,这里参照JMX in Action的介绍JMX术语的章节,翻译了其中的一部分内容,并加入了自己的看法。一些常用的JMX术语如下:

Manageable resource:

    可被管理的资源可以是应用程序,设备或者存在的能够被java程序所访问或者包装的实体。通过JMX可以管理这些资源。应用程序能够暴露自己的组件,API或者附加的资源,使得JMX能够管理应用程序。可被管理的资源甚至可以是网络上的设备,例如打印机。可被管理的资源作为一个实体被JMX MBean所管理。

MBean:

    MBean(managed bean)是一个Java类,符合JXM specification所规定的命名和继承规范。实例化的MBeans是Java对象,其中所暴露出来的接口(management interface)能够操作和访问manageable resources。这些接口是由MBean的属性和操作组成。

    Management application通过访问MBean来访问属性和调用操作。MBean分三种类型:Standard,Dynamic和Model MBean.每一种类型都是针对于特定的manageable resource来使用的。

MBean Server:

    MBean Server是一个能够管理一组MBean的java类,是JMX管理环境的核心,是一个registry(通过查找MBean来注册到MBean Server)。MBean server暴露已经注册了的MBean的management interface,但是从来不暴露对注册了的MBean的引用。另外,如果注册的MBean的类型是不同的,但是MBean Server提供给用户的是一个相同的接口,对于所有类型的MBean进行相同的处理。MBean Server也提供查找MBeans的方法,也可以注册其他的对象作为listener加到MBean上。

JMX agent:

    JMX agent是一个Java process,能够为管理MBean的集合提供服务,是MBean Server的容器。这些服务可以是建立MBean的之间的关系,动态加载类,监控服务,作为计时器。

    JMX agent能够拥有一个protocol adapters的集合和connectors,connectors能够使得远程的不同客户利用该agent。Protocol adapters和connectors都是Java类(通常是作为MBean存在的),能够对协议(例如:Http或者SNMP)建立映射,或者将该代理暴露给远程的连接(例如RMI或者Jini)。这意味着JMX agent能够被各种各样的管理协议和工具所用。

Protocol adapters和connectors

    Protocol adapters和connectors是在JMX agent中的对象,将代理暴露给management applicaiton和protocols。例如一个将代理暴露给protocol的例子,agent中的SNMP adapter object能够将SNMP协议映射到JMX agent中。另外,一个agent可以有一个RMI connector,该connector能够让management application通过RMI clients来打开代理和management application的通路,也就是将代理暴露给management application。Protocol adapters有一个在agent之内的简单对象组成,然而connectors有一个对象在代理中,一个对象在client端。

    一个代理可以有任意多个adapters和connectors,方便我们使用新的工具或者其他的以存在的管理协议和应用程序。代理能够给应用程序提供灵活的管理,我们也可以将代理分布到网络中。

Management application

    一个management application可以是任何的用户程序,用于和任意多的JMX agent之间建立接口。对于一些设计好的符合JMX技术的management appliction,JMX agents能够建立和该management application的联系,JMX agents也能够建立和那些先前没有考虑用JMX技术的management application建立联系。一方面,一个兼容JMX的management application能够利用JMX的一些高级特性。令一方面,通过写定制的adapters和connectors,能够让JMX agent有和现存的non-JMX manager建立关系,举个例子:一个SNMP的manager,通过在agent中建立SNMP adapter,使得该agent能够和SNMP的manager建立关系。

Notification

     Notifications是java对象,用来包装事件,报警和其他的常规信息。由MBeans和MBean Server所激发。其他的MBeans和java对象能够被注册为listener来接收notification。

Instrumentation

    Instrumentation是一个通过MBean或者MBean的集合来暴露可管理的资源的process,一个应用的Instrumentation发生在开发过程中,或者开发人员建立MBeans,这些MBean用到了已有的活动系统的API。

0
相关文章