李偉
摘 要 在免費(fèi)開源領(lǐng)域,出現(xiàn)了許多功能完善的網(wǎng)絡(luò)監(jiān)控軟件,例如 Cacti 和 Nagios;Cacti 具有強(qiáng)大的數(shù)據(jù)收集功能,其主要用途是對當(dāng)前網(wǎng)絡(luò)鏈路流量負(fù)載的圖形顯示;Nagios 則適合檢測網(wǎng)絡(luò)服務(wù)及設(shè)備是否正常工作,其報警功能十分強(qiáng)大。利用開源軟件監(jiān)測網(wǎng)絡(luò),在獲得與商業(yè)網(wǎng)絡(luò)監(jiān)測軟件相仿功能的同時,縮短了獨(dú)立開發(fā)軟件的周期、節(jié)約了使用成本。
關(guān)鍵詞 網(wǎng)絡(luò)監(jiān)測 Cacti 系統(tǒng)研究
中圖分類號TP393 文獻(xiàn)標(biāo)識碼:A
1 課題背景
近年來,隨著計算機(jī)網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,信息網(wǎng)絡(luò)越來越多地融入到人們的工作、學(xué)習(xí)和生活中,網(wǎng)絡(luò)管理也變得越來越重要。作為網(wǎng)絡(luò)管理人員使用傳統(tǒng)的網(wǎng)絡(luò)管理,由于缺少有效的網(wǎng)絡(luò)監(jiān)測手段,工作程序較為被動。為解決這一問題,我們應(yīng)開發(fā)一套實(shí)時、動態(tài)監(jiān)測并詳細(xì)記錄全網(wǎng)設(shè)備運(yùn)行狀況、鏈路狀況、流量狀況等信息,以直觀的、圖形化方式實(shí)時反映網(wǎng)絡(luò)運(yùn)行的監(jiān)測系統(tǒng)。此系統(tǒng)應(yīng)及時發(fā)現(xiàn)問題,對潛在隱患實(shí)時向管理員進(jìn)行報警,使網(wǎng)絡(luò)管理由人工轉(zhuǎn)為智能、由被動轉(zhuǎn)為主動,幫助網(wǎng)絡(luò)管理員提高網(wǎng)絡(luò)管理和運(yùn)行的服務(wù)質(zhì)量。
2 網(wǎng)絡(luò)監(jiān)測概述
網(wǎng)絡(luò)監(jiān)測軟件可以提供給管理員當(dāng)前的網(wǎng)絡(luò)狀態(tài)、網(wǎng)絡(luò)負(fù)載和網(wǎng)絡(luò)設(shè)備的工作狀態(tài)等信息。這些監(jiān)測軟件大多來自于軟件開發(fā)公司、個人和非盈利機(jī)構(gòu)。價格從免費(fèi)的開源軟件到收取高額費(fèi)用的商業(yè)軟件不等,一個高效的網(wǎng)絡(luò)監(jiān)測軟件也包括網(wǎng)絡(luò)故障的報警機(jī)制,一旦監(jiān)測到網(wǎng)絡(luò)故障,監(jiān)測軟件會利用多種途徑來通知網(wǎng)絡(luò)管理員。另外,高效的監(jiān)測軟件應(yīng)該有獨(dú)立運(yùn)行機(jī)制,不需要在每個被監(jiān)測設(shè)備上都安裝客戶端。
3 Cacti 概述
Cacti 是一個基于 PHP,SNMP,MySQL 和 RRDTool 開發(fā)的開源網(wǎng)絡(luò)流量監(jiān)測圖形分析軟件,它可以實(shí)現(xiàn)對當(dāng)前網(wǎng)絡(luò)狀態(tài)的圖形化顯示、故障診斷、指定每個用戶查看所對應(yīng)的樹狀結(jié)構(gòu)。Cacti 的開放式系統(tǒng)框架 PIA 提供了監(jiān)測系統(tǒng)的所有基礎(chǔ)部件和函數(shù)組,自身不但具有豐富的插件,第三方的插件如Weathtermap 都可以十分方便地嵌入到Cacti 平臺中,使用者可以根據(jù)自身需求定制和安裝相應(yīng)的插件。Cacti 通過使用NET-SNMP 程序中的 snmpget 和 snmpgetnext 命令來進(jìn)行數(shù)據(jù)的獲取,通過使用 RRDTool來進(jìn)行數(shù)據(jù)存取、更新、繪制圖形,所采集的數(shù)據(jù)可以重復(fù)利用,并且可以定義任意時間段制圖。
Cacti 通過 snmpget 命令采集數(shù)據(jù),利用RRDTool 來制圖,MySQL 數(shù)據(jù)庫中存放了RRDTool 繪圖時所需要的所有信息,Cacti 的操作界面簡潔直觀,用戶不需要掌握RRDTool 的復(fù)雜數(shù)據(jù)和命令的情況下就可以輕易繪制出所需要的圖形。
4 Nagios 概述
隨著計算機(jī)網(wǎng)絡(luò)規(guī)模的不斷發(fā)展,網(wǎng)絡(luò)內(nèi)的計算機(jī)主機(jī)和網(wǎng)絡(luò)設(shè)備也不斷增加,因此發(fā)生網(wǎng)絡(luò)故障的概率也不斷增加,這時就需要一款良好的監(jiān)測和管理措施,當(dāng)網(wǎng)絡(luò)設(shè)備發(fā)生故障時可以在第一時間通知給網(wǎng)絡(luò)管理者,做到故障的及時發(fā)現(xiàn)和排除。Nagios是一款免費(fèi)開源的網(wǎng)絡(luò)監(jiān)測軟件,其能夠有效監(jiān)測 Windows 和 Linux 主機(jī)的狀態(tài),可以根據(jù)當(dāng)前的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)將所有的網(wǎng)絡(luò)設(shè)備如交換機(jī)、路由器和打印機(jī)等納入到其監(jiān)測范圍之內(nèi)。當(dāng)系統(tǒng)或服務(wù)的狀態(tài)發(fā)生異常時會及時通過郵件或短信的形式通知給網(wǎng)絡(luò)管理員,在所有狀態(tài)都恢復(fù)后會再一次發(fā)出通知,為故障的排除贏時間,也因此提高了網(wǎng)絡(luò)的管理效率。
5 Cacti 與 Nagios 整合
Nagios 的監(jiān)測服務(wù)器的運(yùn)行狀態(tài)和報警功能十分強(qiáng)大,但對像流量等這種持續(xù)數(shù)據(jù)的呈現(xiàn)能力較弱;而 Cacti 比較側(cè)重于對直觀數(shù)據(jù)的監(jiān)控并成生圖形,用來監(jiān)測網(wǎng)絡(luò)流量、CPU 和內(nèi)存利用率等最為合適。比較兩個軟件,Cacti 側(cè)重于監(jiān)測持續(xù)的數(shù)據(jù)信息如網(wǎng)絡(luò)設(shè)備的流量負(fù)載并成生圖形,但在故障分析和報機(jī)制方面有待完善,而 Nagios 側(cè)重于監(jiān)測網(wǎng)絡(luò)服務(wù)和報警,而在繪制圖形方面遜色于 Cacti,通過兩者的結(jié)合可以更有效的管理網(wǎng)絡(luò)。Cacti 和 Nagios 的整合是通過NDOUtils 插件來中轉(zhuǎn)數(shù)據(jù)的,NDOUtils 負(fù)責(zé)將Nagios 所采集的數(shù)據(jù)存放在 MySQL 數(shù)據(jù)庫中,而 Cacti 的 NPC 插件負(fù)責(zé)從 MySQL 數(shù)據(jù)庫中讀取此數(shù)據(jù),并顯示 Nagios 的監(jiān)控信息。
6系統(tǒng)體系結(jié)構(gòu)設(shè)計
本系統(tǒng)是采用 B/S 模式,系統(tǒng)由要由 Cacti 模塊、Nagios 模塊、整合模塊組成;其中 Cacti 模塊負(fù)責(zé)網(wǎng)絡(luò)設(shè)備如交換機(jī)/路由器的運(yùn)行狀態(tài)和流量監(jiān)測、網(wǎng)絡(luò)氣象圖、網(wǎng)絡(luò)設(shè)備的溫度檢測等;Nagios 負(fù)責(zé)對服務(wù)、協(xié)議的運(yùn)行狀態(tài)進(jìn)行檢測和異常報警等;整合模塊是通過安裝 NPC 和 ndoutils 插件將Nagios 的數(shù)據(jù)導(dǎo)入 Cacti 數(shù)據(jù)庫中,并由Cacti 以圖形的方式顯示給用戶。
參考文獻(xiàn)
[1] 馬安龍,趙勁松.基于 MRTG、RRDTOOL 的校園網(wǎng)絡(luò)流量監(jiān)測系統(tǒng)[J].連云港職業(yè)技術(shù)學(xué)院學(xué)報,2007.
[2] 何鵬.基于SNMP的校園網(wǎng)管理系統(tǒng)的設(shè)計與實(shí)現(xiàn)[J].微型機(jī)與應(yīng)用,2010.
[3] 王平泉.基于Cacti的園區(qū)網(wǎng)監(jiān)測系統(tǒng)的應(yīng)用研究與實(shí)現(xiàn)[D].蒙古工業(yè)大學(xué),2009.