《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 其他 > 业界动态 > 利用jmx改进网络管理系统中指标实时监控

利用jmx改进网络管理系统中指标实时监控

2009-01-06
作者:张登先
一、 現(xiàn)有網(wǎng)管系統(tǒng)中實(shí)時(shí)監(jiān)控存在的問題和解決方案
??? 隨著網(wǎng)絡(luò)的迅速發(fā)展,NMS(network management system網(wǎng)絡(luò)管理系統(tǒng))出現(xiàn)和發(fā)展起來(lái)?,F(xiàn)有 NMS實(shí)現(xiàn)了連接各個(gè)專用的異構(gòu)網(wǎng)絡(luò),對(duì)不同地理區(qū)域的網(wǎng)絡(luò)運(yùn)營(yíng)中心實(shí)現(xiàn)集中管理、控制和監(jiān)控。實(shí)時(shí)監(jiān)控是網(wǎng)絡(luò)管理系統(tǒng)中一個(gè)基礎(chǔ)的功能?,F(xiàn)有的網(wǎng)管系統(tǒng)中實(shí)時(shí)監(jiān)控的實(shí)現(xiàn)是系統(tǒng)直接訪問設(shè)備,設(shè)備將系統(tǒng)需要的各項(xiàng)指標(biāo)一一上報(bào)。這就存在以下兩個(gè)主要問題。問題一:如果有m個(gè)用戶需要同時(shí)對(duì)同一個(gè)指標(biāo)進(jìn)行監(jiān)控,系統(tǒng)就需要執(zhí)行m次命令,這增加了網(wǎng)絡(luò)流量和系統(tǒng)開銷。問題二:對(duì)新加入系統(tǒng)的 設(shè)備,網(wǎng)絡(luò)管理系統(tǒng)不能對(duì)它立即進(jìn)行管理,增加完配置文件后,還要重啟系統(tǒng),相應(yīng)的監(jiān)控指標(biāo)才能開始工作。
??? 如果在用戶監(jiān)控指令和設(shè)備之間增加一個(gè)中間層,將多用戶需要監(jiān)控的所有指標(biāo)進(jìn)行列表,然后后臺(tái)根據(jù)列表實(shí)時(shí)的提供當(dāng)前指標(biāo)的最新值給每一個(gè)用戶,那么第一個(gè)問題就可以很好的解決。對(duì)新加入的設(shè)備,采用JMX技術(shù)的m-let服務(wù),能從遠(yuǎn)端或本地下載設(shè)備的管理程序,很好的對(duì)設(shè)備進(jìn)行配置和管理,新加入的設(shè)備的指標(biāo)就能立即上報(bào),這樣第二個(gè)問題就能很好的解決。而且,用JMX技術(shù)來(lái)實(shí)現(xiàn)中間層是非常好的,JMX就是SUN公司為Application Management提出的解決方案。
二、?JMX技術(shù)簡(jiǎn)介
??? JMX(java management extension)是一個(gè)說明了遠(yuǎn)程或本地的java應(yīng)用程序管理模式和接口的java標(biāo)準(zhǔn)。JMX 的目標(biāo)只是定義構(gòu)成 JMX 體系結(jié)構(gòu)內(nèi)系統(tǒng)的接口,而不在不必要時(shí)指定實(shí)現(xiàn)和策略。根據(jù)JMX規(guī)范,JMX分為四層結(jié)構(gòu):

