王小瓊 譚立國 黃金標(biāo)
桂林電子科技大學(xué)信息科技學(xué)院,廣西 桂林 541004
基于SNMP網(wǎng)絡(luò)設(shè)備偵測的程序設(shè)計(jì)
王小瓊 譚立國 黃金標(biāo)
桂林電子科技大學(xué)信息科技學(xué)院,廣西 桂林 541004
隨著網(wǎng)絡(luò)規(guī)模的不斷擴(kuò)大,企事業(yè)單位業(yè)務(wù)系統(tǒng)的日趨復(fù)雜,現(xiàn)代網(wǎng)絡(luò)需要人機(jī)結(jié)合管理,實(shí)現(xiàn)自助偵測和管理;本文擬采用SNMP技術(shù),利用先進(jìn)的計(jì)算機(jī)技術(shù),實(shí)現(xiàn)對網(wǎng)絡(luò)設(shè)備及服務(wù)器的狀態(tài)進(jìn)行自動偵測,并期望能夠根據(jù)偵測的數(shù)據(jù)對網(wǎng)絡(luò)的優(yōu)化提供幫助。
SNMP;狀態(tài)偵測;網(wǎng)絡(luò)管理
SNMP;status moni;tornetwork manage
隨著網(wǎng)絡(luò)和計(jì)算技術(shù)的發(fā)展,現(xiàn)代的網(wǎng)絡(luò)體系、信息系統(tǒng)趨于大型化、群集化,需要各種冷備、熱備、災(zāi)備技術(shù),進(jìn)而需要管理人員維護(hù)大量的服務(wù)器、交換機(jī),尤其是大型企事業(yè)單位、學(xué)校,需要考慮員工、師生上網(wǎng)及各種業(yè)務(wù)需求等,往往設(shè)備數(shù)量在幾十甚至上百臺,如何快速、實(shí)時地查看和管理上述設(shè)備,快速診斷、排除故障,成為一個值得研究的課題;本文擬闡述一種采用SNMP技術(shù)實(shí)現(xiàn)對網(wǎng)絡(luò)設(shè)備的遠(yuǎn)程、實(shí)時狀態(tài)顯示技術(shù),從而幫助管理人員快速發(fā)現(xiàn)網(wǎng)絡(luò)故障,協(xié)助診斷網(wǎng)絡(luò)問題。
SNMP(Simple Network Management Protocol,簡單網(wǎng)絡(luò)管理協(xié)議)的前身是簡單網(wǎng)關(guān)監(jiān)控協(xié)議(SGMP),用來對通信線路進(jìn)行管理。隨后,人們對SGMP進(jìn)行了很大的修改,特別是加入了符合Internet定義的SMI和MIB:體系結(jié)構(gòu),改進(jìn)后的協(xié)議就是著名的SNMP。SNMP的目標(biāo)是管理互聯(lián)網(wǎng)Internet上眾多廠家生產(chǎn)的軟硬件平臺,因此SNMP受Internet標(biāo)準(zhǔn)網(wǎng)絡(luò)管理框架的影響也很大?,F(xiàn)在SNMP已經(jīng)出到第三個版本的協(xié)議,但SNMP v2版本業(yè)界應(yīng)用最為廣泛,本次研發(fā)主要根據(jù)該版本進(jìn)行。使用SNMP 協(xié)議的網(wǎng)絡(luò)管理系統(tǒng)和管理結(jié)構(gòu)工作一般包括:管理進(jìn)程通過定時向各個設(shè)備的設(shè)備代理進(jìn)程發(fā)送查詢請求信息來跟蹤各個設(shè)備的狀態(tài);而當(dāng)設(shè)備出現(xiàn)異常事件時,例如設(shè)備冷啟動等,設(shè)備代理進(jìn)程主動向管理進(jìn)程發(fā)送陷阱信息,匯報出現(xiàn)的異常事件。這些輪詢信息和陷阱信息的發(fā)送和接收規(guī)程及其格式定義都是由SNMP 協(xié)議定義的。而被管理設(shè)備將其各種管理對象的信息都存放在一個稱為管理信息庫MIB 的庫結(jié)構(gòu)中。SNMP 協(xié)議運(yùn)行在用戶數(shù)據(jù)報協(xié)議UDP之上,它利用的是UDP 協(xié)議的161/162端口。其中161 端口由管理進(jìn)程監(jiān)聽,等待設(shè)備代理進(jìn)程發(fā)送的異常事件報告陷阱信息,例如執(zhí)行軟中斷(Trap)。設(shè)備的所有需要被管理的信息被看做一個各種被管理對象的集合,這些被管理對象由OSI 定義在一個被稱作管理信息庫MIB 的虛擬信息庫中。
系統(tǒng)采用SNMP協(xié)議搜集各種系統(tǒng)信息,被管理設(shè)備需要開啟SNMP服務(wù),并進(jìn)行相關(guān)配置,偵測服務(wù)發(fā)送輪詢請求或者接收陷阱信息,并將該信息通過web service的方式發(fā)布給前臺界面。系統(tǒng)總體結(jié)構(gòu)如圖1。
圖1 網(wǎng)絡(luò)設(shè)備狀態(tài)偵測系統(tǒng)總體設(shè)計(jì)
設(shè)計(jì)中考慮到跨平臺和分布式應(yīng)用系統(tǒng)的支持,以及降低耦合,故編程語言選擇標(biāo)準(zhǔn)為支持跨平臺特性較好、易于開發(fā)、便于更新的Erlang和Qt兩種語言;前后臺接口應(yīng)能夠?qū)Ⅰ詈辖抵磷畹?,選擇XML格式。
Erlang語言簡介:Erlang是一種通用編程語言和運(yùn)行環(huán)境,具有內(nèi)置的并發(fā)性、分布和容錯支持。Erlang可運(yùn)用在分布式、可靠、軟實(shí)時并發(fā)系統(tǒng),可用作電信系統(tǒng)、HTTP服務(wù)器或WAP協(xié)議棧,語言簡單小巧,具有豐富的庫,代碼支持熱替換,采用模式匹配,支持SMP,性能較高。
采用Erlang編寫的后臺服務(wù)組件結(jié)構(gòu)如圖2。
圖2 后臺服務(wù)組件的結(jié)構(gòu)
Qt 是一個跨平臺應(yīng)用程序和 UI 開發(fā)框架。具有跨平臺 IDE 的集成開發(fā)工具,使用 Qt 只需一次性開發(fā)應(yīng)用程序,無須重新編寫源代碼,便可跨不同桌面和嵌入式操作系統(tǒng)部署,兼容的平臺有:Windows、Linux/X11 、Mac、Windows CE/Mobile、嵌入式 Linux(Embedded Linux)、Symbian、Maemo等。
采用Qt設(shè)計(jì)的前臺展示測試界面如圖3:
Qt能夠很好的表現(xiàn)網(wǎng)絡(luò)環(huán)境,且對部屬環(huán)境要求不高,性能較為穩(wěn)定,易于開發(fā),使用。
因考慮到Qt的跨平臺特性以及程序移植等問題,前后臺接口采用XML格式,后臺的Erlang除采集各種設(shè)備的實(shí)時信息外,提供Web service供前臺展示訪問,從而降低前后臺的耦合,客戶可以采用各種形式的程序展示網(wǎng)絡(luò)設(shè)備狀態(tài),接口XML協(xié)議如下:
對于前臺和后臺的連接方式,考慮兩種方式:
1)前臺注冊,后臺與前臺使用TCP進(jìn)行長連接,此種方法需要維持TCP連接,前后臺需要穩(wěn)定連接,耦合較緊,但是事件的實(shí)時性好;
2)后臺建立Web service,前臺應(yīng)用程序調(diào)用,此種方法需要前臺主動調(diào)用Web service,所以需要定時調(diào)用,但耦合性較好。
根據(jù)項(xiàng)目實(shí)際,選擇采用Web service的方式,該方式對于前后臺之間耦合性要求較低,適合于現(xiàn)代開發(fā)方式。
本次開發(fā)主要針對于SNMP v2涉及到的交換機(jī)的內(nèi)存、CPU、端口上下行流量的檢測,以及交換機(jī)在線狀態(tài)等,根據(jù)程序測試及管理人員的經(jīng)驗(yàn),各偵測點(diǎn)的閾值設(shè)置如下:
交換機(jī)內(nèi)存:40%;
交換機(jī)CPU占用:20%;
千兆端口上行和下行流量:700M。
對于服務(wù)器,需根據(jù)不同的業(yè)務(wù)需求進(jìn)行手動調(diào)節(jié),甚至需要分時段進(jìn)行調(diào)整報警閾值,如對于學(xué)生選課系統(tǒng),在選課期間,計(jì)算機(jī)的CPU使用率閾值設(shè)定為40%,在其他期間設(shè)定為10%。
我?,F(xiàn)在實(shí)行操作系統(tǒng)虛擬化,需要根據(jù)各業(yè)務(wù)系統(tǒng)工作時段不同,為其動態(tài)分配資源;在網(wǎng)絡(luò)設(shè)備狀態(tài)偵測系統(tǒng)運(yùn)行一年后,根據(jù)系統(tǒng)的歷史數(shù)據(jù),歸納出各種業(yè)務(wù)系統(tǒng)的閾值,實(shí)現(xiàn)了對各類業(yè)務(wù)系統(tǒng)虛擬設(shè)備資源的優(yōu)化。
[1](瑞典)JoeArmstro著ng. Erlang程序設(shè)計(jì). 北京:人民郵電出版社.2008.12
[2](美)William Stalli著ngs;胡成松,汪凱譯.SNMP網(wǎng)絡(luò)管理. SNMP網(wǎng)絡(luò)管理. 北京:中國電力出版社.2001
[3]閆鋒欣編著. C++ GUI Qt 4編程. 北京:電子工業(yè)出版社.2008.08
[4]范春梅,王新剛,張衛(wèi)華編著. XML基礎(chǔ)教程. 北京:人民郵電出版社.2009.10
The Program Design For Network’s Devices Monitoring Based On SNMP
Wang Xiaoqiong Tan Liguo Huang Jinbiao
Institute of Information technology of Guilin University of Electronic Technology, GuangXi GuiLin, 541004
With the scale of network expanding and the business system of the enterprises be more complicated, modern network management need to be control not only by man, but also by computer,and then realize auto monitor and manage; the article want to a way to realize auto monitor for network devices and servers with the SNMP and advanced computer technology, and then expect to offer the help for optimize network by the detect date.
10.3969/j.issn.1001-8972.2011.09.058