《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信与网络 > 设计应用 > 基于开源组件的网络管理系统的实现
基于开源组件的网络管理系统的实现
来源:微型机与应用2011年第23期
赵根柱,巴特尔
(内蒙古工业大学 信息工程学院,内蒙古 呼和浩特 010051)
摘要: 通过研究Cacti的RRDTool模块,分析其在历史信息存储和显示方面的弊端,选择使用普通数据库作为改进策略,设计了基于开源组件的网络管理系统,实现了网络的有效管理。使用SnmpSharpNet组件采集网络设备信息,运用ZedGraph组件绘制图表,并结合数据库技术建立存储相关信息的数据库。
Abstract:
Key words :

摘  要: 通過研究Cacti的RRDTool模塊,分析其在歷史信息存儲(chǔ)和顯示方面的弊端,選擇使用普通數(shù)據(jù)庫作為改進(jìn)策略,設(shè)計(jì)了基于開源組件的網(wǎng)絡(luò)管理系統(tǒng),實(shí)現(xiàn)了網(wǎng)絡(luò)的有效管理。使用SnmpSharpNet組件采集網(wǎng)絡(luò)設(shè)備信息,運(yùn)用ZedGraph組件繪制圖表,并結(jié)合數(shù)據(jù)庫技術(shù)建立存儲(chǔ)相關(guān)信息的數(shù)據(jù)庫。
關(guān)鍵詞: 網(wǎng)絡(luò)管理;SnmpSharpNet;ZedGraph

 對于一個(gè)有效的網(wǎng)絡(luò)管理系統(tǒng),完善的后臺(tái)數(shù)據(jù)庫是不可或缺的,它是實(shí)現(xiàn)網(wǎng)絡(luò)管理的信息庫。數(shù)據(jù)庫保存了用于網(wǎng)絡(luò)管理的信息,包括數(shù)據(jù)信息、狀態(tài)信息和異常信息等。數(shù)據(jù)庫的信息可供管理員了解網(wǎng)絡(luò)運(yùn)行的歷史狀況,也可為網(wǎng)絡(luò)性能的預(yù)測提供依據(jù)。
Cacti是目前普遍使用的流量監(jiān)測工具,它使用RRDTool(Round Ro-bin Database Tool)實(shí)現(xiàn)網(wǎng)絡(luò)信息的存儲(chǔ)與圖表的繪制。本文對RRDTool進(jìn)行了研究,發(fā)現(xiàn)其在信息存儲(chǔ)時(shí)對數(shù)據(jù)庫中的歷史信息進(jìn)行了壓縮處理,從而導(dǎo)致歷史信息不斷發(fā)生變化,以至于顯示的流量信息不能真實(shí)地反映網(wǎng)絡(luò)運(yùn)行的歷史狀況。鑒于此,本文選擇使用普通數(shù)據(jù)庫作為改進(jìn)對象,并結(jié)合開源組件,設(shè)計(jì)了基于開源組件的網(wǎng)絡(luò)管理系統(tǒng)。該系統(tǒng)實(shí)現(xiàn)了對網(wǎng)絡(luò)部分信息的管理,很好地解決了數(shù)據(jù)庫存儲(chǔ)歷史信息不斷變化的問題,方便了網(wǎng)絡(luò)管理者了解過去某段時(shí)間以來或過去某時(shí)間段內(nèi)網(wǎng)絡(luò)的運(yùn)行狀況。
1 開源組件
1.1 SnmpSharpNet

 SnmpSharpNet是用C#編寫的一個(gè)開源的SNMP組件庫,支持SNMPv1、SNMPv2和SNMPv3[1]。SnmpSharpNet是面向?qū)ο蟮?,由很多的類?gòu)建而成,內(nèi)部封裝了豐富的與SNMP操作相關(guān)的方法和屬性,可方便編程者使用SNMP編程。本管理系統(tǒng)使用SnmpSharpNet實(shí)現(xiàn)網(wǎng)絡(luò)設(shè)備信息采集模塊。
1.2 ZedGraph
 ZedGraph是一個(gè)開源的圖表類庫,全部代碼用C#開發(fā)。它可以利用任意的數(shù)據(jù)集合創(chuàng)建2D的線性和柱形圖表。ZedGraph繼承了Framework中的UserControl接口,可作為WinFo-rm窗體控件,也可用作WebForm控件,允許用戶在VS的IDE環(huán)境中進(jìn)行拖放操作[2]。本文使用ZedGraph完成相關(guān)圖表的繪制。