???? 對(duì)上圖的說明:JMX分為設(shè)備層,代理層,分布層和管理層。設(shè)備層是提供管理接口和JMX可管理資源的應(yīng)用組件。設(shè)備層的組件有MBean,通知類,接口,宏數(shù)據(jù)類。
??? 代理層:通過管理接口直接訪問資源,應(yīng)用MBean服務(wù)器暴露資源,提供很多的一般服務(wù)。服務(wù)包括:m-let 或管理 Applet 服務(wù)、監(jiān)視器服務(wù)、計(jì)時(shí)器服務(wù)、關(guān)系服務(wù)。
??? 分布層:提供接口給JMX管理應(yīng)用程序來(lái)訪問代理層和在代理層登記的MBean。分布層的關(guān)鍵組件有:代理層的協(xié)議適配器、RMI、CORBA接口。
??? 管理層:監(jiān)視和管理被管理組件的應(yīng)用程序??梢允翘貏e設(shè)計(jì)的工具或者通常的應(yīng)用接口。關(guān)鍵組件有:管理應(yīng)用程序。
這里特別強(qiáng)調(diào)一下代理層提供的服務(wù)。m-let 或管理 Applet 服務(wù):動(dòng)態(tài)設(shè)備的管理文件用m-let的方式從遠(yuǎn)端或本地動(dòng)態(tài)的裝入,m-let放在XML文件里,XML文件動(dòng)態(tài)更新。設(shè)備裝入運(yùn)行中的系統(tǒng),系統(tǒng)不重啟。監(jiān)視器服務(wù):將代價(jià)高昂的遠(yuǎn)程輪詢操作轉(zhuǎn)換成本地操作;監(jiān)控 MBean 屬性的特定更改并在觀察到更改時(shí)發(fā)送事件。這個(gè)功能管理已裝入系統(tǒng)的設(shè)備,當(dāng)設(shè)備不可用,或發(fā)生任何故障,監(jiān)視器服務(wù)就會(huì)把消息發(fā)出。計(jì)時(shí)器服務(wù):經(jīng)歷了指定的時(shí)間量后發(fā)送事件,或以指定時(shí)間間隔定期發(fā)送事件。輪詢、定時(shí)查看系統(tǒng)現(xiàn)有設(shè)備的運(yùn)行狀況等方面得到大量的運(yùn)用。關(guān)系服務(wù):支持 MBean 之間的關(guān)系定義,并強(qiáng)制關(guān)系的完整性。這樣,整個(gè)MBean就是一個(gè)相互聯(lián)系的整體,系統(tǒng)事先定義好這種聯(lián)系,在運(yùn)行中管理這些關(guān)系,在其他服務(wù)的支持下為動(dòng)態(tài)管理提供基礎(chǔ)。
??? 被管理資源將屬性,對(duì)外能提供的服務(wù)以MBean(XMBean)接口的方式提供給MBean server,在MBean實(shí)現(xiàn)的類(X,即去掉MBean后綴)中必須要有一個(gè)沒有任何參數(shù)的構(gòu)造函數(shù),這使得在MBean server端創(chuàng)建一個(gè)X類成為可能(如果有參數(shù),參數(shù)的類型,參數(shù)的具體值都不得而知)。MBean Server通過調(diào)用getAttribute(ObjectName,屬性名)返回一個(gè)對(duì)象,這個(gè)對(duì)象就是屬性的當(dāng)前值;MBean Server通過調(diào)用invoke(ObjectName,方法名,方法的參數(shù)值,參數(shù)值的類型)來(lái)實(shí)現(xiàn)被管理資源的方法調(diào)用。
三、 將JMX技術(shù)應(yīng)用到網(wǎng)絡(luò)管理系統(tǒng)的實(shí)時(shí)監(jiān)控中
??? 實(shí)時(shí)監(jiān)控的指標(biāo)分為兩類:一是設(shè)備指標(biāo),設(shè)備指標(biāo)是通過向設(shè)備發(fā)出指令,設(shè)備向系統(tǒng)匯報(bào)的指標(biāo),比如某個(gè)設(shè)備的CPU利用率,二是業(yè)務(wù)指標(biāo),計(jì)算業(yè)務(wù)指標(biāo)首先要確保業(yè)務(wù)范圍內(nèi)的每個(gè)設(shè)備都在正常工作,然后從每個(gè)設(shè)備上獲得子指標(biāo),將這些指標(biāo)運(yùn)用相應(yīng)的計(jì)算公式,從而得到業(yè)務(wù)指標(biāo),比如某個(gè)小區(qū)的網(wǎng)絡(luò)流量。下圖是系統(tǒng)的包結(jié)構(gòu):

??? 按照各自完成的職責(zé),實(shí)時(shí)監(jiān)控模塊劃分成了三個(gè)包:gui,PNP,performance。圖中用虛線隔成上下兩個(gè)部分,下部分列舉當(dāng)前支持的指標(biāo),上部分得到需要監(jiān)控的指標(biāo)值。gui是前臺(tái)應(yīng)用程序,它與用戶直接交互,負(fù)責(zé)把當(dāng)前支持的設(shè)備指標(biāo)和業(yè)務(wù)指標(biāo)提交給用戶,用戶在其中選擇自己感興趣的指標(biāo),gui再把這些指標(biāo)反饋給PNP。PNP是中間組織者,它擔(dān)負(fù)著把后臺(tái)的信息反應(yīng)給前臺(tái)和得到前臺(tái)的需求,偵聽后臺(tái)結(jié)果的組織者角色。Performance是后臺(tái)的性能輪巡應(yīng)用程序。它負(fù)責(zé)對(duì)被管理設(shè)備輪詢,和為前臺(tái)提供的服務(wù)指標(biāo)輪巡和計(jì)算。?

