JMX術語

JMX術語

 

幾個月前學了一些JMX,但是現在翻開書一看,有的概念是不太清晰了,這裏參照JMX in Action的介紹JMX術語的章節,翻譯了其中的一部分內容,並加入了自己的看法。一些常用的JMX術語如下:

Manageable resource:

可被管理的資源可以是應用程序,設備或者存在的能夠被java程序所訪問或者包裝的實體。通過JMX可以管理這些資源。應用程序能夠暴露自己的組件,API或者附加的資源,使得JMX能夠管理應用程序。可被管理的資源甚至可以是網絡上的設備,例如打印機。可被管理的資源作爲一個實體被JMX MBean所管理。

MBean:

MBean(managed bean)是一個Java類,符合JXM specification所規定的命名和繼承規範。實例化的MBeansJava對象,其中所暴露出來的接口(management interface)能夠操作和訪問manageable resources。這些接口是由MBean的屬性和操作組成。

Management application通過訪問MBean來訪問屬性和調用操作。MBean分三種類型:Standard,DynamicModel MBean.每一種類型都是針對於特定的manageable resource來使用的。

MBean Server:

MBean Server是一個能夠管理一組MBeanjava類,是JMX管理環境的核心,是一個registry(通過查找MBean來註冊到MBean Server)MBean server暴露已經註冊了的MBeanmanagement 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的集合和connectorsconnectors能夠使得遠程的不同客戶利用該agentProtocol adaptersconnectors都是Java(通常是作爲MBean存在的),能夠對協議(例如:Http或者SNMP)建立映射,或者將該代理暴露給遠程的連接(例如RMI或者Jini)。這意味着JMX agent能夠被各種各樣的管理協議和工具所用。

Protocol adaptersconnectors

Protocol adaptersconnectors是在JMX agent中的對象,將代理暴露給management applicaitonprotocols。例如一個將代理暴露給protocol的例子,agent中的SNMP adapter object能夠將SNMP協議映射到JMX agent中。另外,一個agent可以有一個RMI connector,該connector能夠讓management application通過RMI clients來打開代理和management application的通路,也就是將代理暴露給management applicationProtocol adapters有一個在agent之內的簡單對象組成,然而connectors有一個對象在代理中,一個對象在client端。

一個代理可以有任意多個adaptersconnectors,方便我們使用新的工具或者其他的以存在的管理協議和應用程序。代理能夠給應用程序提供靈活的管理,我們也可以將代理分佈到網絡中。

Management application

一個management application可以是任何的用戶程序,用於和任意多的JMX agent之間建立接口。對於一些設計好的符合JMX技術的management applictionJMX agents能夠建立和該management application的聯繫,JMX agents也能夠建立和那些先前沒有考慮用JMX技術的management application建立聯繫。一方面,一個兼容JMXmanagement application能夠利用JMX的一些高級特性。令一方面,通過寫定製的adaptersconnectors,能夠讓JMX agent有和現存的non-JMX manager建立關係,舉個例子:一個SNMPmanager,通過在agent中建立SNMP adapter,使得該agent能夠和SNMPmanager建立關係。

Notification

Notificationsjava對象,用來包裝事件,報警和其他的常規信息。由MBeansMBean Server所激發。其他的MBeansjava對象能夠被註冊爲listener來接收notification

Instrumentation

Instrumentation是一個通過MBean或者MBean的集合來暴露可管理的資源的process,一個應用的Instrumentation發生在開發過程中,或者開發人員建立MBeans,這些MBean用到了已有的活動系統的API

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章