張瑜 張濤 李營那
摘要:隨著網絡的快速發展,網絡設備已成為企事業單位的重要資產之一。為了有效地管理企事業單位內部網絡及相關的硬件設備,構建了基于Web的網絡管理系統。充分利用Web系統的便捷性和基于SNMP的通用性,構建一套集設備管理、網絡拓撲、機房監控、智能報警、故障報修等功能的可視化管理系統,以加強對網絡設備的全方位管理。
關鍵詞:網絡管理;SNMP;網絡拓撲;RESTful
中圖分類號:TP393 文獻標識碼:A 文章編號:1009-3044(2015)34-0099-03
Abstract: With the development of network technology, network equipments have become one of the most important assets in many company. In order to manage the intranet of company and network equipments effectively, this paper presents the visualization network management system based on web.The system takes advantage of the convenience of web system and the universality of SNMP to implement a visualization system that include devices management, network topology management, machine room monitoring, intelligent alarm, repairing management.
Key words: network management; SNMP; network topology; RESTful
隨著網絡的快速發展,網絡設備已成為各單位的重要資產之一,網絡的安全性、可用性嚴重影響著企業單位工作環境,對網絡的使用不當有可能會給單位帶來巨大的損失。網絡設備的管理和故障的快速修復也影響著企事業的競爭力。另一方面,Web技術由于其良好的兼容性,擴展性及便捷性已經逐漸取代C/S架構的技術,成為軟件開發的主流?;赪eb的可視化網絡管理系統就是利用了Web技術,構建了集設備管理、網絡拓撲、機房監控、智能報警、故障報修等功能的可視化管理系統。
1 系統需求分析
基于Web的可視化網絡管理系統的用戶角色主要分為四類:系統管理員、資產管理員、網絡運維員、普通員工,其中:
1)系統管理員:主要負責保障系統的正常運行,包括對用戶的權限進行調整,系統參數的設置等功能。
2)資產管理員:主要負責對網絡設備及網絡相關設備進行登記,利用可視化的界面對機房及網絡設備的位置進行維護。
3)普通員工:主要是單位的網絡設備使用者,通過系統申請網絡設備,申請保修網絡設備。
4)網絡運維員:主要負責對設備故障進行檢修,及時發現網絡中的故障,并進行處理。
在對于不同的用戶角色的需求進行分析后,基于Web的可視化網絡管理系統的主要功能如圖1所示。
1)設備管理的主要用戶是資產管理員,主要包括設備的基本信息管理和生命周期管理。基本信息包括了設備的名稱、種類、型號及在網絡中的位置。生命周期管理包括了設備的入庫、分配、使用、維修、報廢的完整生命周期。
2)網絡拓撲管理的主要用戶是網絡運維員,網絡運維員能夠通過Web方式對網絡拓撲進行分層維護,能夠通過Web直觀地展現企業內部的完整網絡拓撲結構。在后期的運維過程中,能夠通過可視化的網絡拓撲結構,快速發現和解決網絡故障和設備故障問題。
3)機房監控的主要用戶是網絡運維員,機房監控主要利用傳感器和攝像頭將機房內的環境數據和實時畫面通過Web的方式展現。及時發現機房內的溫濕度環境變化。
4)智能報警分為閾值報警和發現報警,閾值報警通過對設備及環境設置閾值,當通過傳感器收集的數據超過了閾值的范圍,觸發報警事件。發現報警是通過SNMP協議[1]主動發現網絡中的未知設備進行報警。報警方式分為管理系統彈出、郵件通知、短信通知等。
5)故障保修功能是對設備產生故障后的保修流程管理,主要的使用用戶是普通員工和網絡運維員。普通員工可以對正在使用的網絡及相關設備進行報修申請,網絡運維員接到系統的申請提示后對故障進行排查和檢修,并在系統中記錄維修情況并及時回饋用戶。網絡運維員也可以通過智能報警主動發現設備故障,并發起報修。
6)統管理主要是對系統的基本設置進行維護。為了保證系統正常運行,可以對系統的參數進行設置,設置的內容包括報警短信的網關接口,報警電子郵件的發送地址,發送用戶和密碼,通過SMTP/POP3協議發送和接受電子郵件,傳感器和攝像頭的IP地址配置等。
7)用戶權限的管理是維護系統的用戶及角色信息,針對不同的角色分配不同的權限功能。
2 系統設計
2.1 系統架構設計
基于Web的可視化網絡管理系統采用Tomcat作為應用服務器,MySQL作為數據庫存儲。
系統主要采用B/S的三層架構[2],JAVA語言編寫,使用RESTful風格[3]的架構方式,將整個系統分為表現層,業務邏輯層,數據訪問層,如圖2所示。
系統還提供RESTful的開放接口提供各類傳感器向系統報送實時數據。
2.1 使用框架
1)RESTEasy:JBoss的一個開源框架,用于構建REST風格的Web服務,本系統中,通過使用RESTEasy框架,為表現層提供統一的REST風格Web服務,通過JSON進行數據交互。同時為傳感器提供標準接口上報實時數據。
2)Hibernate:用Hibernate作為ORM框架,用作數據與實體之間的映射,由于系統主要采用面向對象的設計方法,為了消除面向對象方法與關系型數據庫之間的差異,采用Hibernate作為數據操作的基本框架。
3)jQuery:在展示層使用HTML+CSS+JS的組合方式,jQuery是JS的框架。在網頁形式下提供各種前端特效,使操作更人性化,便捷化。
4)jTopo:jTopo是基于Web的圖形化展示框架,主要用于展示網絡拓撲效果。
3 系統實現及技術
本系統主要使用的技術是利用REST架構與傳感器等進行交互,利用jTopo實現基于Web的網絡拓撲功能。
3.1 RESTful架構
REST即表述性狀態傳遞(英文:Representational State Transfer,簡稱REST)是Roy Fielding博士在2000年他的博士論文中提出來的一種軟件架構風格。它是一種針對網絡應用的設計和開發方式,可以降低開發的復雜性,提高系統的可伸縮性。在REST架構中,沒一個URI都是一種資源的標識,在對系統功能進行實現時,將每個網絡設備都作為一種網絡資源通過唯一的URI進行標識,在利用HTTP的不同的請求方式對資源進行狀態改變。
定義資源標識[4]的規則如下:
http://IP:PORT/{系統名稱}/{應用名稱}/{設備類型}/{設備ID}
系統名稱為本系統的英文標識,應用名稱針對系統中的不同應用進行標識,設備類型是以小寫英文字母的方式對設備進行枚舉標識,設備ID是系統為每個設備分配的唯一標識。例如,在監控系統中的ID為s001的服務器對應的URI標識為:http://IP:PORT/system/monitor/server/s001。利用HTTP的不同的請求方式,可對該資源進行狀態改變。不同的請求方式分別是:
1)GET請求:獲取資源,查看資源的信息
2)POST請求:創建資源,新建所需要的資源對象
3)PUT請求:更新資源,對資源信息進行修改
4)DELETE請求:刪除資源,將資源刪除
對資源屬性的說明采用JSON的數據格式,以鍵值對的方式構成,屬性名稱記為PNi,屬性值記為PVi,格式如下:
{PN1:PV1, PN2:PV2,......,PNn:PVn}
以服務器s001為例,當采集到服務器的CPU占用率為34%,內存占用率為27%時,需要將數據更新到系統中時,對http://IP:PORT/system/monitor/server/s001的URI進行PUT請求,請求的內容大致為:
{cpu:0.34,memory:0.27,......}
3.2 網絡拓撲圖框架jTopo
jTopo(Javascript Topology library)是一款完全基于HTML5 Canvas的關系、拓撲圖形化界面開發工具包。利用jTopo可以構建基于Web的網絡拓撲圖[5]。jTopo分為四層:畫布(Canvas),舞臺(Stage),場景(Scene),對象(Object),畫布是整個繪畫的容器,一個畫布上可以有多個場景,每個場景可以有許多對象,舞臺是畫布中當前展示的場景。
在系統中充分利用了這四層關系對網絡拓撲進行展示,首先在畫布中建立了各個不同的場景,包括機房、機柜、服務器,在進行不同場景切換時展現的內容也不同,在機房場景中展現的是機房整體結構,機柜、空調的位置等,如圖3所示。
在機柜場景中,展示的是機柜內服務器,交換機,路由器等設備的位置,如圖4所示。
利用場景在舞臺上的切換達到各個拓撲圖之間的轉換。
3.3 主要功能界面
網絡拓撲功能可以維護查看各類網絡設備的位置及狀態,對不同的設備可以設置閾值報警,當設備發生異常時網絡拓撲圖中會以紅色標識設備發出告警。
系統提供折現圖,柱狀圖,儀表盤等方式對網絡的實時數據和歷史數據進行展示,效果如圖6,圖7所示:
4 結束語
基于Web的軟件系統是目前軟件開發的主流方式,本文實現了基于Web的可視化網絡管理系統,并在實際應用中獲得了較滿意的效果。在此系統的基礎上,能夠有效地管理各類網絡設備,快速發現網絡及設備故障并解決故障。方便了運維人員對網絡狀況的實時掌握及故障排查。系統中的基于Web方式展示網絡拓撲的技術可以為相關技術人員提供借鑒。
參考文獻:
[1] 劉振山, 徐孟春, 程瑋瑋. 基于SNMP協議的網絡拓撲結構發現[J]. 信息工程大學學報, 2003, 4(4): 44-46.
[2] 張馳, 羅鐵堅, 王相根. 基于Web的信息可視化系統的設計與實現[J]. 計算機系統應用, 2009(12): 5-9.
[3] Roy Thomas Fielding.Architectural Styles and the Design of Network-based Software Architectures[D]. Ph.D., Information and Computer Science, UC Irvine, 2000.
[4] Markus Lanthaler,Christian Gütl,Nabil Tabbane.Seamless Integration of RESTful Services into the Web of Data[Z]. Advances in Multimedia, 2012.
[5] 李天劍,曾文方. 基于Web的網絡拓撲圖自動構造的研究與實現[J]. 計算機工程與設計, 2001, 22(1): 45-47.