?

??? ListChoices、DeviceParameterList、serviceMBeanList三個(gè)類在PNP包中。上圖說明了PNP向前臺(tái)提供的選擇服務(wù)。ListChoices是一個(gè)抽象接口,定義了三個(gè)函數(shù):listChoices(),listParameterByTarget(),listTargetByParameter()。DeviceParameterList和serviceMBeanList是實(shí)現(xiàn)listChoices的兩個(gè)函數(shù),這兩個(gè)具體實(shí)現(xiàn)是提供給用戶初選的。當(dāng)用戶選定指標(biāo)名(parameter)和目的地址(target)后,再加上該項(xiàng)監(jiān)控的監(jiān)控周期(interval),前臺(tái)將這三項(xiàng)通過RealTimeManagerSLSB傳到PNP。
??? RealTimeManagerSLSB在前臺(tái)的包中。SLSB是stateless session bean的意思,它是一個(gè)無(wú)狀態(tài)的事務(wù)bean,一個(gè)bean響應(yīng)一個(gè)用戶調(diào)用。RealTimeManager是PNP的組件,

?? 它負(fù)責(zé)與前臺(tái)的RealTimeManagerSLSB打交道。它實(shí)現(xiàn)RealTimeManagerMBean接口,對(duì)外提供兩個(gè)方法getPollID(String

parameter,String target,int interval)其中,parameter是指標(biāo)名稱,target是目的地址,interval是該項(xiàng)指標(biāo)輪巡周期。前臺(tái)將當(dāng)前支持的設(shè)備指標(biāo)和業(yè)務(wù)指標(biāo)進(jìn)行選擇,把需要看到的指標(biāo)信息交到PNP的RealTimeManager,RealTimeManager將根據(jù)每個(gè)target-parameter組合對(duì)生成一個(gè)RealTimeAdaptor,并返回一個(gè)pollID給前臺(tái),前臺(tái)就根據(jù)這個(gè)ID號(hào)向PNP詢問當(dāng)前這個(gè)target-parameter的輪巡值。

??? RealTimeAdaptor對(duì)servicePM和RealTimePoll進(jìn)行偵聽,servicePM和RealTimePoll都是后臺(tái)應(yīng)用程序組件,一個(gè)是對(duì)設(shè)備指標(biāo)的輪詢,一個(gè)是對(duì)業(yè)務(wù)指標(biāo)的輪詢、計(jì)算。

??? ServicePM和RealTimePoll的實(shí)現(xiàn)可以有多種方式,SNMP,CLI等等都行。上面提到的類都是繼承ServiceMBeanSupport類,這個(gè)類提供了比較完善的MBean功能支持。


?
四、?結(jié)束語(yǔ)
??? 現(xiàn)有網(wǎng)絡(luò)管理系統(tǒng)中網(wǎng)絡(luò)設(shè)備的實(shí)時(shí)監(jiān)控存在的網(wǎng)絡(luò)流量、系統(tǒng)開銷、對(duì)新設(shè)備的監(jiān)控等方面存在的問題利用JMX技術(shù)能很好的解決。在這個(gè)實(shí)時(shí)監(jiān)控模塊中,realtimeadaptor很好的攔截了相同任務(wù)的指標(biāo)輪詢,從而使系統(tǒng)中對(duì)同一個(gè)監(jiān)控任務(wù)只執(zhí)行一次。M-let服務(wù)使得新加入設(shè)備可以立即提供對(duì)系統(tǒng)的服務(wù),為動(dòng)態(tài)網(wǎng)絡(luò)管理和監(jiān)控提供了基礎(chǔ)。目前,JMX規(guī)范只定義了設(shè)備層和代理層,在JMX規(guī)范完善后,JMX將在application management中發(fā)揮更大的作用。
參考文獻(xiàn)
1.Sing Li http://www-900.ibm.com/developerworks/cn/?? From black boxes to enterprises?????? 2003.4
2.Sunhttp://java.sun.com/products/JavaManagement/ Java Management Extension specification???? 1999.10
3.Benjamin G.Sullins?? Mark Whipple?? Ben G.Sullins?? JMX IN ACTION???? 2002.10

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請(qǐng)及時(shí)通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。

相關(guān)內(nèi)容