2 RRDTool與普通數(shù)據(jù)庫比較
 RRDTool是一種特殊的環(huán)狀數(shù)據(jù)庫工具,它不但可以存儲(chǔ)數(shù)據(jù),也可以繪制圖表。因此,RRDTool在一些兼有數(shù)據(jù)存儲(chǔ)與圖表顯示功能的軟件中深受人們的青睞。然而,任何一種工具都不是完美無缺的,RRDTool也是如此。表1為RRDTool與普通數(shù)據(jù)庫的對照表。通過表1可以發(fā)現(xiàn),普通數(shù)據(jù)庫在很多方面優(yōu)于RRDTool,如數(shù)據(jù)庫文件大小可以增加,數(shù)據(jù)庫中的信息不會(huì)被壓縮、計(jì)算和覆蓋,數(shù)據(jù)庫的信息可以隨時(shí)獲取等。為了保證歷史信息的完整性,該系統(tǒng)采用普通數(shù)據(jù)庫(SQL Server)作為信息的存儲(chǔ)倉庫,從而確保了存儲(chǔ)信息的完整性,為網(wǎng)絡(luò)管理員提供了解網(wǎng)絡(luò)運(yùn)行歷史狀況的確切信息。
3 系統(tǒng)的架構(gòu)
 為了保證網(wǎng)絡(luò)的高效運(yùn)行,滿足網(wǎng)絡(luò)通信業(yè)務(wù)的需求,網(wǎng)絡(luò)管理主要通過網(wǎng)絡(luò)管理系統(tǒng)對網(wǎng)絡(luò)上的資源實(shí)行各種合理的管理,包括性能管理、配置管理、計(jì)費(fèi)管理、安全管理和故障管理。本系統(tǒng)主要從網(wǎng)絡(luò)的性能,配置和故障考慮,實(shí)現(xiàn)其功能。系統(tǒng)的架構(gòu)如圖1所示,由資源層、管理層和顯示層三部分組成。管理層包括總控模塊、數(shù)據(jù)采集模塊、配置管理模塊、故障管理模塊、性能管理模塊和數(shù)據(jù)庫管理模塊??偪啬K實(shí)現(xiàn)對各分功能模塊的啟、??刂?;數(shù)據(jù)采集模塊實(shí)現(xiàn)對資源層相關(guān)信息的采集與保存;配置管理模塊實(shí)現(xiàn)對資源層相關(guān)信息的監(jiān)測與設(shè)置,并保存監(jiān)測信息;故障管理模塊通過規(guī)定資源性能指標(biāo)閾值實(shí)現(xiàn)錯(cuò)誤的及時(shí)告警,并保存錯(cuò)誤信息;性能管理模塊實(shí)現(xiàn)性能指標(biāo)的顯示與圖表的繪制;數(shù)據(jù)庫管理模塊實(shí)現(xiàn)信息的存儲(chǔ),并向各管理模塊提供相關(guān)信息。

4 系統(tǒng)的實(shí)現(xiàn)
 使用數(shù)據(jù)庫技術(shù)建立后臺(tái)數(shù)據(jù)庫及所需的信息表,表2為設(shè)備流量信息設(shè)計(jì)表。
通過SnmpSharpNet的GetRequest、GetNextRequest和GetBulkRequest方法采集設(shè)備信息。使用ADO建立數(shù)據(jù)庫連接,保存采集信息。數(shù)據(jù)庫相關(guān)操作如下。
SqlConnection conn;
string string1="server=(local);database=NetFlow;uid=sa;pwd=";
conn = new SqlConnection(string1);
conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandText = "insert into liuliang1 values (′"+txtDName.Text.Trim()+"′,′"+Convert.ToInt32(txt-Index.Text.Trim())+"′,′"+txtIData.Text.Trim()+"′,′"+t-xtOData.Text.Trim()+"′,′"+txtDate.Text.Trim()+"′)";
cmd.CommandType = CommandType.Text;
cmd.ExecuteNonQuery();
 對性能指標(biāo)(如丟包率、差錯(cuò)率)使用式(1)~式(4)計(jì)算設(shè)計(jì)。

 設(shè)置告警指示燈,規(guī)定性能指標(biāo)閾值(如丟包率為0.1%~1%),實(shí)現(xiàn)故障告警。使用ArrayList類對象暫存數(shù)據(jù),作為ZedGraph的數(shù)據(jù)集,顯示直觀圖表(如網(wǎng)絡(luò)流量圖)。圖2、圖3、圖4為該系統(tǒng)對某實(shí)驗(yàn)室網(wǎng)關(guān)部分信息的監(jiān)測結(jié)果。

 

 

 本設(shè)計(jì)實(shí)現(xiàn)了對網(wǎng)絡(luò)部分功能的管理,通過使用普通數(shù)據(jù)庫作為信息的存儲(chǔ)倉庫,解決了RRDTo-ol存在的弊端,為網(wǎng)絡(luò)的管理提供了確切的歷史信息。
參考文獻(xiàn)
[1] SnmpSharpNet[EB/OL].[2011-07-01].http://www.snmpsharpnet.com/node.
[2] ZedGraph[EB/OL].[2011-07-01].http://baike.baidu.com/view/5307214.htm.
[3] 李明江.簡單網(wǎng)絡(luò)管理協(xié)議[M].北京:電子工業(yè)出版社,2007.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。

相關(guān)內(nèi)容