曾 艷 錢 浩 楊海濤
(防災科技學院 信息工程學院,河北 三河065201)
21 世紀信息技術發展迅速,局域網絡的建設越來越多,網絡也越來越復雜,所使用到的網絡設備也越來越多樣。傳統的網絡管理和檢測手段效率低下,故障定位模糊,對于多廠商設備的監測支持不夠,極大的耽誤處理故障和錯誤的時間。隨著越來越多的廠商支持SNMP 協議,那么基于SNMP 來實現的統一管理監測手段得以蓬勃發展,利用SNMP 協議可以實現網絡設備資源、鏈路狀態、數據流量以及拓撲結構的管理。SNMP 協議的支持極大地幫助了運維人員發現和處理故障,對于預防故障也有一定的幫助作用。
為了兼顧多數網絡設備,并且給網管人員提供一定的輔助能力,本文利用現在流行的開發框架結合SNMP 等相關技術設計并實現了網絡監測與管理系統。
SNMP 即簡單網絡管理協議,基于IP 網絡標準的協議,是為了方便用戶管理網絡設備而設立的網絡協議[1]。路由器、交換機、服務器、打印設備、工作站,以及調制解調器等網絡設備均支持該協議。SNMP 管理MIB 信息庫來存儲設備的相關數據,供管理端獲取以達到監控設備的目的。SNMP 廣泛應用于網絡關系系統中以顯示網絡的連接情況和配置情況。
MIB 信息庫是SNMP 協議標準的一部分,該部分主要規范地定義了被管理設備的一系列能夠被管理端訪問的信息數據,這些信息數據在將來被訪問時會按照一定的格式返回給管理端程序,管理端程序利用這些信息進而實現設備監測與管理。被管理的對象可以是任何一個網絡資源,只要該資源實現了SNMP 協議規范,并且符合MIB 庫存儲的數據格式。被管理對象的集合被稱為MIB。它定義了包括對象的名稱、對象的訪問權限以及對象的數據類型等被管理對象的一系列屬性,每個SNMP 設備(Agent)都有自己的MIB。從這個意義上,它也可以看作是NMS(網管系統)和Agent 之間的溝通橋梁[2]。
IETF 采用OID 這種數據結構來表示MIB 信息庫中的數據。MIB 的結構類似一棵倒立的樹,樹對應的節點保存著設備對應的信息,管理端就是通過這些OID 來獲取設備的各種信息。
Springboot 是一個全新的開源的輕量級web 框架[3],是由Pivotal 團隊在2013 年開始研發,不僅繼承了Spring 框架原有的優秀特性,而且還通過簡化配置來進一步優化Spring 應用的整個搭建和開發過程。另外Springboot 通過集成大量的框架使得依賴包的版本沖突,以及引用的不穩定性等問題得到了很好的解決。
Vue.js 是一套構建用戶界面的漸進式框架。與其它重量級框架不同的是,Vue 采用自底向上增量開發的設計。Vue 的核心庫只關注視圖層,并且非常容易學習,也非常容易與其它庫或已有項目整合。另一方面,Vue 完全有能力驅動采用單文件組件和Vue 生態系統支持的庫開發的復雜單頁應用。
如圖1 所示,網絡監測系統主界面從左到右依次為全網信息統計、故障發生次數、設備統計、監測點統計、本地時間、服務器CPU 使用率和服務器內存使用率七大部分。主頁面可以隨時監測到網絡中的設備狀態、當前故障情況和本系統運行服務器的狀態。

圖1 系統主界面
設備管理功能主要的任務在于對局域網的所有可見設備進行信息添加、修改和備注,對設備的端口進行查看、開啟和關閉、添加描述信息,如圖2 所示。在對網絡設備進行添加時,提供了Excel 導入設備列表,系統自動在網絡中搜索列表中的設備,發現并且能夠成功進行監測,則將該設備添加到設備庫中,為后續其他功能的開發建立基礎。

