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