王強
(許昌職業技術學院,河南許昌461000)
在網絡中,有一些主機提供服務,比如www服務,ftp服務,這些服務給人們的生活帶來便利。因而,這些服務器的故障將嚴重影響網絡的可用性。接下來,我們就利用SNMP協議,實現對網絡中重要的應用程序的運行狀況的監控,并保存搜集的信息。在服務器端,提供web接口,這樣,無論網絡管理員身在何方,只要有可以上網的計算機,就可以查看被監控程序的運行狀態。通過嚴密監視網絡中提供重要服務的軟件,來保證網絡穩定運行。
下面介紹如何通過陷阱(trap)實現對客戶端某些程序的開啟和關閉的監控。借助瀏覽器,網絡管理員可以隨時查看網絡運行狀態和歷史歷史記錄。
(1)web服務器:Tomcat6.0
(2)服務器端數據庫:MySQL5.1
(3)服務器端編程語言:JAVA,JSP
(4)客戶端編程語言:JAVA
對于基于Web的管理系統,其服務器端承擔了大量的工作,包括收集信息、處理信息、提供web接口等。
在服務器端,運用SNMP4J包編寫程序,隨web服務器一起啟動,監視系統的162端口,等待代理發送trap消息。接收到消息后,再消息進行處理,主要是提取trap消息中的信息,并改寫和更新數據庫中的表單。
SNMP4J是一個商業類庫,而且開源免費,它也是一個有著高技術的SNMP執行能力的類庫,支持J2SE1.4或更高的版本。SNMP4J支持指令發生器(管理器),就像指令回應(代理)一樣。它從SNMP++(支持SNMPv1/v2/v3的C++應用程序接口)獲得靈感,具有清晰的對象導向。
SNMP4J的重要部分包括:SNMP、Target、PDU。
通常傳遞SNMP PDU報文是以同步或者異步的方式。SNMP4J的主要功能是收發SNMP PDUs。
SNMP采用獨立的傳輸協議,通過Transport Mapping接口調用add Transport Mapping方法或者采用默認的構造函數來實現傳輸映射,以此來實現信息的傳輸。
PDU類產生SNMP協議數據單元,可以將提供的數據組裝成SNMP PDU。并提供了各種方法設置PDU的屬性。
另外,用JSP語言編寫動態網頁,提供信息查詢界面。網頁通過數據庫和監控程序共享收集到的數據。
當陷阱報文到達時,SNMP4J通常采用Command Responder協議,由process Pdu()實現,整個過程自動完成。下面是對trap處理的步驟:
(1)創建Snmp;
(2)調用listen()使套接字處于網絡監聽狀態;
(3)實現Command Responder接口的監聽器,并且調用Snmp.add Command Responder(Command Responder)注冊監聽器。
Web服務器通過數據庫和監控程序共享信息。JSP動態語言支持網頁動態的鏈接數據庫讀取信息。JSP以Java為腳本,Java通過JDBC操作數據庫。
JDBC(Java Data Base Connectivity,Java數據庫連接)是一種用于執行SQL語句的Java API,可以為多種關系數據庫提供統一訪問,它由一組用Java語言編寫的類和接口組成。JDBC為工具/數據庫開發人員提供了一個標準的API,據此可以構建更高級的工具和接口,使數據庫開發人員能夠用純Java API編寫數據庫應用程序,有了JDBC,向各種關系數據發送SQL語句就是一件很容易的事。
JDBC的主要功能是:與數據庫建立連接;發送;利用數據庫處理。
目前,互聯網規模空前龐大,網絡管理也面臨著巨大的壓力。盡管現在的網絡設備都支持SNMP。但仍然有不少的網絡問題不能解決。網絡管理者需要借助不同的網絡管理工具,來確保網絡正常運行。
[1]郭軍.網絡管理(第二版)[M].北京:郵電大學出版社,2001.
[2]雷震甲.計算機網絡管理[M].西安:電子科技大學出版社,2006.
[3]張鵬.基于多A g e n t的分布式網絡管理技術及其在性能管理中的研究與實踐[D].西安交通大學博士論文,2001.