圖2 設備管理圖
設備管理采用的是樹形表格展示,將對應的設備類型劃分為網絡設備、服務器設備、其它設備以及未知設備。設備管理是其它模塊實現的基礎部分,為了獲取到足夠的信息,以及能夠及時的對設備進行信息捕獲,需要采用多線程的方式針對多個批量設備進行輪詢數據捕獲,這種多線程主動捕獲數據的方式性能更好,能夠及時的獲取設備數據,避免了長時間間隔導致滯后問題。同時為了更進一步的提高信息捕獲效率,SNMP Trap是必不可少的一環,Trap 報文能夠讓網絡設備主動的向管理端發送自己的變更信息,這些數據對故障的診斷和定位有著不可低估的意義。
設備管理中基礎信息的收集包括CPU 使用率、內存使用率、接口描述、接口流量大小以及接口狀態,如圖3 所示。

圖3 CPU 和內存統計圖
3.3.1 故障管理功能
故障管理模塊的設計方式如下:在設備信息數據采集過程中,會對每個設備進行故障閾值的設置,針對CPU 使用率、內存使用率以及鏈路流量設置多個預設值,該預設值通過用戶自定義設置,系統默認使用率超過85%為設備危險,超過95%為設備故障,此時認為設備壓力超載。那么,需要管理員及時查看故障原因,這種方式的故障管理實現方式為主動監控。另外,針對時效性,需要加上網絡設備的Trap接收并且分析。Trap 報文是網絡設備主動向管理端發送的報文,該報文內容可由管理員在網絡設備上進行命令配置,不同設備的Trap報文封裝的內容有所不同,因此為了方便管理員查看,系統需要記錄Trap 報文中類型字段,以此來判斷設備發生了何種變動或者故障。該故障收集方式稱為被動監控。通過兩種監控方式,系統會在不同的時間段接收數據,并且將數據進行處理后存入數據庫,然后從數據庫中將數據進行可視化展示。整個故障模塊架構圖如圖4所示。

圖4 故障模塊架構圖
兩種監控方式通過設置監測點進行輪詢監測,監測信息點包括SNMP 連通性、PING 連通性、接口狀態、CPU 使用率以及內存使用率,故障視圖頁面如圖5 所示。

圖5 故障視圖界面
對于故障按照未處理、正在處理以及已忽略三種情況進行分類,另外,可以對每種故障進行詳情查看,針對故障條目可以添加額外的備注信息,以供網絡管理人員進行查看。
3.3.2 故障統計功能
故障的統計也是非常重要的一種標準,統計各種故障類型的頻率,以及出現在哪些設備上的統計,能夠為管理員提供故障分析和統計信息,讓故障出現的源頭得以體現,故障統計界面如圖6 所示。

圖6 故障統計圖
統計方式分為監測點出現次數統計、TOPN 故障次數統計以及特定設備故障類型統計。監測點出現的頻率能夠反映設備的哪些方面容易出現故障,從而有利于網管人員更加留意這些地方,而按照特定IP 設備統計故障,有利于分析某臺設備的故障情況。
流量監測功能的設計與實現:
流量監測的實現需要借助于各個設備的端口進出流量的統計,在端口相關的MIB 中有相關的參數記錄。只要掌握計算方法,就能夠通過端口的參數值,得出流量情況。
常用的性能公式:

通過上述的公式和算法,對監控設備的端口數據加以處理即可得出想要的流量統計信息。設備端口的流量監測和統計對于網絡監測、流量預測是非常重要的指標和參數。經過算法計算后,可以將數據可視化展示出來,供網絡管理人員查看和分析,有利于當前網絡的檢測,能夠從宏觀層面來監測設備情況,從而做到“動靜結合”的效果,所謂的“動”是指流動的流量數據,每時每刻無不在變化,通過統計不同時間段的各個設備端口的流量情況,可以針對于該設備進行較為詳細的健康狀態的檢查,流量統計界面如圖7 所示。

圖7 流量統計圖
所謂“靜”是對于設備管理模塊來說,方便網絡管理員對設備進行總覽、查看以及統計數量,這種非實時性的信息,提供了一種便捷的管理手段,將“動”和“靜”相結合,整個局域網的設備監測就有了更為強大的功能。
隨著互聯網和計算機相關技術的飛速發展,用戶對計算機網絡的使用逐漸增多的同時,也對網絡設備的考驗越來越嚴格,對網絡越來越依賴,給網絡維護帶來了各種挑戰,對于網絡監測系統的要求也逐步提高。SNMP 作為一個廣為使用的網絡管理協議,為網絡監測系統的設計實現帶來巨大的便利。