侯冬青,李 東
(滇西科技師范學(xué)院,云南 臨滄 677000)
?
基于開源軟件Cacti的局域網(wǎng)監(jiān)控方案研究
侯冬青,李東
(滇西科技師范學(xué)院,云南 臨滄 677000)
摘要:以滇西科技師范學(xué)院作為研究對象,提出了以開源軟件Cacti為平臺,使用簡單網(wǎng)絡(luò)管理協(xié)議(SNMP)進(jìn)行網(wǎng)絡(luò)狀態(tài)數(shù)據(jù)采集的網(wǎng)絡(luò)監(jiān)控方案。在介紹Cacti系統(tǒng)及網(wǎng)絡(luò)監(jiān)控的原理基礎(chǔ)上,對Cacti系統(tǒng)在校園網(wǎng)中的實現(xiàn)過程進(jìn)行闡述,并給出實際檢測結(jié)果。
關(guān)鍵詞:校園網(wǎng);網(wǎng)絡(luò)監(jiān)控;Cacti;SNMP
DOI:10.13757/j.cnki.cn34-1150/n.2016.02.019
滇西科技師范學(xué)院校園網(wǎng)經(jīng)過工作人員多年不懈地努力已初具規(guī)模,能較好地滿足學(xué)院教學(xué)、管理、科研等工作需求。網(wǎng)絡(luò)拓?fù)洳捎梅謱拥脑O(shè)計思想,劃分為核心層、匯聚層、接入層3層星型結(jié)構(gòu);租用電信、聯(lián)通等多家ISP的鏈路作為校園網(wǎng)出口,既提高了校園網(wǎng)出口的穩(wěn)定性,又加快了Internet的訪問速度;網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)、策略路由、智能域名系統(tǒng)(DNS)和虛擬局域網(wǎng)(VLAN)等多種技術(shù)的應(yīng)用使校園網(wǎng)整體結(jié)構(gòu)更加合理,提升了可靠性及運行效率。但是,隨著校園網(wǎng)規(guī)模的不斷擴(kuò)大,網(wǎng)絡(luò)環(huán)境日趨復(fù)雜,故障頻發(fā),維護(hù)成本增加,對網(wǎng)絡(luò)進(jìn)行實時監(jiān)控顯得愈發(fā)重要。
1監(jiān)控方案工作原理
局域網(wǎng)監(jiān)控需要對網(wǎng)絡(luò)中各項參數(shù)進(jìn)行實時采集和分析,進(jìn)而推測出當(dāng)前網(wǎng)絡(luò)的運行狀態(tài)。根據(jù)數(shù)據(jù)采集的方式可分為主動采集和被動采集。主動采集是通過向網(wǎng)絡(luò)中發(fā)送探測數(shù)據(jù)包,根據(jù)探測數(shù)據(jù)包返回的結(jié)果來主動測量網(wǎng)絡(luò)的實際運行狀態(tài)??刂茍笪膮f(xié)議(ICMP)下的ping和traceroute等命令就屬于主動采集方式,這些命令通過向網(wǎng)絡(luò)的特定目標(biāo)發(fā)送ICMP信息,并根據(jù)往返的數(shù)據(jù)信息測量出RTT、丟包率和拓?fù)涞染W(wǎng)絡(luò)狀態(tài)。被動采集是將探測網(wǎng)絡(luò)狀態(tài)的探針植入到相關(guān)的網(wǎng)絡(luò)設(shè)備及鏈路中,通過這些探針捕捉用戶數(shù)據(jù)協(xié)議/傳輸控制協(xié)議(UDP/TCP)分組信息進(jìn)行分析,從而獲得連接帶寬、丟包率及拓?fù)涞染W(wǎng)絡(luò)狀態(tài)[1]。通過以上分析并結(jié)合實際情況,本文監(jiān)控方案以簡單網(wǎng)絡(luò)管理協(xié)議(SNMP)作為采集協(xié)議,采用Cacti系統(tǒng)作為網(wǎng)絡(luò)監(jiān)控方案的主體,實現(xiàn)對校園網(wǎng)狀態(tài)的實時監(jiān)控。
1.1SNMP
SNMP是互聯(lián)網(wǎng)工程小組(IETF,InternetEngineeringTaskForce)定義的TCP/IP協(xié)議簇的重要組成部分,用于IP網(wǎng)絡(luò)中管理網(wǎng)絡(luò)節(jié)點及服務(wù),是一款靈活高效的管理協(xié)議,已被絕大多數(shù)廠商接受,用于分析網(wǎng)絡(luò)差錯、監(jiān)視網(wǎng)絡(luò)性能和配置網(wǎng)絡(luò)設(shè)備等。SNMP已經(jīng)成為網(wǎng)絡(luò)管理的重要技術(shù)標(biāo)準(zhǔn),在網(wǎng)絡(luò)正常工作時,可用于測試、統(tǒng)計和配置等;當(dāng)網(wǎng)絡(luò)出現(xiàn)故障時,可用于故障檢測及快速回復(fù);同時還能對網(wǎng)絡(luò)的增長做出合理規(guī)劃。
SNMP協(xié)議采用服務(wù)器/客戶端管理模式,由被管理節(jié)點、SNMP代理和管理工作站(NMS)3個部分組成[2],管理結(jié)構(gòu)如圖1所示。
圖1SNMP管理示意圖
(1)被管理節(jié)點,又稱為網(wǎng)絡(luò)單元,是支持SNMP協(xié)議的網(wǎng)絡(luò)設(shè)備及服務(wù)。每一個被管理的節(jié)點都存在一個管理信息庫(MIB),用于保存被管理節(jié)點的狀態(tài)及控制信息等數(shù)據(jù)變量。
(2)SNMP代理是運行在被管理節(jié)點上的網(wǎng)絡(luò)管理模塊,將被管理節(jié)點上的相關(guān)信息轉(zhuǎn)換成與SNMP兼容的格式,并傳遞給管理工作站(NMS)。
(3)NMS運行著一套監(jiān)控和管理程序,是網(wǎng)絡(luò)管理員監(jiān)控及管理網(wǎng)絡(luò)的接口。至少包含數(shù)據(jù)分析、存儲、故障發(fā)現(xiàn)等基本功能,能將管理命令轉(zhuǎn)換成對遠(yuǎn)程網(wǎng)絡(luò)元素的監(jiān)視和控制操作,能從被管節(jié)點的MIB中提取信息。
1.2Cacti
在開源領(lǐng)域,使用方便、系統(tǒng)資源耗費小[3]的流量監(jiān)控軟件是MRTG(MultiRouterTrafficGrapher),它通過SNMP協(xié)議從設(shè)備獲得流量信息,并將這些負(fù)載信息以動態(tài)JPEG圖形的格式在HTML文檔中顯示給用戶。然而,MRTG存在只能對設(shè)備接口進(jìn)行流量監(jiān)控、數(shù)據(jù)不能重復(fù)利用以及無管理功能等缺點。1999年TobiasOetiker開發(fā)了開源軟件RRDTool(RoundRobinDatabaseTool)來替代MRTG,RRDTool可以存儲并定義任意時段的數(shù)據(jù),擁有十分強(qiáng)大的繪圖功能。不過由于RRDTool的命令復(fù)雜繁多,缺少數(shù)據(jù)采集功能,要實現(xiàn)數(shù)據(jù)的采集和管理,需要通過Cacti輔助RRDTool才能實現(xiàn)。
Cacti是一套采用PHP語言開發(fā)的B/S系統(tǒng),使用SNMP協(xié)議采集數(shù)據(jù),通過開源軟件RRDTool實現(xiàn)圖像的繪制及存儲,并將所有RRDTool創(chuàng)建圖像需要用到的信息存儲在MYSQL數(shù)據(jù)庫中,樹狀結(jié)構(gòu)的查看界面簡潔直觀[4]。
2監(jiān)控方案分析
2.1Cacti架構(gòu)
Cacti由數(shù)據(jù)表現(xiàn)層、數(shù)據(jù)存儲層和數(shù)據(jù)采集層3層構(gòu)成[5],它是基于Apache、PHP、RRDTool、MYSQL和SNMP等多種網(wǎng)絡(luò)工具開發(fā)的網(wǎng)絡(luò)監(jiān)控軟件。
(1)數(shù)據(jù)表現(xiàn)層
Cacti的用戶界面通過PHP語言開發(fā),并采用Apache平臺發(fā)布,用戶可以在任何操作系統(tǒng)上以Web方式登錄Cacti平臺。登錄成功后可以進(jìn)行添加監(jiān)測站點、創(chuàng)建模板、生成氣象圖及報警設(shè)置等相關(guān)操作,并對創(chuàng)建好的設(shè)備進(jìn)行實時監(jiān)控及管理。
(2)數(shù)據(jù)存儲層
數(shù)據(jù)存儲層由RRDTool和MYSQL兩部分組成。RRDTool是Cacti網(wǎng)絡(luò)監(jiān)控平臺的繪圖核心,它將采集到的網(wǎng)絡(luò)狀態(tài)信息進(jìn)行加工處理,并將處理好的信息存儲到RRD文件中,圖像繪制時再從RRD文件中提取數(shù)據(jù)進(jìn)行繪制;MYSQL數(shù)據(jù)庫用于存儲RRDTool繪制圖像所需的繪圖模板存儲位置、主機(jī)對應(yīng)RRD文件、插件屬性等相關(guān)信息。
(3)數(shù)據(jù)采集層
Cacti除了通過NET-SNMP對支持SNMP協(xié)議的所有設(shè)備和服務(wù)進(jìn)行數(shù)據(jù)采集外,也可以通過腳本或系統(tǒng)自帶的命令進(jìn)行數(shù)據(jù)采集。
2.2Cacti工作流程
Cacti通過6個步驟完成對網(wǎng)絡(luò)節(jié)點的監(jiān)控和管理,如圖2所示。
(1)Cacti通過SNMP協(xié)議定時對所管理的網(wǎng)絡(luò)節(jié)點進(jìn)行網(wǎng)絡(luò)狀態(tài)信息采集。
圖2監(jiān)控方案工作流程圖
(2)RRDTool對采集到的網(wǎng)絡(luò)狀態(tài)信息進(jìn)行加工處理,將處理好的信息存儲到RRD文件中,對所有被管理節(jié)點對應(yīng)的RRD文件進(jìn)行更新。
(3)用戶登錄Cacti平臺查看被管理節(jié)點的網(wǎng)絡(luò)狀態(tài)信息。
(4)Cacti從MYSQL數(shù)據(jù)庫中讀取對應(yīng)節(jié)點的RRD文件信息,并將這些信息返回給RRDTool。
(5)RRDTool根據(jù)獲得的RRD文件信息繪制出對應(yīng)節(jié)點的網(wǎng)絡(luò)狀態(tài)圖。
(6)Cacti將RRDTool繪制的網(wǎng)絡(luò)狀態(tài)圖返回給用戶。
3監(jiān)控方案實現(xiàn)過程
Cacti支持Unix、Linux及Windows等操作系統(tǒng)平臺,為了使監(jiān)控方案更加安全可靠、便于升級和使用,本方案選擇CentOS系統(tǒng)作為監(jiān)控方案的支撐平臺。
3.1安裝依賴軟件包
Cacti系統(tǒng)使用PHP語言開發(fā)、WEB方式實現(xiàn)管理、SNMP協(xié)議捕獲數(shù)據(jù)、RRDTool生成圖表、MYSQL來存儲變量。因此,為了保證Cacti系統(tǒng)正常運行,在安裝Cacti系統(tǒng)前需要先安裝相關(guān)依賴軟件包。需安裝的主要軟件包如表1所示。
表1 軟件包列表
在CentOS系統(tǒng)上可通過基于RPM包管理的YUM命令直接安裝,YUM命令能夠從指定的服務(wù)器自動下載絕大多數(shù)RPM包進(jìn)行安裝,并且能自動處理依賴性關(guān)系,一次安裝所有依賴軟體包。然而,由于CentOS標(biāo)準(zhǔn)組件中不帶RRDTool及依賴軟件包的安裝源,需要在“/etc/yum.repos.d/CentOS-Base.repo”文件中添加一個[DAG]安裝源,用于安裝RRDTool及依賴軟件包。需要添加的代碼如下
由此可見,在國家相關(guān)政策的支持下,武術(shù)國際推廣已經(jīng)成為實現(xiàn)中華民族文化自信的重要內(nèi)容,與此同時,武術(shù)“走出去”的戰(zhàn)略實施也為武術(shù)對外教材“走出去”創(chuàng)造了空前的機(jī)遇。
[dag]
name=DagRPMRepositoryforRedHatEnterpriseLinux
gpgcheck=1
gpgkey=http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt
enabled=1
3.2安裝配置Cacti
(1)下載Cacti
下載中文版Cacti軟件包“cacti-0.8.7e-cn-utf8.tar.gz”,將該軟件包解壓后拷貝到“/var/www/html/cacti”目錄中。創(chuàng)建Cacti系統(tǒng)專屬用戶,用于更新RRD目錄和log目錄的數(shù)據(jù)。
(2)數(shù)據(jù)庫配置
通過root賬號登錄MYSQL,為Cacit系統(tǒng)創(chuàng)建數(shù)據(jù)庫、授權(quán)數(shù)據(jù)庫用戶、導(dǎo)入數(shù)據(jù)庫結(jié)構(gòu)。
mysql>createdatabasecactidefaultcharactersetutf8; //創(chuàng)建cacti數(shù)據(jù)庫,并將數(shù)據(jù)庫字符集設(shè)置utf8。
mysql>grantallprivilegesoncacti.*tocacti@localhostidentifiedby"123456"withgrantoption; //添加cacti數(shù)據(jù)庫用戶,并設(shè)置連接密碼。
mysql>flushprivileges;
mysql>usecacti;
mysql>source/var/www/html/cacti/cacti.sql;//導(dǎo)入數(shù)據(jù)庫結(jié)構(gòu)。
修改Cacti系統(tǒng)配置文件“/var/www/html/cacti/include/config.php”,用于連接數(shù)據(jù)庫。修改內(nèi)容如下
(3)初始化數(shù)據(jù)
通過瀏覽器訪問“http://服務(wù)器IP地址/cacti”,進(jìn)入登錄頁面。首次登錄用戶名和密碼均為“admin”,需立即修改密碼,并正確設(shè)置環(huán)境變量及路徑。至此,Cacti安裝完成,可以通過添加設(shè)備進(jìn)行監(jiān)控。
(4)插件安裝
Cacti系統(tǒng)的基本框架僅能對流量進(jìn)行統(tǒng)計,并以圖形化界面展示。通過對插件結(jié)構(gòu)的擴(kuò)展升級,可以下載安裝多種插件,實現(xiàn)狀態(tài)監(jiān)控、氣象圖、發(fā)送郵件通知、短信通知等強(qiáng)大功能。以下將對氣象圖插件的安裝進(jìn)行介紹。
* 下載氣象圖插件軟件包“php-weathermap-0.96a.zip”,將該軟件包解壓后拷貝到“/var/www/html/cacti/plugins”目錄中。
* 安裝完成后重新登錄Cacti系統(tǒng),在Cacti管理界面中出現(xiàn)“weathermap”選項卡,通過該選項卡可以繪制網(wǎng)絡(luò)氣象圖。
4測試驗證
Cacti系統(tǒng)安裝完成后,將配置好SNMP協(xié)議的網(wǎng)絡(luò)設(shè)備添加到Cacti系統(tǒng)中成為檢測站點。管理人員可以對監(jiān)控站點進(jìn)行實時監(jiān)控,能隨時隨地觀察任意時段的網(wǎng)絡(luò)流量及帶寬情況。對網(wǎng)絡(luò)突發(fā)的異常情況能夠及時發(fā)現(xiàn)、處理,極大地提高了工作效率。
滇西科技師范學(xué)院校園網(wǎng)總流量如圖3、圖4所示。
圖3周流量狀態(tài)圖
Cacti系統(tǒng)的氣象圖插件能夠繪制出網(wǎng)絡(luò)流量結(jié)構(gòu)圖,直觀地反映出鏈路的即時流量和帶寬占用情況,也反映出重要設(shè)備的運行狀態(tài)。滇西科技師范學(xué)院校園網(wǎng)基本流量拓?fù)淙鐖D5所示。
圖5網(wǎng)絡(luò)氣象圖
5結(jié)語
網(wǎng)絡(luò)流量監(jiān)控作為校園網(wǎng)管理的重要環(huán)節(jié),已成為管理員的“第三只眼”。通過對重要設(shè)備和鏈路的監(jiān)控,可直觀反映各節(jié)點網(wǎng)絡(luò)流量和帶寬使用情況,及時通報網(wǎng)絡(luò)中出現(xiàn)的異常狀況。管理員可以根據(jù)監(jiān)控系統(tǒng)提供的相關(guān)信息對網(wǎng)絡(luò)的帶寬進(jìn)行合理規(guī)劃,提高網(wǎng)絡(luò)使用效率。開源軟件Cacti作為網(wǎng)絡(luò)流量監(jiān)控的典型代表,通過實際測試,完全滿足絕大部分局域網(wǎng)的實際需要。
參考文獻(xiàn):
[1] 張宏莉,方濱興,胡銘曾,等.Internet測量與分析綜述[J].軟件學(xué)報,2003(1):110-116.
[2] 竇玉杰.網(wǎng)絡(luò)管理大全[M].成都:電子工業(yè)出版社,2006.
[3] 唐勇.基于開源軟件的流量監(jiān)控系統(tǒng)研究及實現(xiàn)[J].重慶工商大學(xué)學(xué)報,2009(3):282-285.
[4] 王平泉.基于Cacti的園區(qū)網(wǎng)監(jiān)測系統(tǒng)的應(yīng)用研究與實現(xiàn)[D].內(nèi)蒙古:內(nèi)蒙古工業(yè)大學(xué),2009.
[5] 董凱.基于Cacti的網(wǎng)絡(luò)運行監(jiān)測系統(tǒng)的設(shè)計與實現(xiàn)[D].山東:山東大學(xué),2013.
ResearchonLANMonitoringSchemeBasedonOpenSourceSoftwareCacti
HOUDong-qing,LIDong
(DianxiScienceandTechnologyNormalUniversity,Lincang,Yunnan677000,China)
Abstract:TakingDianxiScienceandTechnologyNormalUniversityasaresearchobject,thispaperproposesanetworkmonitoringschemeofusingSNMPprotocoltocollectnetworkstatedatabyCactiopensourcesoftwareasaplatform.ThepaperintroducesCactisystemandtheprincipleofnetworkmonitoring,anddescribestheimplementationprocessofCactisystemincampusnetwork.Finally,therelevanttestresultsaregivenbyactualtesting.
Keywords:Networkmonitoring;campusNetwork;Cacti;SNMP
* 收稿日期:2015-09-14
基金項目:臨滄師范高等專科學(xué)校自然基金項目(LCSZL2014005)。
作者簡介:侯冬青,男,云南江川人,碩士,滇西科技師范學(xué)院講師,研究方向為網(wǎng)絡(luò)技術(shù)及其教育等。 E-mail:dq_hou@hotmail.com
中圖分類號:TP393.1
文獻(xiàn)標(biāo)識碼:A
文章編號:1007-4260(2016)02-0081-05
網(wǎng)絡(luò)出版時間:2016-06-08 12:57網(wǎng)絡(luò)出版地址:http://www.cnki.net/kcms/detail/34.1150.N.20160608.1257.019.html