蘇健 張進(jìn)猛 李冀東
摘要:私有云服務(wù)器在大中型企業(yè)中的應(yīng)用越來越廣泛,服務(wù)器數(shù)量隨著應(yīng)用擴(kuò)展越來越多,給運(yùn)維監(jiān)控帶來了巨大挑戰(zhàn),為了解決服務(wù)器運(yùn)維監(jiān)控問題,提高運(yùn)維率,提高系統(tǒng)的高可用性,方便運(yùn)維人員操作,該文設(shè)計(jì)實(shí)現(xiàn)了基于移動(dòng)端的服務(wù)器運(yùn)行監(jiān)控系統(tǒng),包括系統(tǒng)架構(gòu)、系統(tǒng)功能,并對(duì)其系統(tǒng)構(gòu)成模塊和系統(tǒng)實(shí)現(xiàn)進(jìn)行了介紹。
關(guān)鍵詞:運(yùn)行監(jiān)控系統(tǒng);服務(wù)器;數(shù)據(jù)庫(kù);監(jiān)控指標(biāo);可視化
中圖分類號(hào):TP393 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2019)33-0014-03
1背景
隨著信息產(chǎn)業(yè)的進(jìn)步,大中型企事業(yè)單位的信息化建設(shè)程度不斷加深,私有云服務(wù)集群在大中型企業(yè)中的應(yīng)用越來越廣泛。私有云平臺(tái)是一系列物理服務(wù)器通過管理軟件虛擬成若干臺(tái)服務(wù)器池。虛擬的應(yīng)用服務(wù)器數(shù)量可能多達(dá)上百臺(tái),而且根據(jù)應(yīng)用的擴(kuò)展還可以不斷擴(kuò)充,這就引發(fā)對(duì)大量主機(jī)、數(shù)據(jù)庫(kù)、應(yīng)用系統(tǒng)進(jìn)行綜合監(jiān)控的需求,當(dāng)管理員面對(duì)越來越多的服務(wù)器及其應(yīng)用的時(shí)候,用人工方式對(duì)數(shù)據(jù)進(jìn)行分析處理變得越來越不現(xiàn)實(shí)。為了及時(shí)發(fā)現(xiàn)陸能瓶頸,保證整體系統(tǒng)的高可用性,保證其高性能運(yùn)行,企業(yè)系統(tǒng)運(yùn)維部門面臨著巨大挑戰(zhàn)。因此,必須有一套合理的服務(wù)器監(jiān)控管理方案。
目前傳統(tǒng)的服務(wù)器監(jiān)控系統(tǒng)不能實(shí)現(xiàn)移動(dòng)化監(jiān)控管理,使用監(jiān)控系統(tǒng)的用戶難以走出監(jiān)控機(jī)房,而且沒有集成網(wǎng)頁(yè)防篡改功能,不能隨時(shí)隨地利用手機(jī)等移動(dòng)設(shè)備查看系統(tǒng)服務(wù)器的各項(xiàng)運(yùn)行指標(biāo)和應(yīng)用系統(tǒng)的運(yùn)行狀況,一旦應(yīng)用系統(tǒng)出現(xiàn)運(yùn)行故障還需要運(yùn)維人員到機(jī)房現(xiàn)場(chǎng)處理。基于以上背景本文給出了基于移動(dòng)設(shè)備的服務(wù)器運(yùn)行監(jiān)控系統(tǒng)設(shè)計(jì)方案和系統(tǒng)實(shí)現(xiàn)。
2系統(tǒng)架構(gòu)設(shè)計(jì)
由于私有云集群系統(tǒng)涉及的服務(wù)器眾多,要支撐上百個(gè)節(jié)點(diǎn)的服務(wù)器與應(yīng)用的運(yùn)行,傳統(tǒng)的網(wǎng)絡(luò)管理和監(jiān)控面臨巨大挑戰(zhàn),所以監(jiān)控系統(tǒng)首先需要有一個(gè)好的架構(gòu),實(shí)現(xiàn)自動(dòng)的監(jiān)控和管理,這樣可以大大減少運(yùn)維人員的工作和降低維護(hù)成本。隨著國(guó)內(nèi)4G網(wǎng)絡(luò)的成熟、支持wifi的智能移動(dòng)終端價(jià)格持續(xù)下降,解決以上問題的網(wǎng)絡(luò)和設(shè)備條件已經(jīng)成熟。
系統(tǒng)在架構(gòu)上由移動(dòng)終端、調(diào)度服務(wù)器、預(yù)警服務(wù)器、代理服務(wù)器、數(shù)據(jù)庫(kù)、監(jiān)控服務(wù)器、真正為用戶提供具體服務(wù)的應(yīng)用節(jié)點(diǎn)服務(wù)器集群和應(yīng)用數(shù)據(jù)庫(kù)節(jié)點(diǎn)服務(wù)器集群組成,系統(tǒng)架構(gòu)見圖1。移動(dòng)終端負(fù)責(zé)監(jiān)控?cái)?shù)據(jù)展示。調(diào)度服務(wù)器用來分析監(jiān)控?cái)?shù)據(jù)提供給移動(dòng)終端展示、對(duì)于超出設(shè)定閾值負(fù)載的服務(wù)器調(diào)用告警服務(wù)器發(fā)出告警、向代理服務(wù)器發(fā)送故障管理與恢復(fù)指令功能。數(shù)據(jù)庫(kù)存放所有的監(jiān)控?cái)?shù)據(jù)。監(jiān)控服務(wù)器負(fù)責(zé)監(jiān)控所管轄各節(jié)點(diǎn)服務(wù)器的實(shí)時(shí)陸能和綜合狀況,并按設(shè)定參數(shù)實(shí)時(shí)采集各應(yīng)用節(jié)點(diǎn)和應(yīng)用數(shù)據(jù)庫(kù)節(jié)點(diǎn)的各種監(jiān)控?cái)?shù)據(jù)并存人監(jiān)控?cái)?shù)據(jù)庫(kù)。
本方案做到了與平臺(tái)無關(guān)而且能夠?qū)崟r(shí)通過移動(dòng)設(shè)備實(shí)現(xiàn)遠(yuǎn)程移動(dòng)監(jiān)控,由于移動(dòng)監(jiān)控是通過互聯(lián)網(wǎng)連通,而所有的應(yīng)用服務(wù)器和數(shù)據(jù)庫(kù)服務(wù)器都是內(nèi)網(wǎng)部署,為了系統(tǒng)安全性考慮,方案中設(shè)置了前置代理服務(wù)器,代理服務(wù)器負(fù)責(zé)實(shí)時(shí)分析監(jiān)控?cái)?shù)據(jù),再把分析結(jié)果實(shí)時(shí)傳輸給調(diào)度服務(wù)器,調(diào)度服務(wù)器把監(jiān)控結(jié)果推到監(jiān)控移動(dòng)端和告警服務(wù)器。
3系統(tǒng)功能
為了能夠及時(shí)有效地對(duì)越來越多的服務(wù)器及其應(yīng)用監(jiān)控?cái)?shù)據(jù)進(jìn)行分析處理,監(jiān)控系統(tǒng)主要包含了以下幾方面的功能:
系統(tǒng)管理功能,包括系統(tǒng)參數(shù)設(shè)置、維護(hù)被監(jiān)控的服務(wù)器節(jié)點(diǎn)等。
應(yīng)能夠及時(shí)發(fā)現(xiàn)硬件故障并報(bào)警提示。
能保障系統(tǒng)的正常運(yùn)行。
能夠?qū)ο到y(tǒng)關(guān)鍵資源的使用情況進(jìn)行監(jiān)測(cè),超出預(yù)先設(shè)置的閾值參數(shù)主動(dòng)向管理員發(fā)送告警信息間。
能夠處理應(yīng)用服務(wù)器的突發(fā)故障,保障應(yīng)用的高可用性。
能夠監(jiān)控應(yīng)用數(shù)據(jù)庫(kù)服務(wù)器的運(yùn)行狀態(tài)。
能夠?qū)?yīng)用系統(tǒng)關(guān)鍵頁(yè)面進(jìn)行防篡改監(jiān)控,防止不法黑客的攻擊。
具體功能見圖2:
4系統(tǒng)實(shí)現(xiàn)
系統(tǒng)分為監(jiān)控調(diào)度模塊,監(jiān)控?cái)?shù)據(jù)采集模塊,網(wǎng)頁(yè)數(shù)據(jù)比較模塊,報(bào)警模塊,故障處理模塊,監(jiān)控展示模塊六個(gè)部分。如圖3所示:
4.1監(jiān)控調(diào)度模塊
監(jiān)控調(diào)度模塊按照系統(tǒng)預(yù)設(shè)頻率讀取數(shù)據(jù)庫(kù)中的監(jiān)控?cái)?shù)據(jù),根據(jù)系統(tǒng)設(shè)置的參數(shù)標(biāo)準(zhǔn)判斷各項(xiàng)指標(biāo)是否異常及異常級(jí)別。系統(tǒng)運(yùn)行指標(biāo)項(xiàng)包括應(yīng)用系統(tǒng)運(yùn)行情況,應(yīng)用數(shù)據(jù)庫(kù)運(yùn)行情況,硬盤使用率情況,CPU占用率情況,內(nèi)存使用率情況,網(wǎng)絡(luò)帶寬使用情況,網(wǎng)頁(yè)篡改情況等等。如果出現(xiàn)異常系統(tǒng)通過綜合分析,根據(jù)預(yù)先設(shè)定的告警級(jí)別決定是否將調(diào)度指令發(fā)送給告警服務(wù)器。具體監(jiān)控指標(biāo)項(xiàng)及告警級(jí)別見表1:
4.2監(jiān)控?cái)?shù)據(jù)采集模塊
應(yīng)用系統(tǒng)運(yùn)行情況數(shù)據(jù)采集模塊根據(jù)數(shù)據(jù)庫(kù)中設(shè)置的應(yīng)用節(jié)點(diǎn)服務(wù)器網(wǎng)址,使用系統(tǒng)預(yù)設(shè)頻率讀取應(yīng)用服務(wù)器的監(jiān)控頁(yè)面,如果網(wǎng)站能正常打開,說明該應(yīng)用節(jié)點(diǎn)運(yùn)行正常,然后調(diào)用網(wǎng)頁(yè)數(shù)據(jù)比較模塊采集首頁(yè)是否被篡改數(shù)據(jù)。
應(yīng)用數(shù)據(jù)庫(kù)運(yùn)行情況數(shù)據(jù)采集根據(jù)應(yīng)用數(shù)據(jù)庫(kù)節(jié)點(diǎn)ip地址定時(shí)向目標(biāo)數(shù)據(jù)庫(kù)發(fā)送“select I from dual”語(yǔ)句測(cè)試返回情況,如果能返回結(jié)果說明該數(shù)據(jù)庫(kù)節(jié)點(diǎn)運(yùn)行正常,否則該節(jié)點(diǎn)數(shù)據(jù)庫(kù)異常。
網(wǎng)絡(luò)帶寬使用情況監(jiān)控服務(wù)器定時(shí)調(diào)用網(wǎng)絡(luò)流控設(shè)備接口返回當(dāng)前帶寬使用情況。
監(jiān)控?cái)?shù)據(jù)采集模塊將所有這些監(jiān)控信息存人監(jiān)控?cái)?shù)據(jù)庫(kù),為代理服務(wù)器分析整個(gè)私有云的服務(wù)運(yùn)行及性能狀況提供數(shù)據(jù)基礎(chǔ)。
4.3網(wǎng)頁(yè)數(shù)據(jù)比較模塊
網(wǎng)頁(yè)數(shù)據(jù)比較模塊是在打開網(wǎng)站首頁(yè)獲取到網(wǎng)頁(yè)數(shù)據(jù)后,將當(dāng)前獲取的網(wǎng)站首頁(yè)數(shù)據(jù)與預(yù)先保存的網(wǎng)站首頁(yè)標(biāo)準(zhǔn)數(shù)據(jù)內(nèi)容、大小、更新日期比較,如果一致說明首頁(yè)沒有發(fā)生篡改,否則有被篡改嫌疑。
系統(tǒng)實(shí)現(xiàn)過程是通過編寫defense.sh腳本,該腳本定時(shí)調(diào)用執(zhí)行網(wǎng)頁(yè)數(shù)據(jù)比較程序,比較程序主動(dòng)抓取應(yīng)用節(jié)點(diǎn)頁(yè)面的數(shù)據(jù)項(xiàng)和數(shù)據(jù)庫(kù)預(yù)存的數(shù)據(jù)項(xiàng)做比較,然后通過分析做出監(jiān)控結(jié)果,如果發(fā)現(xiàn)網(wǎng)頁(yè)內(nèi)容異常,比較程序根據(jù)數(shù)據(jù)庫(kù)預(yù)存數(shù)據(jù)自動(dòng)恢復(fù)網(wǎng)站首頁(yè)內(nèi)容。
4.4報(bào)警模塊
報(bào)警模塊可以通過電子郵件、手機(jī)短信二種方式將網(wǎng)站異常信息發(fā)送給預(yù)設(shè)系統(tǒng)運(yùn)維人員。保證運(yùn)維人員能第一時(shí)間獲得告警信息,及時(shí)進(jìn)行緊急處理,以最大限度地減少損失。
電子郵件的發(fā)送使用TldSMTP控件,只要設(shè)置好參數(shù),導(dǎo)人消息內(nèi)容就可以了。
手機(jī)短信將各種報(bào)警預(yù)編譯成每種告警模板,當(dāng)出現(xiàn)告警時(shí),調(diào)度服務(wù)器直接將相關(guān)參數(shù)傳遞給短信服務(wù)器,短信服務(wù)器通過短信接口進(jìn)行短信發(fā)送。
4.5故障處理模塊
在系統(tǒng)出現(xiàn)緊急宕機(jī)時(shí),調(diào)度服務(wù)器調(diào)用告警模塊發(fā)出告警信息,系統(tǒng)運(yùn)維人員收到告警通知后,第一時(shí)間通過手機(jī)可以向調(diào)度服務(wù)器發(fā)送故障處理指令,調(diào)度服務(wù)器再通過代理服務(wù)器向故障節(jié)點(diǎn)監(jiān)控服務(wù)器發(fā)送指令,監(jiān)控服務(wù)器負(fù)責(zé)執(zhí)行管理指令,包括服務(wù)器重啟,網(wǎng)絡(luò)鏈路切換等故障處理指令。
4.6監(jiān)控展示模塊
各種監(jiān)控結(jié)果都能在移動(dòng)設(shè)備上可視化查看,結(jié)果展示層使用java創(chuàng)建Web應(yīng)用程序,以html5網(wǎng)頁(yè)形式呈現(xiàn)功能界面,系統(tǒng)管理員可以查看各集群總體狀態(tài)以及監(jiān)控服務(wù)器主機(jī)性能指標(biāo)、網(wǎng)絡(luò)和數(shù)據(jù)庫(kù)狀態(tài)。集群服務(wù)器狀態(tài)監(jiān)控大屏查看頁(yè)面見圖4。
網(wǎng)絡(luò)監(jiān)控頁(yè)面見圖5。
本監(jiān)控系統(tǒng)服務(wù)器端采用tomcat作為中間件發(fā)布平臺(tái),監(jiān)控?cái)?shù)據(jù)庫(kù)是oracle,展示前端利用Echars結(jié)合JSP與JavaScript技術(shù)實(shí)現(xiàn)。
5結(jié)束語(yǔ)
本系統(tǒng)已經(jīng)在中國(guó)郵政網(wǎng)絡(luò)學(xué)院系統(tǒng)成功應(yīng)用,運(yùn)行一年以來,接收到各種系統(tǒng)警告40余次,給運(yùn)維人員提前介入系統(tǒng)運(yùn)維提供了寶貴時(shí)間,減少了由于系統(tǒng)問題導(dǎo)致的整個(gè)應(yīng)用系統(tǒng)的停機(jī)時(shí)間,給故障排除和準(zhǔn)確定位提供了依據(jù),提高了系統(tǒng)的運(yùn)維效率,大大提高了中國(guó)郵政網(wǎng)絡(luò)學(xué)院系統(tǒng)的可靠性和可用性,經(jīng)過上線以來的運(yùn)行顯示,該系統(tǒng)運(yùn)行穩(wěn)定,且滿足了設(shè)計(jì)要求,達(dá)到了預(yù)期效果。接下來將不斷根據(jù)實(shí)際監(jiān)控需求對(duì)系統(tǒng)進(jìn)行升級(jí)完善。