王光武,孫 謙,賀寶華
(1.大連海洋大學(xué) 信息化工作辦公室,遼寧 大連 116023;2.大連海洋大學(xué) 組織人事部,遼寧 大連 116023)
隨著學(xué)校教育信息化的逐步深化、智慧校園建設(shè)的不斷完善,校園網(wǎng)絡(luò)節(jié)點(diǎn)正逐漸增多,各類校園應(yīng)用陸續(xù)上線,學(xué)校數(shù)據(jù)中心服務(wù)主機(jī)、虛擬主機(jī)等數(shù)量也是水漲船高,校園網(wǎng)絡(luò)變得龐大,環(huán)境也更加復(fù)雜。對(duì)于運(yùn)維人員來(lái)說(shuō),如何借助有效工具,對(duì)各個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)、主機(jī)的運(yùn)行狀態(tài)進(jìn)行有效的監(jiān)控與記錄,并在出現(xiàn)異常時(shí)及時(shí)發(fā)現(xiàn)處理,成為運(yùn)維工作必不可少的環(huán)節(jié)。同時(shí)一個(gè)完整全面的監(jiān)控日志,還可為運(yùn)維工作提供數(shù)據(jù)支撐,根據(jù)日志挖掘出網(wǎng)絡(luò)節(jié)點(diǎn)、主機(jī)的運(yùn)行規(guī)律及隱患,以此不斷提高網(wǎng)絡(luò)運(yùn)維水平及問(wèn)題處理效率。
Cacti 是一 套基于PHP、MySQL、SNMP 及RRDTool開發(fā)的網(wǎng)絡(luò)流量監(jiān)測(cè)工具,其主要功能是通過(guò)SNMP 協(xié)議獲取數(shù)據(jù),并利用RRDTool 工具儲(chǔ)存和更新數(shù)據(jù),進(jìn)而生成圖表呈現(xiàn)給用戶,方便用戶查看數(shù)據(jù)。
Cacti 部署靈活,可以部署在校園網(wǎng)絡(luò)中的任何位置,只要保持Cacti 服務(wù)器與被監(jiān)控主機(jī)網(wǎng)絡(luò)可達(dá)即可。雖然部署靈活,但要形成完整的Cacti 監(jiān)控平臺(tái),除安裝Cacti 自身軟件外,還需安裝Mysql、Apache、Net-snmp、RRDTool 等一系列支撐軟件,并加載相應(yīng)的數(shù)據(jù)監(jiān)控模板,配置相對(duì)麻煩煩瑣。在此情況下,為減少部署的工作量,輕松完成完整可用的Cacti 平臺(tái)的搭建,就離不開高度集成的Cacti EZ 幫助。
Cacti EZ 是最簡(jiǎn)單有效的Cacti 解決方案,它是基于Centos,并整合Cacti、Mysql、Apache 等相關(guān)軟件,重新編譯而成的一個(gè)整體的操作系統(tǒng)。[1]Cacti EZ 部署便捷,對(duì)運(yùn)行環(huán)境要求不高,甚至可以使用普通PC 電腦作為服務(wù)器。同時(shí)無(wú)需安裝Linux 操作系統(tǒng)、數(shù)據(jù)庫(kù)等,省去了復(fù)雜煩瑣的Cacti 配置過(guò)程,安裝后即可使用。
在使用方面,Cacti EZ 集成了Thold、Monitor、Syslog、Weathermap、Realtime、Errorimage、Mobile、Aggregate 等插件,以及Apache、Squid、F5、Nginx、MySQL 等主機(jī)監(jiān)控模版,可以直接加載使用,從而實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)中的交換機(jī)、服務(wù)主機(jī)等設(shè)備的監(jiān)測(cè)。
筆者學(xué)校安裝部署采用的是Cacti EZ 10.1 版本,僅需準(zhǔn)備一臺(tái)存儲(chǔ)空間大于10G 的主機(jī)即可。我們將Cacti EZ 10.1 鏡像刻錄成光盤,主機(jī)通過(guò)光盤啟動(dòng)引導(dǎo)自動(dòng)進(jìn)入Cacti EZ 的安裝頁(yè)面,無(wú)需過(guò)多操作,系統(tǒng)將自動(dòng)安裝完成。安裝完成后,便可進(jìn)入軟件平臺(tái)的初始化配置頁(yè)面,整個(gè)安裝過(guò)程僅僅耗時(shí)15 分鐘左右。在上述操作完成后,僅需配置主機(jī)的網(wǎng)絡(luò)地址便可登錄平臺(tái)。
(1)監(jiān)控模版
Cacti EZ 通常提供了一定設(shè)備的監(jiān)控模版供直接使用,包括Linux 主機(jī)、Windows 主機(jī),以及Apache、Mysql 等服務(wù)模版。但是對(duì)于網(wǎng)絡(luò)設(shè)備來(lái)說(shuō),由于市面上交換機(jī)和路由器的型號(hào)眾多,而不同型號(hào)需要不同模版,不能像Windows 和Linux 主機(jī)一樣進(jìn)行統(tǒng)一配置使用。而系統(tǒng)默認(rèn)提供的模版通常是為國(guó)外設(shè)備廠商(多數(shù)為Cisco)而定制的,對(duì)于國(guó)內(nèi)廠商如華為、銳捷的設(shè)備,基本沒(méi)有直接對(duì)應(yīng)的模版可供使用。所以當(dāng)我們需要監(jiān)控上述廠商的交換機(jī)和路由器時(shí),需要自行收集或者在Cacti 官網(wǎng)的模版庫(kù)中進(jìn)行查找。Cacti 官網(wǎng)不僅提供了許多官方模版,而且很多愛好者也提供了大量的自定義模版,我們可以直接下載,解壓縮,然后導(dǎo)入模版,直接使用,基本能夠滿足我們的監(jiān)控需求。當(dāng)然我們還可以通過(guò)查閱設(shè)備文檔、咨詢售后服務(wù)等,以此獲取設(shè)備常見指標(biāo)的OID 值,并通過(guò)OID 值,制定特定型號(hào)交換機(jī)的監(jiān)控模版。
(2)被監(jiān)控設(shè)備配置
被監(jiān)控設(shè)備無(wú)論是網(wǎng)絡(luò)設(shè)備,還是服務(wù)主機(jī)均需要安裝SNMP 協(xié)議并正確配置,才能順利加入到Cacti EZ 監(jiān)控平臺(tái)中進(jìn)行后續(xù)操作。SNMP 是目前網(wǎng)絡(luò)中用得最廣泛的網(wǎng)絡(luò)管理協(xié)議,用于保證設(shè)備的管理信息在網(wǎng)絡(luò)中任意兩點(diǎn)間的傳送,便于網(wǎng)絡(luò)管理員在網(wǎng)絡(luò)上的任何節(jié)點(diǎn)上完成檢索信息、修改信息、定位故障、完成故障診斷、進(jìn)行容量規(guī)劃和生成報(bào)告等。Cacti EZ 利用SNMP 協(xié)議的SNMPGET 命令,從而獲取遠(yuǎn)程主機(jī)設(shè)備MIB 中的管理信息。MIB 是主機(jī)用來(lái)存放和記錄管理信息的數(shù)據(jù)庫(kù),主機(jī)可以是計(jì)算機(jī)工作站、終端、路由器、網(wǎng)絡(luò)打印機(jī)等。管理信息包括CPU 利用率、磁盤使用情況、網(wǎng)絡(luò)流量等大量?jī)?nèi)容。
高校校園網(wǎng)絡(luò)一般為物理三層、邏輯二層的網(wǎng)絡(luò)結(jié)構(gòu),包括大量的接入、匯聚設(shè)備,以及一系列校園服務(wù)應(yīng)用主機(jī),這些設(shè)備都是日常網(wǎng)絡(luò)運(yùn)維所需監(jiān)控的對(duì)象。這里以筆者學(xué)校校園網(wǎng)絡(luò)拓?fù)錇槔?,將Cacti EZ 監(jiān)控平臺(tái)部署在內(nèi)網(wǎng),并保障其與校園網(wǎng)絡(luò)各設(shè)備的連通,進(jìn)而實(shí)現(xiàn)對(duì)校園網(wǎng)絡(luò)節(jié)點(diǎn)的監(jiān)控,如圖1 所示。
圖1 校園網(wǎng)絡(luò)拓?fù)鋱D及Cacti EZ 監(jiān)控平臺(tái)部署位置
①網(wǎng)絡(luò)設(shè)備的監(jiān)控實(shí)現(xiàn)
通常的網(wǎng)絡(luò)設(shè)備,均支持SNMP 協(xié)議。這里以筆者學(xué)校部分樓宇的華為廠商交換機(jī)為例,在其配置中啟用SNMP 協(xié)議,具體如下:
snmp-server enable(開啟SNMP 協(xié)議)
snmp-server securityip XXX.XXX.XXX.XXX(Cacti EZ 監(jiān)控平臺(tái)地址)
snmp-server community ro XXXXXXXX(設(shè)置SNMP團(tuán)體名稱)
snmp-server sys-info version all(設(shè)置SNMP 版本)
上述配置命令在其他廠商設(shè)備也大體通用。這里值得注意的是SNMP 團(tuán)體名稱的設(shè)置,由于Cacti EZ 默認(rèn)為public,存在較大安全隱患。為保障網(wǎng)絡(luò)安全,我們?cè)谠O(shè)置團(tuán)體名稱時(shí),除采用其他字符代替public 以外,還要配置securityip,以此實(shí)現(xiàn)僅允許Cacti EZ 監(jiān)控平臺(tái)接收被監(jiān)控主機(jī)的SNMP 報(bào)文。
②Windows 主機(jī)的監(jiān)控配置
對(duì)于學(xué)校數(shù)據(jù)中心內(nèi)的Windows 主機(jī),可在Windows系統(tǒng)組件中安裝SNMP 協(xié)議,同時(shí)也要添加SNMP 的團(tuán)體名稱。Windows 主機(jī)也自帶了IP 篩選功能,與交換設(shè)備securityip 功能類似,需要設(shè)置成為Cacti EZ 監(jiān)控平臺(tái)的地址。除此之外,在主機(jī)防火墻上,還要添加SNMP協(xié)議端口的例外。
③Linux 主機(jī)的監(jiān)控配置
對(duì)于Linux 主機(jī),我們需要安裝Net-snmp 來(lái)支持。Net-snmp 的安裝方式較多,這里建議通過(guò)yum 安裝比較方便,命令如下:
yum install net-snmp
安裝后同樣需要配置SNMP,在Linux 系統(tǒng)中的配置文件路徑為/etc/snmp/snmpd.conf。
配置具體如下:
查找以下代碼:
com2sec notConfigUser default public
上述代碼中的“public”即為團(tuán)體名稱,將其修改即可。“default”字段,為IP 篩選功能,將其改為Cacti EZ 監(jiān)控平臺(tái)地址。
再查找以下代碼:
access notConfigGroup "" any noauth exact systemview none none
將systemview 改為all,表示定義了一個(gè)可操作的范圍名稱,名稱為“all”。
再查找以下代碼:
#view all included .1 80
將該行前面的“#”去掉,表示定義了范圍名稱“all”中能夠查看的設(shè)備OID(對(duì)象標(biāo)識(shí)符)值?!?1”代表可查看設(shè)備指標(biāo)“.1”節(jié)點(diǎn)下的所有信息,包括cpu、內(nèi)存、硬盤等。[2]配置完成后保存并重啟SNMP 服務(wù)。在Linux 服務(wù)器中,同樣需要在主機(jī)防火墻中開放SNMP 對(duì)應(yīng)的端口。
(3)Cacti EZ 監(jiān)控配置
①添加主機(jī)
在Cacti EZ 控制臺(tái)首頁(yè),已經(jīng)直觀地展示出了如何通過(guò)一系列操作,達(dá)到監(jiān)控主機(jī)的目的,如圖2 所示。
圖2 Cacti EZ 控制臺(tái)
根據(jù)控制臺(tái)提示,選擇添加主機(jī)及對(duì)應(yīng)監(jiān)控模版后,Cacti EZ 監(jiān)控平臺(tái)會(huì)自動(dòng)根據(jù)對(duì)應(yīng)模版,加載出目前能夠監(jiān)控到主機(jī)設(shè)備的一系列“數(shù)據(jù)查詢”信息,包括CPU使用率、內(nèi)存使用率、進(jìn)程數(shù)量等等。在閾值設(shè)置上,我們可以根據(jù)運(yùn)維經(jīng)驗(yàn)或者實(shí)際情況進(jìn)行配置。閾值設(shè)置的目的在于,當(dāng)圖形監(jiān)控超出設(shè)置的閾值時(shí),Cacti EZ監(jiān)控平臺(tái)會(huì)根據(jù)所填寫的報(bào)警郵件地址,自動(dòng)向該郵件地址發(fā)送報(bào)警郵件(具體的報(bào)警郵件配置在后文中進(jìn)行闡述),以此實(shí)現(xiàn)自動(dòng)預(yù)警。
②添加圖形樹
圖形樹的意義在于,能夠?yàn)橛脩籼峁┲庇^的監(jiān)控圖形查看方式。圖形樹可將圖形進(jìn)行詳細(xì)的樹狀分類,以父子層次結(jié)構(gòu)來(lái)組織圖形對(duì)象。[3]用戶可以根據(jù)實(shí)際情況對(duì)圖形進(jìn)行歸類,并向下級(jí)設(shè)置分支,最后將圖形添加到對(duì)應(yīng)的分支上。
用戶可以在“圖形”選項(xiàng)卡中查看已添加好的圖形樹及分支對(duì)應(yīng)的圖形。用戶也可以在【查看狀態(tài)】頁(yè)面,看到已添加好的主機(jī)運(yùn)行狀態(tài),進(jìn)而查看主機(jī)所包含的各類監(jiān)控圖形。
③郵件報(bào)警
Cacti EZ 監(jiān)控平臺(tái)已經(jīng)集成了郵件報(bào)警功能,我們只需要正確配置,即可實(shí)現(xiàn)郵件報(bào)警功能。這里不建議采用Linux 系統(tǒng)自帶的sendmail 功能發(fā)送郵件,而是用常用的SMTP 功能進(jìn)行,同時(shí)SMTP 服務(wù)器地址以及定義的端口號(hào)不要填寫錯(cuò)誤。對(duì)于SMTP 用戶名和密碼,即填寫需要收到報(bào)警郵件郵箱的用戶名和密碼。同時(shí)還要檢查郵箱賬戶是否開啟SMTP 服務(wù),否則將提示賬戶認(rèn)證失敗。
郵件報(bào)警配置成功后,還要在“報(bào)警/閾值”選項(xiàng)卡內(nèi),進(jìn)一步設(shè)置報(bào)警參數(shù)?!皥?bào)警/閾值”選項(xiàng)卡內(nèi)容,可根據(jù)實(shí)際情況填寫,也可以按照Cacti EZ 監(jiān)控平臺(tái)的默認(rèn)值提交即可。除異常情況下的閾值報(bào)警外,當(dāng)被監(jiān)控的主機(jī)宕機(jī)或恢復(fù)后,Cacti EZ 監(jiān)控平臺(tái)也會(huì)發(fā)出報(bào)警郵件,圖3 為被監(jiān)控主機(jī)的宕機(jī)及恢復(fù)測(cè)試。
通過(guò)上述配置網(wǎng)絡(luò)管理人員郵箱,并利用郵箱提供商便捷的移動(dòng)端(如QQ 郵箱APP)郵件提醒功能,可實(shí)現(xiàn)及時(shí)接收監(jiān)控平臺(tái)發(fā)來(lái)的報(bào)警信息,以免帶來(lái)不必要的損失。
圖3 主機(jī)報(bào)警及恢復(fù)測(cè)試
(4)實(shí)踐與應(yīng)用
對(duì)校園網(wǎng)絡(luò)各層交換設(shè)備的實(shí)時(shí)監(jiān)控,包括設(shè)備溫度、CPU 利用率和內(nèi)存占用率、上行接口流量等一系列信息,目的是通過(guò)監(jiān)控及時(shí)發(fā)現(xiàn)設(shè)備異常情況,準(zhǔn)確定位異常發(fā)生的時(shí)間、范圍等信息,為運(yùn)行維護(hù)與故障排查帶來(lái)便利,有助于及時(shí)發(fā)現(xiàn)故障,有效防止設(shè)備損壞和不必要的損失發(fā)生。
①接入設(shè)備CPU 使用率監(jiān)控
圖4 是筆者學(xué)校某個(gè)樓宇某層接入設(shè)備一天的CPU 使用率,根據(jù)該樓宇日常在線用戶情況,接入設(shè)備的CPU 通常應(yīng)處于較低的使用率。如在某個(gè)時(shí)間節(jié)點(diǎn)后,接入設(shè)備的CPU 使用率突然異常增大,甚至達(dá)到70%以上,且居高不下,這種情況極有可能是由于某個(gè)房間出現(xiàn)環(huán)路造成的,接入設(shè)備的CPU 資源將會(huì)被環(huán)路耗盡,最終導(dǎo)致樓層網(wǎng)絡(luò)癱瘓,網(wǎng)管人員發(fā)現(xiàn)后應(yīng)及時(shí)排查處理。
②核心設(shè)備的下聯(lián)鏈路監(jiān)控
圖5 是對(duì)筆者學(xué)校某校區(qū)核心設(shè)備的下聯(lián)鏈路流量進(jìn)行的監(jiān)控與記錄(部分截圖)。從圖中可以看出,監(jiān)控平臺(tái)記錄了各下聯(lián)鏈路某個(gè)時(shí)間段的網(wǎng)絡(luò)流量使用情況,可使學(xué)校網(wǎng)絡(luò)管理人員直觀地了解到校區(qū)各節(jié)點(diǎn)樓宇的網(wǎng)絡(luò)帶寬利用率,便于掌握網(wǎng)絡(luò)使用規(guī)律,為網(wǎng)絡(luò)帶寬調(diào)度和分配提供決策依據(jù)。
圖5 節(jié)點(diǎn)網(wǎng)絡(luò)流量走勢(shì)圖
③對(duì)主機(jī)CPU 的監(jiān)控
圖6 展示的是通過(guò)Cacti EZ 監(jiān)控平臺(tái)記錄筆者學(xué)校某個(gè)應(yīng)用服務(wù)器1 天之內(nèi)CPU 的使用率,可以看出該服務(wù)器的使用集中在下午16 點(diǎn)至22 點(diǎn),且使用率不到10%,其余時(shí)間使用率較低,但在這一天的12 點(diǎn)左右卻出現(xiàn)了20%的短暫小高峰。這種情況下,運(yùn)維人員可以根據(jù)此項(xiàng)記錄,了解服務(wù)器在此時(shí)進(jìn)行的作業(yè)是否存在異常情況,進(jìn)而做出相應(yīng)處理。
圖6 某服務(wù)器1 天內(nèi)CPU 使用率
④對(duì)主機(jī)進(jìn)程數(shù)量的監(jiān)控
圖7 展示的是通過(guò)Cacti EZ 監(jiān)控平臺(tái)記錄某個(gè)服務(wù)器1 年之內(nèi)的進(jìn)程數(shù)量走勢(shì)圖,我們可以看出,服務(wù)器在去年3 月份進(jìn)程數(shù)量突破了2000,達(dá)到3000 左右,并一直維持在這個(gè)區(qū)間,且在本年度2 月份突破了4000峰值,可能有保持這個(gè)數(shù)量的趨勢(shì)。這種情況對(duì)于普通網(wǎng)站服務(wù)器是比較危險(xiǎn)的,硬件資源將會(huì)不足。運(yùn)維人員可以根據(jù)此項(xiàng)記錄,應(yīng)盡快對(duì)服務(wù)器資源進(jìn)行調(diào)整和規(guī)劃,以免出現(xiàn)不必要的宕機(jī)。
圖7 某服務(wù)器1 年內(nèi)進(jìn)程數(shù)量監(jiān)控
本文介紹了在校園網(wǎng)絡(luò)環(huán)境下,如何正確部署Cacti EZ 監(jiān)控平臺(tái),并合理有效利用,以此對(duì)學(xué)校校園網(wǎng)絡(luò)各個(gè)節(jié)點(diǎn)進(jìn)行監(jiān)控,使學(xué)校網(wǎng)絡(luò)運(yùn)維人員能夠直觀高效地掌握校園網(wǎng)絡(luò)內(nèi)各節(jié)點(diǎn)的運(yùn)行情況,并通過(guò)閾值設(shè)定實(shí)現(xiàn)自動(dòng)報(bào)警。Cacti EZ 監(jiān)控平臺(tái)的使用,將有利于網(wǎng)絡(luò)管理人員在第一時(shí)間發(fā)現(xiàn)異常情況,同時(shí)也為網(wǎng)絡(luò)管理人員提供了合理規(guī)劃、分配網(wǎng)絡(luò)帶寬的決策依據(jù)。[4]