引言
當今社會對網絡的安全和網絡性能要求越來越高,與此同時,電信業務的蓬勃發展、數據網絡的日益壯大,對網絡特別是電信網絡進行監測和管理軟件的需求也就越來越強烈。正是由于這種強烈的需求,越來越多的企業開始致力于網絡監測管理軟件的設計和生產。
網絡監測管理在近幾年發展非常迅速,眾多網絡監管軟件紛紛浮出水面。總體來說,現階段較流行的網絡監管軟件主要有以下三種實現方式:基于嵌入式、基于移動代理技術[1,2]和直接基于系統協議。考慮到本系統面向電信網絡以及實現的復雜程度,我們采用第三種方式來對系統進行實現。
當前,有兩種網絡管理協議在計算機網絡管理中占主導地位:一種是開放系統互連組織(OSI)提出的公共管理信息及協議(CMIS/CMIP);另一種是Internet工程任務組(IETF)提出的簡單網絡管理協議(SNMP)[3,4]。IETF指定的SNMP協議顯得簡單實用,容易實現,因而被迅速地推廣開來,得到了廣泛支持。
SNMP是在TCP/IP協議棧之上的應用層協議,由三個部分組成:管理信息結構(SMI)、管理信息庫(MIB)和SNMP協議[5]。SNI描述了管理信息的標準符號,最關鍵的原則是被管理對象的定義要用抽象語句定義ASN.1來描述。MIB用來貯存管理信息,可把一個管理信息庫比作一個虛擬的信息倉庫。SNMP協議是網絡管理站(manager)和代理(agent)之間的異步請求和響應協議。網絡管理信息的數據由SNMP從MIB庫中獲取,再經過網絡管理系統應用程序的過濾、分析、加工處理后,存儲于Web服務器的數據庫中。
本文介紹的是基于SNMP協議和Web呈現的對電信網絡主要是IP網絡進行全面監測的監測平臺。此監測平臺可用于企業內部局域網絡的監測和管理,也可用于一個包含多個局域網絡組的統一網絡,是一個全面的網絡監測軟件。
1、系統結構設計
1.1系統的物理部屬
系統中的實體有:根監測器、數據庫服務器、Web服務器,在各個子網中再采用葉監測器的方式從而形成一個監測器樹的分布式監測系統。監測器分布式地部署在各個被監測的數據網內。每個監測器負責一個網段(可以使用手工來設置)。監測器探針(以下簡稱探針)將自己負責的網段中設備所有的SNMP信息以輪詢的方式采集下來,并且存儲到數據庫中去。然后使用Web服務器將客戶端瀏覽器需要的信息讀取出來,傳遞給瀏覽器端。瀏覽器端根據用戶的各種要求向Web服務器提出數據要求,Web服務器審核后從數據庫中提取需要的信息通過瀏覽器端顯示給用戶。
葉監測器部署在各個規模適當的局域網內,這是出于輪詢性能的考慮。要保證整個系統數據采集的高性能,就必須科學地規劃葉監測器在整個網絡中的部署,而在局域網中的部署就是整個系統的最小單元。本文是基于一個局域網為背景的測試環境。
1.2系統三層架構
系統采用三層結構:數據采集層面、數據存儲層面、數據呈現層面。采用數據庫將底層的分布式數據采集和呈現層的瀏覽器/服務器(B/S)架構完全隔離,增強了系統的可擴展性、穩定性、開發的并行性。SNMP檢測系統的三層架構如圖1所示。
圖1 SNMP檢測系統的三層架構
其中數據采集層包括SNMP信息采集、Trap信息接受、數據庫入庫、拓撲發現和守護進程等子模塊;數據存儲層包括系統配置表、監測信息表、Trap告警表、拓撲信息表、用戶權限表、統計信息表、用戶定制表等子模塊;數據呈現層包括數據庫訪問、設備狀態實時顯示、故障告警、性能報告、用戶定制等子模塊。
1.3系統接口描述
SNMP檢測系統的三層架構中接口描述如圖2所示。
圖2系統三層架構中接口描述
A接口:a)SNMP監測器將所有采集到的準實時的數據先存在文件中,然后再導到數據庫,由定時器(1分鐘)來觸發數據傳送模塊,周期地將根監測器中的數據匯集到Oracle數據庫中去。b)如果SNMP監測器接收到網絡設備所發來的Trap信息(實時數據),系統使用數據傳送模塊立即將Trap信息送到對應的緊急故障報警數據庫中去。
B接口:Web服務器從數據庫服務器中的讀取數據。在數據庫中存儲了三類數據:非實時數據(最大支持1年)、準實時數據(1分鐘)、實時數據(小于5秒)。
C接口:將數據庫統計分析模塊所要的數據取出來。
D接口:位于數據庫統計分析模塊與WebServer之間,接口為數據庫中的各個統計分析結果表使用XML封裝;并且要支持準實時的數據更新;還要實時地刷新本在的緊急故障報警數據庫。
E接口:HTTP接口。
2、系統的設計和實現
2.1系統的開發環境和工具
本課題使用Linux作為操作系統平臺,使用MagicC++可視化IDE作為開發工具,使用CVS(Linux平臺)和VisualSourceSafe(windows平臺)進行代碼和文檔版本控制,使用Oracle進行分布式數據庫部屬,前臺的界面呈現部分使用了Apache服務器以及PHP語言、HTML語言、JavaScript語言等工具。
2.2SNMP數據采集層的設計和實現
SNMP數據采集層主要由五個模塊所組成,分別是:日志模塊、SNMP采集模塊、Trap消息接收模塊、DEAMON模塊和數據庫接口模塊。其中SNMP采集模塊和Trap消息接收模塊是數據采集層的核心模塊。
2.2.1SNMP數據采集模塊的設計和實現
SNMP數據采集模塊的主要功能是:從數據庫的系統配置表中的設備監測列表中取出一個被監測網絡單元的IP地址,根據配置表中用戶定制監測項的MIBID來輪詢網絡單元的各個MIB值,并將值存入鏈表中。等全部MIBID查詢結束后,將所得到的鏈表存入到對應的數據文件中去,繼續輪詢下一個網絡單元。全部網絡單元拓撲查詢結束后,回到等待狀態,使用信號解析子模塊解析信號,以判斷是結束還是繼續查詢,或者是應答監測模塊的監測信號。
SNMP數據采集模塊由6個子模塊組成,它們分別是系統調度子模塊、MIBID查詢引擎、文件讀寫接口、鏈表操作接口、信號解析接口、數據庫接口。其中最重要的是MIBID查詢引擎。
MIBID查詢引擎是通過使用修改net-snmp軟件包中的snmpget和snmpwalk來構成的,它可以通過文件讀寫接口將MIB子樹ID配置文件讀出來,并且按照ID值使用引擎發出SNMPGETNEXT請求,等待消息回來。如果不成功,記錄模塊將出錯信息存入到日志文件中去,如果成功完成SNMP查詢操作,則鏈表操作接口將數據插入到鏈表中。同時查詢此次設備輪詢是否已經完成,如果完成,使用文件讀寫接口將鏈表存入文件;如果未完成,繼續查詢。然后,調用信號解析接口按照別的進程傳遞過來的信號分類處理。
2.2.2Trap消息接受模塊的設計和實現
Trap消息接收模塊的目的是負責接收SNMP發送來的Trap消息,并且將此消息即刻寫入到數據庫中去。
Trap接收模塊的流程如下:
1)Trap消息以守護進程的方式運行于系統中,監測系統的觸發條件有兩個:a)來自于所監測網絡單元的Trap消息。b)來自于DEAMON進程的運行監測信號。
2)下面就是從這兩個觸發條件開始:
如果是a),那么將這條Trap消息傳給消息包裹函數,打上本監測系統的標記,然后調用入庫模塊將包裹后的信息存入到Trap信息表中去。
如果是b),那么調用監測信號回應子模塊回應監測信號。
2.3SNMP數據呈現層的設計和實現
SNMP數據呈現層根據功能可以劃分為五個主要的模塊,分別為:數據庫訪問模塊、設備狀態實時顯示模塊、故障實時告警模塊、性能報告模塊和用戶定制模塊。主要利用HTML語言構建頁面,PHP語言的訪問數據庫及繪圖語句實現了上述五個模塊的功能。
2.3.1數據庫訪問
數據庫訪問模塊分為數據庫讀取子模塊和數據庫錄入修改子模塊,主要用到了PHP語言對Oracle數據庫的連接及操作的函數。
2.3.2PHP繪圖語句
性能報告模塊主要使用PHP語言中的繪圖函數如Imagecreate()、Imagecolorallocate()、Imageline()、Imagestring()、Imagerectangle()、Imagefillrectangle()、Imagefontheight()、Imagefontwidth()。通過這些函數實現了對設備的主要信息的柱狀圖、曲線圖的顯示,使用戶對設備的各種信息的變化對比能有一個直觀的了解。
3、運行結果及分析
3.1SNMP信息采集模塊運行輸出
通過遍歷目的主機的SNMPMIB樹所獲得的結果可看到:a)系統的一些信息,包括系統的版本號、啟動時間、描述、系統名、位置、服務等信息。b)對此主機系統interface的描述。c)每個接口的詳細信息,接口的類型,接口的最小傳輸單元。
3.2日志模塊輸出
日志模塊的輸出格式,主要包括日志的描述信息、日志輸出的時間、日志類型、日志導出程序、主機標識等信息。
3.3系統界面圖
圖3顯示的是在局域網中進行測試的主界面,系統會根據數據庫中存儲的局域網組信息自動生成局域網組的樹型菜單,由于在局域網中進行測試,所以圖顯示的只有一個局域網組。右邊顯示的是此局域網組的實時設備狀態,將鼠標放到設備上,可以看到相應設備信息,點擊設備,可以進入詳細信息頁面,查看此設備的詳細信息。
圖3系統主界面
3.4性能報告曲線圖
本系統可以根據用戶的需要,對目標網絡中的各類設備,包括交換機、防火墻、路由器、主機、服務器等進行監測,獲取設備的端口信息、流量信息、故障信息以及各種性能信息。圖4顯示的是測試局域網內一個交換機從12:00~17:00的平均流量曲線圖。同樣的數據還可以用柱狀圖顯示。
圖4交換機平均流量曲線圖
4、結束語
本文主要論述了SNMP電信網絡監測系統主要架構,該系統成功實現了大部分相關的基本功能,如SNMP信息采集模塊、日志模塊、數據庫接口模塊,以及在各模塊中作為切面抽象出的鏈表操作接口、文件操作接口、SNMPTrap模塊中的Trap消息監聽接口,以及通過Web服務器的狀態信息實時顯示、故障實時告警,圖形化報表顯示、用戶定制等功能。該系統在SNMP輪詢效率及呈現美觀性方面還有待于進一步提高。
責任編輯:gt
-
數據采集
+關注
關注
38文章
5903瀏覽量
113513 -
服務器
+關注
關注
12文章
9017瀏覽量
85182 -
監測系統
+關注
關注
8文章
2675瀏覽量
81254
發布評論請先 登錄
相關推薦
評論