摘 要:隨著信息化技術(shù)的不斷發(fā)展,互聯(lián)網(wǎng)也越來(lái)越普及,網(wǎng)絡(luò)設(shè)備的運(yùn)行狀態(tài)的好壞直接影響到整個(gè)網(wǎng)絡(luò)的質(zhì)量。網(wǎng)絡(luò)設(shè)備管理人員需要登陸到每個(gè)網(wǎng)絡(luò)設(shè)備上查看問(wèn)題的原因,這樣的管理方式很慢,也不容易找到問(wèn)題的根源。如何將抽象的網(wǎng)絡(luò)數(shù)據(jù)通過(guò)程序取出并顯示在web頁(yè)面上成為網(wǎng)絡(luò)管理員的一種迫切的需要。還好在每個(gè)可管理的設(shè)備上都有一種snmp協(xié)議能夠完成整個(gè)艱巨的任務(wù),snmp協(xié)議可以通過(guò)管理信息庫(kù)中相應(yīng)內(nèi)容獲得設(shè)備的各方面運(yùn)行信息。
關(guān)鍵詞:snmp網(wǎng)絡(luò)協(xié)議;流量監(jiān)控;系統(tǒng)
基于snmp網(wǎng)絡(luò)協(xié)議的網(wǎng)絡(luò)流量監(jiān)控系統(tǒng)是將各網(wǎng)絡(luò)設(shè)備各端口的上下行流量匯總到一個(gè)數(shù)據(jù)庫(kù)中,通過(guò)web方式展現(xiàn)給用戶的系統(tǒng)。整個(gè)系統(tǒng)主要包括網(wǎng)絡(luò)邏輯拓?fù)渖赡K、網(wǎng)絡(luò)設(shè)備鏈路流量監(jiān)控模塊、圖形展現(xiàn)模塊、短信告警模塊組成。首先,通過(guò)網(wǎng)絡(luò)邏輯拓?fù)渖赡K將現(xiàn)有網(wǎng)絡(luò)設(shè)備的網(wǎng)絡(luò)鏈接數(shù)據(jù)添加到設(shè)備數(shù)據(jù)表中,生成網(wǎng)絡(luò)設(shè)備的邏輯拓?fù)?,然后,網(wǎng)絡(luò)設(shè)備鏈路流量監(jiān)控模塊通過(guò)設(shè)備DB判別網(wǎng)絡(luò)設(shè)備的類型,如果是網(wǎng)絡(luò)設(shè)備通過(guò)SNMP協(xié)議采集網(wǎng)絡(luò)設(shè)備的各端口流量;如果是服務(wù)器網(wǎng)絡(luò)設(shè)備通過(guò)SNMP協(xié)議采集服務(wù)器的硬盤容量、內(nèi)存使用量、運(yùn)行軟件名稱等數(shù)據(jù),將采集的數(shù)據(jù)些入到采集數(shù)據(jù)表中。如果沒(méi)有采集到網(wǎng)絡(luò)設(shè)備和服務(wù)器的數(shù)據(jù),將設(shè)備名稱寫入到ERR表(錯(cuò)誤表)中,短信告警模塊每間隔10分鐘掃描一次ERR表,有故障網(wǎng)絡(luò)設(shè)備就告警。最后,當(dāng)有用戶請(qǐng)求查看網(wǎng)絡(luò)設(shè)備各端口狀態(tài)時(shí),圖形展現(xiàn)模塊從采集數(shù)據(jù)表中查詢到相應(yīng)網(wǎng)絡(luò)設(shè)備的原始數(shù)據(jù),通過(guò)邏輯算法將原始數(shù)據(jù)計(jì)算成真實(shí)的端口流量數(shù)據(jù),再通過(guò)調(diào)用圖形展現(xiàn)程序生成圖形,將結(jié)果輸出到用戶WEB頁(yè)面上。(圖1)
圖1
具體實(shí)施方式:
第一步:安裝win2003系統(tǒng)。
第二步:安裝IIS組建,搭建win系統(tǒng)的php頁(yè)面環(huán)境,安裝MS sql2000數(shù)據(jù)庫(kù)。
第三步:開(kāi)啟本端服務(wù)器的161,160端口(關(guān)閉防火墻,默認(rèn)開(kāi)啟),啟用各被監(jiān)控網(wǎng)絡(luò)設(shè)備的SNMP協(xié)議,并將各網(wǎng)絡(luò)設(shè)備的讀寫字符串匯總并記錄。
第四步:使用一種web語(yǔ)言編寫完成自己的網(wǎng)絡(luò)邏輯拓?fù)渖赡K和圖形展現(xiàn)模塊。
第五步:使用php編寫數(shù)據(jù)采集模塊和告警模塊。
網(wǎng)絡(luò)拓?fù)淠K編程的難點(diǎn)是需要寫一個(gè)迭代函數(shù),這樣在出現(xiàn)樹(shù)形網(wǎng)絡(luò)拓?fù)涞臅r(shí)候才能使整個(gè)程序簡(jiǎn)單并且高效。圖形的展現(xiàn)模塊是整個(gè)系統(tǒng)的難點(diǎn),如何將整個(gè)原始數(shù)據(jù)圖形展現(xiàn)到web頁(yè)面上不僅要考驗(yàn)自己對(duì)網(wǎng)絡(luò)數(shù)據(jù)bit和字節(jié)的換算能力,還要考驗(yàn)自己如何將處理后的數(shù)據(jù)圖形化到自己的頁(yè)面上,圖形化的頁(yè)面上的方式很多:flash方式、插件、web自帶圖形功能。任何一種圖形化的展現(xiàn)都是非常困難的。然后就是數(shù)據(jù)采集過(guò)程模塊,如何在一分鐘內(nèi)將多個(gè)設(shè)備的多個(gè)端口的數(shù)據(jù)寫入到自己的數(shù)據(jù)庫(kù)中依然是個(gè)難題,當(dāng)然你可以通過(guò)多線程完成這樣的任務(wù),數(shù)據(jù)采集到后你會(huì)發(fā)現(xiàn)你的數(shù)據(jù)庫(kù)膨脹的相當(dāng)快速,大數(shù)據(jù)量快速查詢又成為一個(gè)頭痛的問(wèn)題。解決了上面的幾個(gè)主要問(wèn)題后,短信的告警問(wèn)題才真的成為了可能。
圖形展現(xiàn)模塊的設(shè)計(jì):(圖2,圖3)
出/入流量:當(dāng)選擇出流量時(shí),頁(yè)面中展現(xiàn)的是本網(wǎng)絡(luò)設(shè)備各個(gè)端口的出流量。當(dāng)選擇入流量時(shí),頁(yè)面中展現(xiàn)的是本網(wǎng)絡(luò)設(shè)備各個(gè)端口的入流量。(出入是相對(duì)本網(wǎng)絡(luò)設(shè)備而言,流出本網(wǎng)絡(luò)設(shè)備的量為出,流入本設(shè)備的量為入)。
開(kāi)始端口、結(jié)束端口:本網(wǎng)絡(luò)設(shè)備的第一個(gè)端口,包括本網(wǎng)絡(luò)設(shè)備中的邏輯端口(如:在高級(jí)路由器中的邏輯vlan3、vlan4等)。也可顯示本網(wǎng)絡(luò)設(shè)備的邏輯端口流量。
采集頻率:這個(gè)是抽取(查詢)了存儲(chǔ)在數(shù)據(jù)表中本網(wǎng)絡(luò)設(shè)備在不同時(shí)間段(5分鐘、10分鐘、15分鐘、30分鐘、1小時(shí)、2小時(shí))各端口流量頻率,相當(dāng)于對(duì)數(shù)據(jù)表中數(shù)據(jù)的采樣數(shù)據(jù)。
最大帶寬:顯示了本網(wǎng)絡(luò)設(shè)備各個(gè)端口中實(shí)際最大帶寬(4/3)的黃金分割帶寬,目的是為了不讓實(shí)際最大帶寬顯示出來(lái)后頂在了設(shè)備流量圖最頂端,影響展現(xiàn)效果。最大帶寬可以手動(dòng)輸入,當(dāng)輸入的數(shù)值小于本網(wǎng)絡(luò)設(shè)備各個(gè)端口中實(shí)際最大帶寬時(shí),自動(dòng)修改為最大帶寬;當(dāng)輸入的數(shù)值大于本網(wǎng)絡(luò)設(shè)備各端口中實(shí)際最大帶寬時(shí),按照輸入數(shù)值從新展現(xiàn)設(shè)備流量圖。
查詢天數(shù):查詢天數(shù)默認(rèn)是可以查詢1-365天以內(nèi)的所有數(shù)據(jù),但是根據(jù)服務(wù)器的性能,顯示大數(shù)據(jù)量時(shí)數(shù)據(jù)可能會(huì)溢出。建議數(shù)據(jù)在30天以內(nèi)。
網(wǎng)絡(luò)設(shè)備流量圖:端口流量的折線圖,一次用戶請(qǐng)求,只能展現(xiàn)網(wǎng)絡(luò)設(shè)備各端口的上行流量或下行流量。
各端口名稱:從網(wǎng)絡(luò)設(shè)備上的采集到的端口名稱。
短信告警模塊的設(shè)計(jì):
使用php語(yǔ)言編寫實(shí)現(xiàn),根據(jù)網(wǎng)絡(luò)設(shè)備鏈路流量監(jiān)控模塊的處理機(jī)制,將沒(méi)有回應(yīng)的網(wǎng)絡(luò)設(shè)備的名稱和時(shí)間寫入到ERR表(錯(cuò)誤表)中,php編寫的輪詢程序每10分鐘查詢一次當(dāng)前10分鐘內(nèi)超過(guò)錯(cuò)誤閥值的網(wǎng)絡(luò)設(shè)備,如果不為空就向短信告警裝置發(fā)送告警信息。
本系統(tǒng)能夠?yàn)槲覀內(nèi)找嬖鲩L(zhǎng)的網(wǎng)絡(luò)帶寬提供實(shí)際的圖形顯示;為大型網(wǎng)絡(luò)的用戶提供網(wǎng)絡(luò)設(shè)備監(jiān)控及記錄網(wǎng)絡(luò)設(shè)備端口、主機(jī)網(wǎng)卡流量;為提供高效穩(wěn)定的網(wǎng)絡(luò)環(huán)境提供幫助。
作者簡(jiǎn)介:賀軍(1977,11-),男,湖北丹江口人,助理工程師,研究方向:計(jì)算機(jī)軟件,網(wǎng)絡(luò)安全。