黃 杰,陸 春,陳 云
(上海財經(jīng)大學(xué),上海200433)
隨著高校信息化的不斷發(fā)展,數(shù)字校園和智慧校園的深入建設(shè),如何保障業(yè)務(wù)的連續(xù)性,如何實時的自動監(jiān)控各個業(yè)務(wù)系統(tǒng)的健康狀況,建立多維度的監(jiān)控和報警模型,以及分析和預(yù)測未來可能出現(xiàn)的故障,是需要考慮和解決的重要課題。主動監(jiān)控模式已經(jīng)成為重要的監(jiān)控手段。第一時間發(fā)現(xiàn)、定位并記錄異常,從外部到內(nèi)部、從業(yè)務(wù)到基礎(chǔ)環(huán)境、從功能到性能等各個方面對業(yè)務(wù)數(shù)據(jù)進(jìn)行采集、展現(xiàn)和報警體系的建設(shè),對提高服務(wù)的可靠性和可用性是非常關(guān)鍵的。一個良好、全面、完善的業(yè)務(wù)健康多維度監(jiān)控體系,能夠幫助準(zhǔn)確、及時、完善地了解業(yè)務(wù)各個層面的生存情況,并最終實現(xiàn)對業(yè)務(wù)的量化管理。[1]
國內(nèi)外有很多優(yōu)秀的開源監(jiān)控工具。
Cacti、Nagios、Zabbix主要側(cè)重于系統(tǒng)層、網(wǎng)絡(luò)層的監(jiān)控。在應(yīng)用方面,Nagios是應(yīng)用比較廣泛的監(jiān)控工具,例如Facebook、新浪、搜狐、網(wǎng)易、阿里巴巴等國內(nèi)外的大型企業(yè)都在使用Nagios和Cacti這套監(jiān)控平臺。著名互聯(lián)網(wǎng)視頻提供商PPTV部署了全世界最大的Zabbix集群,監(jiān)控項多達(dá)一百萬以上,報警點也超過三十萬個。
實現(xiàn)監(jiān)控主要有兩個途徑,分別是自建監(jiān)控系統(tǒng)和采用第三方開源解決方案來實現(xiàn)。自建監(jiān)控系統(tǒng),是針對現(xiàn)在業(yè)務(wù)特性,定制和實現(xiàn)業(yè)務(wù)監(jiān)控模型,進(jìn)而達(dá)到監(jiān)控業(yè)務(wù)各組成部分的健康,大的互聯(lián)網(wǎng)公司一般會選擇自建監(jiān)控系統(tǒng),成立一個專職團隊將監(jiān)控、報警及事件、故障結(jié)合起來,產(chǎn)生一整套行之有效的電子流,將故障事前、事中、事后的處理流程化、生產(chǎn)線化。開發(fā)一個agent在服務(wù)器上運行,agent會上報所需要的所有監(jiān)控任務(wù)的數(shù)據(jù)到服務(wù)端入庫,再做數(shù)據(jù)前臺的展現(xiàn)。第三方監(jiān)控解決方案,主要包括開源及第三方監(jiān)控運營商,第三方監(jiān)控比較擅長某個領(lǐng)域,如Networkbench、Gomez是基于用戶端監(jiān)控的收費監(jiān)控廠商,在個人電腦和手機端安裝監(jiān)控軟件,并上報監(jiān)控數(shù)據(jù),能夠比較真實反饋用戶體驗數(shù)據(jù)。[2]
高校技術(shù)研發(fā)人員較少,獨立研發(fā)監(jiān)控系統(tǒng)不現(xiàn)實,基于優(yōu)秀的開源工具二次開發(fā)來實現(xiàn)監(jiān)控系統(tǒng)是較好的方案。
監(jiān)控的核心作用是對業(yè)務(wù)具有診斷能力,通過掌握生產(chǎn)環(huán)境下的多個維度數(shù)據(jù),按照一定的監(jiān)控模型,對影響運營質(zhì)量的諸多要素和運營過程的各個環(huán)節(jié)進(jìn)行監(jiān)控、采集、建模、展現(xiàn),通過監(jiān)控來量化系統(tǒng)運營狀況和確保最佳用戶體驗。[1]
多維度監(jiān)控模型可分為服務(wù)器維度、存儲維度、網(wǎng)絡(luò)設(shè)備維度、網(wǎng)絡(luò)質(zhì)量維度、業(yè)務(wù)維度、數(shù)據(jù)庫維度、中間件維度等,如表1所示。
通過多維度的監(jiān)控模型對現(xiàn)有的業(yè)務(wù)環(huán)節(jié)下的各個關(guān)鍵指標(biāo)進(jìn)行實時的有效監(jiān)控和數(shù)據(jù)展示,有助于把握和掌控核心業(yè)務(wù)運行的現(xiàn)狀,真正做到監(jiān)控?zé)o死點。
報警是發(fā)生異常時,快速定位和快速修復(fù)問題,挽回?fù)p失和用戶體驗的方式。
報警根據(jù)各維度實時監(jiān)控反饋信息判斷是否超過預(yù)設(shè)的閾值,如果是,則按預(yù)定的步驟(流程)進(jìn)行報警或自動修復(fù)等操作。監(jiān)控到的事件會導(dǎo)致或可能導(dǎo)致生產(chǎn)環(huán)境服務(wù)中斷或服務(wù)質(zhì)量下降的故障,事件發(fā)生后,需要通過報警去觸發(fā)人為介入,之后斷定是否為故障及故障影響等,進(jìn)而通過故障管理進(jìn)行永久規(guī)避。
出了故障可以立即知道,以便即時處理,預(yù)見故障,防患于未然,如何最快、有效的將報警信息傳遞給接收人跟報警途徑有關(guān),通常會有表2的幾種途徑。
表1多維度監(jiān)控模型
表2報警方式
報警模型的建立關(guān)系到報警質(zhì)量和價值,報警模型可以理解為具有一定規(guī)則的預(yù)處理程序,這個規(guī)則可以是一個閥值,也可以是多維組合條件,針對規(guī)則進(jìn)行后續(xù)的處理,比如報警或自動觸發(fā)自動修復(fù)、過載保護(hù)等。通常報警模型分為通用型和業(yè)務(wù)型兩大類:
通用型主要是系統(tǒng)運行指標(biāo),硬件可用性,網(wǎng)絡(luò)狀態(tài),緩存、數(shù)據(jù)庫通用應(yīng)用運行狀態(tài)等,此類報警模型對研發(fā)透明,主要由運維主導(dǎo)和負(fù)責(zé)。
業(yè)務(wù)型主要是指非常規(guī)的應(yīng)用模塊,一個學(xué)校有多個產(chǎn)品線,每個產(chǎn)品線有多個服務(wù),每個服務(wù)又分多個服務(wù)模塊單元,每一個模塊又有多個特性,此類報警模型根據(jù)用途又可分為自定義報警模型、服務(wù)報警模型、集群報警模型。針對一個產(chǎn)品線需要建立一系列的通用型、業(yè)務(wù)型監(jiān)測與報警,當(dāng)發(fā)生故障時才能實現(xiàn)及時人工處理和自動處理、自動恢復(fù)。報警模型如表3所示。
報警收斂可以提高報警質(zhì)量、報警響應(yīng)質(zhì)量、報警自動處理和自動恢復(fù)質(zhì)量。報警收斂是通過一定規(guī)則減少數(shù)量,減少干擾,提高單條報警價值,主要有以下兩類:
(1)按頻率收斂,根據(jù)頻率和次數(shù)設(shè)計報警模型,例如按不同重要級別的產(chǎn)品線進(jìn)行細(xì)分,重要的產(chǎn)品高頻率多次報警,次要的低頻率少報警,并根據(jù)報警次數(shù)進(jìn)行合并,只展現(xiàn)不發(fā)送。
(2)按對象收斂,根據(jù)監(jiān)控模型、IP、服務(wù)器負(fù)責(zé)人等對象進(jìn)行橫向、縱向的報警收斂,一定時段同一類報警進(jìn)行合并報警、合并展現(xiàn),例如機房數(shù)百臺服務(wù)器因網(wǎng)絡(luò)閃斷觸發(fā)報警,每一個報警接收人應(yīng)該只接收到幾條報警,而不是各報警模型觸發(fā)數(shù)百條報警。
表3報警模型
基于開源分布式軟件Zabbix實現(xiàn)多維度監(jiān)控平臺的搭建和實施,完成對多維度監(jiān)控模型中的服務(wù)器、存儲、網(wǎng)絡(luò)設(shè)備、網(wǎng)絡(luò)質(zhì)量、業(yè)務(wù)系統(tǒng)等全方位多維度的監(jiān)控,能夠及時發(fā)現(xiàn)故障并發(fā)出警告,警告方式通過郵件和短信方式發(fā)出。整體的效果如圖1所示。
基于分布式Zabbix系統(tǒng)建立的自動化監(jiān)控平臺,集成自動化運維工具(puppet)和配置管理數(shù)據(jù)庫(cmdb),完成了自動化監(jiān)控的目標(biāo),實現(xiàn)了對我校服務(wù)器集群、虛擬化集群、Web應(yīng)用集群、F5負(fù)載均衡設(shè)備、一卡通設(shè)備、oracle/mysql數(shù)據(jù)庫集群的實時監(jiān)控。不僅有助于掌握系統(tǒng)整體運行情況,而且能夠及時發(fā)現(xiàn)故障信息,很大程度上提高了信息化辦公室的整體服務(wù)質(zhì)量,保障業(yè)務(wù)持續(xù)性。隨著學(xué)校信息化的持續(xù)不斷發(fā)展,自動化監(jiān)控系統(tǒng)還將不斷的完善,發(fā)揮更大的作用。
圖1多維度監(jiān)控示意圖
未來自動化監(jiān)控平臺還有很多工作要做。如何提高監(jiān)控的有效性,提高監(jiān)控的準(zhǔn)確性,減少誤報率,如何多方面多角度的監(jiān)控,形成立體的監(jiān)控體系,還有待進(jìn)一步的研究和探索。
[1]李艷霞,劉乃嘉,王鑫.高校信息系統(tǒng)自動監(jiān)控報警平臺的研發(fā)與應(yīng)用[J].實驗技術(shù)與管理,2011,28(3):101-103.
[2]周偉強,陳燦華,李淑娟.基于Cacti和nagios的校園一卡通監(jiān)控系統(tǒng)研究[J].實驗技術(shù)與管理,2011,28(4):246-249.
[3]陳琳,王彬.開源系統(tǒng)自動監(jiān)控大量虛擬主機[J].中國教育網(wǎng)絡(luò),2011(8).
[4]張暉,周利霞,姚會琴等.Nagios監(jiān)控系統(tǒng)在天津地震應(yīng)急系統(tǒng)中的綜合應(yīng)用[J].震災(zāi)防御技術(shù)ISTIC,2012,7(3).
[5]楊磊.基于Linux系統(tǒng)的監(jiān)控工具與其自動化測試的設(shè)計與實現(xiàn)[D].電子科技大學(xué),2012.
[6]葛君偉,張博,方義秋.云計算環(huán)境下的資源監(jiān)測模型研究[J].計算機工程,2011,37(11).
[7]崔振裕.基于開源軟件校園網(wǎng)監(jiān)測系統(tǒng)的研究與實現(xiàn)[D].石家莊:河北師范大學(xué),2012.
[8]薛冰,何燚.Linux系統(tǒng)異常監(jiān)控模型研究[J].ComputerEngineering,2012,38(5).
[9]陳大偉,章洋,彭泳.配置管理系統(tǒng)在服務(wù)生成平臺中的 應(yīng) 用 研 究 [DB/OL].http://www.paper.edu.cn/htm l/releasepaper/2011/12/116/.
[10]O lups,R ihards.Zabbix 1.8 network monitoring.PACKTPublishing Ltd,2010.
[11]AndreoliniM,ColajanniM,PietriM.AScalableArchitecture for Real-Time Monitoring of Large Information Systems[C]//Network Cloud Computing and Applications(NCCA),2012Second Symposium on.IEEE,2012:143-150.
[12]王喜萍.面向網(wǎng)絡(luò)存儲加密的集中監(jiān)控系統(tǒng)研究[D].杭州:浙江工商大學(xué),2012.
[13]李超,梁阿磊,管海兵等.海量存儲系統(tǒng)的性能管理與監(jiān)測方法研究[J].計算機應(yīng)用與軟件,2012,29(7):78-80.