摘 要:Linux是免費(fèi)、穩(wěn)定、安全、高性能和高擴(kuò)展性等優(yōu)點(diǎn)的開放性操作系統(tǒng)。Cacti是基于PHP程序語言,MySQL數(shù)據(jù)庫,SNMP協(xié)議及RRDTool的網(wǎng)絡(luò)流量監(jiān)測(cè)工具。文章主要介紹基于Linux系統(tǒng)下實(shí)現(xiàn)開源Cacti軟件監(jiān)控校園網(wǎng)絡(luò)及軟硬件系統(tǒng)設(shè)備,從而實(shí)現(xiàn)低成本,構(gòu)建高效率的運(yùn)維監(jiān)控管理平臺(tái)。最后構(gòu)建穩(wěn)定的系統(tǒng)運(yùn)行環(huán)境,確保數(shù)字化校園系統(tǒng)高效運(yùn)行。
關(guān)鍵詞:監(jiān)控;開源;運(yùn)維;網(wǎng)絡(luò)
有效的對(duì)整個(gè)校園網(wǎng)絡(luò)、軟硬件設(shè)備系統(tǒng)監(jiān)控管理是確保數(shù)字化校園正常運(yùn)行的前提條件。只有當(dāng)運(yùn)維管理人員及時(shí)掌握網(wǎng)絡(luò)及軟硬件設(shè)備的運(yùn)行狀態(tài),才有可能對(duì)已經(jīng)出現(xiàn)或者可能出現(xiàn)的故障進(jìn)行及時(shí)收集數(shù)據(jù)、分析、處理和有效預(yù)防。由自建的網(wǎng)絡(luò)運(yùn)維監(jiān)控管理平臺(tái)為學(xué)校網(wǎng)絡(luò)和軟硬件系統(tǒng)運(yùn)行良好提供了可靠的保障,為網(wǎng)絡(luò)和系統(tǒng)優(yōu)化提供了有效的參考數(shù)據(jù),從而保障整個(gè)數(shù)字化校園平臺(tái)運(yùn)行良好。
1 Cacti應(yīng)用研究概述
在基于Linux操作系統(tǒng)上,采用Cacti開源軟件構(gòu)建了校園網(wǎng)絡(luò)流量監(jiān)控服務(wù),基于普通PC機(jī)上搭建網(wǎng)絡(luò)運(yùn)維監(jiān)控服務(wù)器。結(jié)合學(xué)校運(yùn)維實(shí)際需求,文章對(duì)Cacti開源軟件進(jìn)行了應(yīng)用研究。
1.1 Cacti簡介
Cacti用PHP語言編寫,用SNMP協(xié)議獲取數(shù)據(jù),用rrdtool儲(chǔ)存和更新數(shù)據(jù),并生成圖表展現(xiàn)給運(yùn)維人員。Mysql數(shù)據(jù)庫用于變量數(shù)據(jù)存儲(chǔ)和調(diào)用,如主機(jī)名、主機(jī)IP、SNMP團(tuán)體名、端口號(hào)、模板信息等變量。Cacti提供了非常大的數(shù)據(jù)和用戶管理功能,用戶可以自己增加要監(jiān)控的設(shè)備的模板,功能非常完善[1]。Cacti具備以下特點(diǎn):(1)開放性,完全免費(fèi)使用并可獲得源代碼。(2)跨平臺(tái),支持Linux、Windows、Unix系統(tǒng)。(3)界面友好,圖形界面豐富,模板種類很豐富。(4)可擴(kuò)展,豐富的插件資源,大大提高了cacti的功能。
1.2 研究背景
學(xué)校沒有采購昂貴企業(yè)級(jí)監(jiān)控商業(yè)產(chǎn)品,平時(shí)也無法做到7?鄢24小時(shí)全面監(jiān)控。平時(shí)運(yùn)行的網(wǎng)絡(luò)設(shè)備、服務(wù)器設(shè)備、操作系統(tǒng)和應(yīng)用信息系統(tǒng)出現(xiàn)異常或故障,運(yùn)維人員無法在第一時(shí)間發(fā)現(xiàn),這給工作帶來了很大的被動(dòng),甚至影響到學(xué)院正常辦公。由于這種環(huán)境背景下,現(xiàn)代教育技術(shù)中心決定從眾多開源監(jiān)控軟件中,選擇Cacti軟件基于Linux平臺(tái)實(shí)現(xiàn)網(wǎng)絡(luò)監(jiān)控應(yīng)用研究。
1.3 研究目標(biāo)
通過cacti應(yīng)用研究后,解決了工作中常遇到的一些困惑。結(jié)合本校數(shù)字信息化校園運(yùn)維管理的需要,本研究目標(biāo)如下:
(1)將學(xué)校所有支持標(biāo)準(zhǔn)SNMP協(xié)議的軟硬件設(shè)備系統(tǒng)納入監(jiān)控范圍。對(duì)Cacti所監(jiān)控的對(duì)象包括:Linux及Windows服務(wù)器、CPU、內(nèi)存、磁盤、進(jìn)程、連接數(shù)、Web服務(wù)器、數(shù)據(jù)庫、中間件、網(wǎng)絡(luò)設(shè)備、網(wǎng)絡(luò)接口流量、網(wǎng)絡(luò)設(shè)備性能等軟硬件設(shè)備系統(tǒng)。將運(yùn)行情況收集以Web界面圖形化展示給運(yùn)維管理人員,并以郵件和短信的方式將警告信息發(fā)送給運(yùn)維管理人員。
(2)Cacti實(shí)現(xiàn)基本功能的基礎(chǔ)上,整合相關(guān)常用插件,實(shí)現(xiàn)多類設(shè)備狀態(tài)監(jiān)控,通過使用大量插件和模板來擴(kuò)展功能,這也是研究的重點(diǎn)。
(3)以普通PC機(jī)搭建Linux為平臺(tái)來實(shí)現(xiàn)Cacti開源軟件的應(yīng)用,通過自主探索研究應(yīng)用來提高學(xué)校整體IT系統(tǒng)的運(yùn)維能力。
2 Cacti監(jiān)控架構(gòu)與功能實(shí)現(xiàn)
Cacti既不像企業(yè)級(jí)產(chǎn)品架構(gòu)那樣復(fù)雜龐大、交互體驗(yàn)不好,也不像一些開源項(xiàng)目那樣,雖然設(shè)計(jì)簡單,但是具備高級(jí)功能,達(dá)到用戶的需求擴(kuò)展。
2.1 Cacti開源監(jiān)控架構(gòu)
Cacti需要通過SNMP協(xié)議與被監(jiān)控設(shè)備建立通道連接,部署簡單,只要網(wǎng)絡(luò)通暢,以及SNMP信息匹配一致。實(shí)現(xiàn)監(jiān)控條件如下:(1)Cacti監(jiān)控服務(wù)器與被監(jiān)控設(shè)備之間的網(wǎng)絡(luò)保持暢通。(2)被監(jiān)控硬件設(shè)備要安裝并啟用SNMP服務(wù)。(3)Cacti服務(wù)器與被監(jiān)控設(shè)備配置的SNMP相關(guān)信息必須一致。
監(jiān)控系統(tǒng)架構(gòu)如圖1所示。
2.2 Cacti功能實(shí)現(xiàn)
學(xué)校的Cacti監(jiān)控服務(wù)器部署在普通PC機(jī)上,該研究使用CentOS6.7操作系統(tǒng)[2]。
2.2.1 監(jiān)控系統(tǒng)基本功能實(shí)現(xiàn)
該研究中安裝Cacti Version 0.8.8a,包括settings、thold、mointor、clog、realtime,syslog,cycle,ntop等插件內(nèi)。當(dāng)監(jiān)控設(shè)備數(shù)量較多,則建議選擇服務(wù)器。
(1)硬件配置需求
由于cacti日志信息以及snmp采集的數(shù)據(jù)是逐步增長,因此,硬盤最好預(yù)留足夠空間。
RRDTOOL繪圖、MYSQL讀取數(shù)據(jù)、頁面刷新等操作,需要消耗大量內(nèi)存,建議配置8G以上的內(nèi)存。
(2)Web監(jiān)控系統(tǒng)后臺(tái)
初始安裝后,登錄Cacti監(jiān)控平臺(tái),只有console控制臺(tái)和Graph流量圖兩項(xiàng):
Console負(fù)責(zé)控制臺(tái)頁面,Cacti幾乎所有配置都在該控制臺(tái)頁面可以完成。
Graph流量圖界面,可查看成功設(shè)置所有設(shè)備流量信息[3]。
2.2.2 監(jiān)控?cái)U(kuò)展功能實(shí)現(xiàn)
初始安裝Cacti只有上述兩個(gè)選項(xiàng),功能不夠豐富。Cacti監(jiān)控功能強(qiáng)大主要體現(xiàn)在許多的插件上,這些插件可實(shí)現(xiàn)多種多樣的功能,而且作為開源軟件,還可以根據(jù)其各種接口編寫自己需要的功能插件,從而完善Cacti更多的功能,提高運(yùn)維效率。在研究應(yīng)用中,整合了以下幾個(gè)插件[4]:
(1)Settings插件。提供web方式的Cacti系統(tǒng)配置界面,給不同的插件提供一些共享信息,如郵件信息,DNS信息。
(2)Monitor。展示各個(gè)軟硬件設(shè)備的當(dāng)前狀態(tài),設(shè)備宕機(jī)時(shí)能發(fā)出聲音報(bào)警。監(jiān)控如圖2所示。
(3)Realtime插件。顯示鏈路即時(shí)流量,刷新頻率可達(dá)5秒鐘。
(4)Thold。報(bào)警系統(tǒng),當(dāng)設(shè)備宕機(jī)或超出預(yù)設(shè)的閥值時(shí),會(huì)及時(shí)以郵件和短信報(bào)警。
(5)Clog。日志服務(wù),收集被監(jiān)控設(shè)備日志。
(6)Ntop。網(wǎng)絡(luò)監(jiān)控工具,監(jiān)控網(wǎng)絡(luò)流量。
Cacti定時(shí)采集數(shù)據(jù),需要在操作系統(tǒng)上配置好定時(shí)任務(wù)。
2.2.3 多類型應(yīng)用模板導(dǎo)入
為支持監(jiān)控多類型軟硬件系統(tǒng)設(shè)備的應(yīng)用,通過導(dǎo)入模板實(shí)現(xiàn)了對(duì)包括Linux、Windows、Apache、SQL Server、nginx、H3C等軟硬件設(shè)備監(jiān)控[5]。
3 Cacti開源軟件在行業(yè)中的應(yīng)用
作為免費(fèi)開源系統(tǒng),Cacti確實(shí)簡化了運(yùn)維人員的工作,提升了工作效率。不但開源免費(fèi)、硬件配置要求不高,而且也易于學(xué)習(xí)應(yīng)用。特別適合院校、中小型企業(yè)和政府機(jī)關(guān)等潛在用戶使用。
4 結(jié)束語
該研究Cacti監(jiān)控系統(tǒng),通過實(shí)際測(cè)試和使用,達(dá)到了低成本,高效率和預(yù)警系統(tǒng)的目標(biāo)。在此研究應(yīng)用基礎(chǔ)上,下一步還要對(duì)更多的插件和模板予以應(yīng)用,構(gòu)建一個(gè)功能更強(qiáng)大的網(wǎng)絡(luò)監(jiān)控運(yùn)維平臺(tái)。
參考文獻(xiàn)
[1]百度百科.Cacti.[EB/OL].[2015-11-1].http://baike.baidu.com.
[2]WuHaiming,51cto.[EB/OL].[2016-1-8].http://sky9896.blog.51cto.com.
[3]李莉,羅漢杰.基于Linux的網(wǎng)絡(luò)監(jiān)控工具Cacti研究和實(shí)現(xiàn).[EB/OL].[2015-12-26].http://www.doc88.com/p-1595306546647.html.
[4]Cacti plugin.[DB/OL].[2015-10-1].http://docs.cacti.net/plugin.
[5]Cacti telemplates.[DB/OL].[2015-12-6].http://docs.cacti.net/template
s.
[6]Linuxidc.[EB/OL].[2016-1-10].http://www.linuxidc.com/Linux/2013-11/92388.htm.