1.1.1. 資源管理的現狀
當前需要管理:
a.硬件:通過SNMP方式來檢測網絡設備運作是否正常。這種方式實施門檻較高。
b.軟件:自行在應用上構建監控程序。這種方式對每個系統都單獨一套監控實現方式,當換一種監控方式可能就要全部重寫。
1.1.2. 理想的監控管理方式
具備主動處理問題的能力。不但能檢測設備和應用的健康程度,還可以獲取其內部信息。
但這種方式成本較高。
1.1.3.一種建議的實施方案
a. 檢測設備和和平臺的系統健康
b. 應用級的參數配置能力
c. 對應用統計的能力
d. 調試能力
e. 檢測系統性能
1.2 java實現的解決方案——JMX(Java Management Extentions)
jmx簡述:jmx是java語言的新框架,它允許你把所有資源(包括軟硬件)封裝成java對象,然後暴露在分佈式環境中。jmx還提供了一種機制,把SNMP等已存的管理協議映射到自身的管理框架中。
jmx對之前提到的建議的實施方案中是這麼實現的:
a. 檢測設備和和平臺的系統健康——通過java wrapper把硬件接口封裝成java對象,放到jmx管理框架中。
b. 應用級的參數配置能力和對應用統計的能力——通過暴露api實現
c. 調試能力——jmx已具備。
d. 檢測系統性能——jmx的消息機制。
1.2.1 jmx優勢
...
1.2.2 jmx基本概念
Manageable resource:能被java訪問或包裝並可被JMX MBean管理的程序或設備。
MBean(Managed Bean):一種java bean,對內能訪問Manageable resource,對外暴露管理接口。MBean被MBean Server接管。
MBean server:管理MBean的java類。可進行MBean的註冊和找,並對外暴露管理接口(通過調用MBean,但不暴露MBean引用)。
JMX agent:MBean Server的容器。負責創建MBean關係,動態裝載類等。
Protocol adapters and connectors:Agent通過適配器和連接器向不同協議或遠程暴露。以獲取靈活性和分佈式效果。
Management application:使用Agent進行監控的程序。
Notification:MBean和MBean Server發送消息到其他MBean或其他java類。
Instrumentation:(翻譯做監控設備?)通過MBean暴露resource的過程。
1.4 應用JMX架構