文/趙俊 李潤(rùn)知 王宗敏
鄭州大學(xué):針對(duì)網(wǎng)絡(luò)服務(wù)的云監(jiān)控平臺(tái)設(shè)計(jì)
文/趙俊1,2李潤(rùn)知1王宗敏1
隨著新的互聯(lián)網(wǎng)時(shí)代的到來(lái),大量的網(wǎng)絡(luò)應(yīng)用服務(wù)已經(jīng)深入到各行各業(yè)當(dāng)中。對(duì)系統(tǒng)管理員來(lái)說(shuō),為保證網(wǎng)絡(luò)應(yīng)用服務(wù)7×24提供服務(wù),不僅要監(jiān)控物理服務(wù)器的運(yùn)行狀態(tài),更重要的是要監(jiān)控網(wǎng)絡(luò)應(yīng)用服務(wù)的運(yùn)行狀態(tài)。人工的監(jiān)控在網(wǎng)絡(luò)規(guī)模過(guò)大、業(yè)務(wù)量過(guò)多的情況下無(wú)疑是災(zāi)難性問(wèn)題,這種情況下,智能監(jiān)控系統(tǒng)可有效解決對(duì)大規(guī)模、密集業(yè)務(wù)量網(wǎng)絡(luò)應(yīng)用服務(wù)的實(shí)時(shí)狀態(tài)監(jiān)控,及時(shí)發(fā)現(xiàn)服務(wù)故障并智能告警。在當(dāng)下的互聯(lián)網(wǎng)信息時(shí)代,信息提供本身就是價(jià)值的體現(xiàn),對(duì)應(yīng)用服務(wù)的可靠性提出了很高的要求,對(duì)于企業(yè)用戶來(lái)說(shuō),不但需要保證系統(tǒng)業(yè)務(wù)自身的正常運(yùn)行,也需要在多運(yùn)營(yíng)商提供基礎(chǔ)網(wǎng)絡(luò)服務(wù)的網(wǎng)絡(luò)環(huán)境中,保證所有用戶的服務(wù)訪問(wèn)情況,出現(xiàn)問(wèn)題及時(shí)解決,保證網(wǎng)絡(luò)服務(wù)運(yùn)行的可靠性。
目前出現(xiàn)的監(jiān)控系統(tǒng)包括Nagios、Cacti、Zabbix、阿里云監(jiān)控、美信云監(jiān)控、百度云觀測(cè)等。Nagios采用插件方式進(jìn)行數(shù)據(jù)采集,利用種類繁多的插件來(lái)實(shí)現(xiàn)監(jiān)控服務(wù)和主機(jī)的功能,這就造成了Nagios的使用困難。Cacti不支持Agent數(shù)據(jù)采集方式和報(bào)警功能,這使得Cacti不能全面地監(jiān)測(cè)服務(wù)器的運(yùn)行狀態(tài)。Zabbix集成了SNMP、Agent、IPMI等多種的數(shù)據(jù)采集方式,監(jiān)控功能更加全面,同時(shí)也需要更多的硬件資源來(lái)部署Zabbix,需要專門人員對(duì)其進(jìn)行管理和維護(hù)。阿里云監(jiān)控是依托阿里云計(jì)算平臺(tái)建立的監(jiān)控系統(tǒng),由于監(jiān)控功能較少,不能滿足大多數(shù)企業(yè)的監(jiān)控需求。美信云監(jiān)控是首次把云計(jì)算引入網(wǎng)絡(luò)管理領(lǐng)域的解決方案, 其由云控制器和云節(jié)點(diǎn)監(jiān)控服務(wù)器兩類服務(wù)組成,其提供集中式和分布式兩種云架構(gòu)部署方式,在分布式部署方案中,可適合線形數(shù)量增加的應(yīng)用業(yè)務(wù)需求,是值得肯定的一款監(jiān)控平臺(tái)。百度云觀測(cè)是百度最新推出的一款云服務(wù)產(chǎn)品,能實(shí)現(xiàn)免費(fèi)為網(wǎng)站站長(zhǎng)提供7×24小時(shí)網(wǎng)站監(jiān)測(cè)和報(bào)警服務(wù),功能包括對(duì)網(wǎng)站服務(wù)運(yùn)行狀況的監(jiān)控,另外包括對(duì)安全性、訪問(wèn)速度等的監(jiān)控。
云計(jì)算是一種新興的計(jì)算模型,提供隨時(shí)隨地、按需的訪問(wèn),云計(jì)算具有高可擴(kuò)展性、可配置性、按需服務(wù)、虛擬化等特性。云計(jì)算包含三個(gè)層次的服務(wù),其中,軟件及服務(wù)(SaaS)是一種新型的軟件應(yīng)用模式,用戶可以根據(jù)自己的實(shí)際需求,訂購(gòu)需要的軟件服務(wù),不需要購(gòu)買軟件許可和設(shè)備,軟件服務(wù)提供商負(fù)責(zé)對(duì)軟件系統(tǒng)的部署實(shí)施和運(yùn)行維護(hù)。SaaS對(duì)中小型企業(yè)的發(fā)展提供便利條件,中小型企業(yè)由于規(guī)模小,受員工技能、經(jīng)濟(jì)效益等條件的限制,不能實(shí)現(xiàn)自動(dòng)化的監(jiān)控手段,云計(jì)算技術(shù)的出現(xiàn),利用SaaS服務(wù)模式給中小型企業(yè)提供網(wǎng)絡(luò)服務(wù)的監(jiān)控提供了條件。
基于SaaS的監(jiān)控平臺(tái)具有多租戶的特點(diǎn),可以向用戶提供可配置、高可擴(kuò)展的網(wǎng)絡(luò)監(jiān)控服務(wù),租戶可以根據(jù)自己的需求租用監(jiān)控服務(wù),給中小型企業(yè)提供監(jiān)控服務(wù)。通過(guò)分布式部署云監(jiān)控平臺(tái),可實(shí)現(xiàn)對(duì)不同地域,不同網(wǎng)絡(luò)服務(wù)提供商用戶訪問(wèn)網(wǎng)絡(luò)的模擬,從而更好地監(jiān)控網(wǎng)絡(luò)可靠性。
本文將云計(jì)算技術(shù)和服務(wù)器監(jiān)控系統(tǒng)相結(jié)合實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)服務(wù)和主機(jī)的運(yùn)行狀態(tài)實(shí)時(shí)監(jiān)控,通過(guò)在不同地區(qū)分布式部署監(jiān)控節(jié)點(diǎn)進(jìn)行多點(diǎn)監(jiān)控,通過(guò)智能故障關(guān)聯(lián)給用戶提供實(shí)時(shí)的網(wǎng)絡(luò)監(jiān)控服務(wù),并在出現(xiàn)故障時(shí)能夠及時(shí)向管理人員發(fā)送智能告警信息,平臺(tái)采用SaaS模式,能更好地實(shí)現(xiàn)用戶配置,監(jiān)控節(jié)點(diǎn),被監(jiān)控網(wǎng)絡(luò)服務(wù)的可擴(kuò)展性。
系統(tǒng)總體架構(gòu)
圖1 云監(jiān)控平臺(tái)架構(gòu)
基于網(wǎng)絡(luò)服務(wù)的云監(jiān)控平臺(tái)的采用分布式網(wǎng)絡(luò)架構(gòu),主要包括數(shù)據(jù)處理部分,信息采集部分和網(wǎng)絡(luò)應(yīng)用自身幾部分組成,如圖1所示。具體包括:云監(jiān)控平臺(tái)Web服務(wù)節(jié)點(diǎn)、采集數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)、監(jiān)控平臺(tái)中心控制節(jié)點(diǎn)、Node網(wǎng)絡(luò)服務(wù)信息采集節(jié)點(diǎn)。各組件主要功能描述如下:
1.監(jiān)控平臺(tái)中心控制節(jié)點(diǎn):是整個(gè)云監(jiān)控平臺(tái)的核心組成部分,用于監(jiān)控應(yīng)用系統(tǒng)服務(wù)器的物理性能,如磁盤使用空間、CPU利用率、內(nèi)存利用率等,同時(shí)承擔(dān)對(duì)檢測(cè)到的服務(wù)器物理狀態(tài)信息和收集到的由分布式Node網(wǎng)絡(luò)服務(wù)信息采集節(jié)點(diǎn)采集到的應(yīng)用服務(wù)狀態(tài)信息,進(jìn)行分析和統(tǒng)計(jì)和故障關(guān)聯(lián)處理,并進(jìn)行智能報(bào)警。
2.采集數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn):用于存儲(chǔ)云監(jiān)控平臺(tái)的系統(tǒng)配置信息、Node網(wǎng)絡(luò)服務(wù)信息采集節(jié)點(diǎn)所采集到的應(yīng)用服務(wù)狀態(tài)信息和應(yīng)用服務(wù)器的物理狀態(tài)信息。
3.云監(jiān)控平臺(tái)Web服務(wù)節(jié)點(diǎn):用戶與云監(jiān)控平臺(tái)之間數(shù)據(jù)交互的接口,主要是便于用戶進(jìn)行系統(tǒng)設(shè)置及用于監(jiān)控?cái)?shù)據(jù)的顯示,用戶可以使用智能手機(jī)、PC機(jī)等通過(guò)Web方式訪問(wèn)監(jiān)控平臺(tái),查看監(jiān)控結(jié)果。
4. Node網(wǎng)絡(luò)服務(wù)信息采集節(jié)點(diǎn):Node節(jié)點(diǎn)分布在不同的地區(qū)和網(wǎng)絡(luò)環(huán)境下,通過(guò)運(yùn)行網(wǎng)絡(luò)監(jiān)控程序?qū)崿F(xiàn)對(duì)遠(yuǎn)程網(wǎng)絡(luò)服務(wù)的被動(dòng)監(jiān)控,從而模擬不同地域用戶對(duì)網(wǎng)絡(luò)應(yīng)用服務(wù)地訪問(wèn)情況,反應(yīng)網(wǎng)絡(luò)服務(wù)的可靠性。Node節(jié)點(diǎn)主要是云監(jiān)控平臺(tái)的服務(wù)提供者在各地的虛擬機(jī)進(jìn)行搭建配置,負(fù)責(zé)采集網(wǎng)絡(luò)應(yīng)用的服務(wù)狀態(tài)信息。
云監(jiān)控平臺(tái)功能設(shè)計(jì)
圖2 云監(jiān)控平臺(tái)功能設(shè)計(jì)
基于網(wǎng)絡(luò)服務(wù)的云監(jiān)控平臺(tái)是一個(gè)具有可配置性、高可擴(kuò)展性、多租戶等性能的監(jiān)控系統(tǒng),主要可以對(duì)外提供SaaS云監(jiān)控服務(wù)。云監(jiān)控平臺(tái)按照系統(tǒng)顯示功能、系統(tǒng)處理功能和數(shù)據(jù)采集功能這三個(gè)層次來(lái)進(jìn)行系統(tǒng)功能的劃分,系統(tǒng)功能如圖2所示。
云監(jiān)控平臺(tái)提供的功能如下:
1.系統(tǒng)顯示功能:主要是與用戶進(jìn)行數(shù)據(jù)交互,提供可視化的信息查詢方式,從而使用戶可以通過(guò)Web方式查看網(wǎng)絡(luò)應(yīng)用服務(wù)和服務(wù)器主機(jī)的運(yùn)行狀態(tài),包括告警通知、控制項(xiàng)配置、用戶配置、性能圖表和系統(tǒng)配置。
2.系統(tǒng)處理功能:主要是對(duì)系統(tǒng)采集的數(shù)據(jù)進(jìn)行處理,包括智能報(bào)警管理、用戶自定義監(jiān)控管理、租戶和用戶組管理和數(shù)據(jù)管理。智能報(bào)警管理采用的閾值報(bào)警方式進(jìn)行故障報(bào)警,主要是通過(guò)對(duì)Node節(jié)點(diǎn)收集到的監(jiān)控?cái)?shù)據(jù)進(jìn)行處理,和監(jiān)控項(xiàng)設(shè)定的閾值進(jìn)行比較,從而在發(fā)生故障時(shí)及時(shí)生成報(bào)警信息,選擇報(bào)警方式向管理人員發(fā)送報(bào)警信息。用戶自定義監(jiān)控管理指租戶可以按照需求自定義監(jiān)控項(xiàng)并對(duì)監(jiān)控項(xiàng)進(jìn)行管理。
表1 三種存儲(chǔ)模式的比較
3.數(shù)據(jù)采集功能:主要是對(duì)網(wǎng)絡(luò)應(yīng)用服務(wù)和服務(wù)器主機(jī)的運(yùn)行狀態(tài)兩種監(jiān)控的數(shù)據(jù)采集,并把各個(gè)Node節(jié)點(diǎn)采集的數(shù)據(jù)存入數(shù)據(jù)庫(kù)。網(wǎng)絡(luò)服務(wù)監(jiān)控?cái)?shù)據(jù)主要是指通過(guò)分布在不同地區(qū)及網(wǎng)絡(luò)環(huán)境下的Node節(jié)點(diǎn)的試探性訪問(wèn)采集到的網(wǎng)絡(luò)應(yīng)用服務(wù)運(yùn)行狀態(tài)的數(shù)據(jù);主機(jī)監(jiān)控?cái)?shù)據(jù)主要是使用SNMP協(xié)議所獲取的被監(jiān)控服務(wù)器主機(jī)的數(shù)據(jù)。
數(shù)據(jù)存儲(chǔ)模式選擇
SaaS系統(tǒng)數(shù)據(jù)模型的設(shè)計(jì)主要考慮數(shù)據(jù)的隔離和共享之間的平衡關(guān)系??梢苑譃橐韵氯N數(shù)據(jù)模型:1.獨(dú)立數(shù)據(jù)庫(kù);2.共享數(shù)據(jù)庫(kù),單獨(dú)模式;3.共享數(shù)據(jù)庫(kù),共享模式。表1從隔離級(jí)別、共享級(jí)別、安全性和成本四個(gè)方面對(duì)三種數(shù)據(jù)模型進(jìn)行了對(duì)比。
綜合表1中三種數(shù)據(jù)模式的比較,由于本監(jiān)控平臺(tái)的成本有限,對(duì)數(shù)據(jù)的隔離要求不高,而共享級(jí)別要求比較高,并且能很好地體現(xiàn)SaaS基于共享實(shí)現(xiàn)個(gè)性化定制監(jiān)控服務(wù)的需求。所以,權(quán)衡比較,本監(jiān)控平臺(tái)采用共享數(shù)據(jù)庫(kù)、共享模式進(jìn)行數(shù)據(jù)存儲(chǔ)。
在云監(jiān)控平臺(tái)關(guān)鍵技術(shù)分析中,包括網(wǎng)絡(luò)服務(wù)故障關(guān)聯(lián)分析,監(jiān)控節(jié)點(diǎn)任務(wù)分配負(fù)載均衡,監(jiān)控節(jié)點(diǎn)分布式部署結(jié)構(gòu)優(yōu)化,故障告警模式分析,SaaS服務(wù)提供等關(guān)鍵問(wèn)題,這里我們僅對(duì)網(wǎng)絡(luò)服務(wù)故障關(guān)聯(lián)分析、監(jiān)控節(jié)點(diǎn)任務(wù)分配負(fù)載均衡和SaaS服務(wù)提供三個(gè)方面來(lái)分析,而監(jiān)控節(jié)點(diǎn)分布式部署環(huán)節(jié)采用根據(jù)物理?xiàng)l件人工部署的方式來(lái)部署Node網(wǎng)絡(luò)服務(wù)信息采集節(jié)點(diǎn)。
網(wǎng)絡(luò)服務(wù)故障關(guān)聯(lián)分析
故障關(guān)聯(lián)分析指根據(jù)網(wǎng)絡(luò)的連接關(guān)系、故障的上下文關(guān)系和網(wǎng)絡(luò)運(yùn)維人員的相關(guān)經(jīng)驗(yàn),制定出一定的規(guī)則,并由此產(chǎn)生一系列故障發(fā)生的真正原因的動(dòng)作。在本文設(shè)計(jì)的云監(jiān)控平臺(tái)中網(wǎng)絡(luò)服務(wù)故障關(guān)聯(lián)分析由監(jiān)控平臺(tái)中心控制節(jié)點(diǎn)承擔(dān),對(duì)實(shí)時(shí)自身采集的應(yīng)用服務(wù)器的狀態(tài)信息,和收集到的監(jiān)控節(jié)點(diǎn)發(fā)回的監(jiān)測(cè)到的應(yīng)用服務(wù)的狀態(tài)信息和網(wǎng)絡(luò)連通性信息進(jìn)行分析,根據(jù)事先定義的故障判定規(guī)則進(jìn)行判定,過(guò)濾無(wú)關(guān)的誤報(bào)信息,如果出現(xiàn)故障信息則及時(shí)反饋故障告警,同時(shí)通過(guò)自學(xué)習(xí)方法及時(shí)更新故障判定規(guī)則庫(kù)。
在本云監(jiān)控平臺(tái)中,采用分布式部署的監(jiān)控方案,從而實(shí)現(xiàn)多點(diǎn)跨地域、跨網(wǎng)絡(luò)對(duì)同一網(wǎng)絡(luò)服務(wù)狀態(tài)的監(jiān)控,真正反映應(yīng)用服務(wù)對(duì)外提供服務(wù)的整體可靠性。例如:同時(shí)存在5個(gè)跨地域、跨網(wǎng)絡(luò)的監(jiān)控節(jié)點(diǎn)對(duì)同一應(yīng)用服務(wù)的監(jiān)控,在理想情況下可實(shí)時(shí)監(jiān)控5個(gè)地域及5個(gè)網(wǎng)絡(luò)地區(qū)用戶對(duì)該網(wǎng)絡(luò)服務(wù)的訪問(wèn)情況。通過(guò)該云監(jiān)控平臺(tái)可提供網(wǎng)絡(luò)服務(wù)內(nèi)容提供商對(duì)服務(wù)整體可靠性的監(jiān)控,如出現(xiàn)除網(wǎng)絡(luò)服務(wù)及物理服務(wù)器自身的故障外的其他網(wǎng)絡(luò)故障時(shí),能及時(shí)通報(bào)相關(guān)網(wǎng)絡(luò)服務(wù)提供商,督促協(xié)調(diào)故障解決,確保應(yīng)用服務(wù)提供的可靠性。但是用戶對(duì)網(wǎng)絡(luò)服務(wù)的正常訪問(wèn)是基于網(wǎng)絡(luò)的正常連通的情況,一旦網(wǎng)絡(luò)出現(xiàn)問(wèn)題,往往導(dǎo)致監(jiān)控服務(wù)的誤報(bào)信息出現(xiàn),該情況下要求云監(jiān)控平臺(tái)能及時(shí)通過(guò)故障關(guān)聯(lián)分析模塊判定故障的真實(shí)原因,并及時(shí)告知用戶。
監(jiān)控節(jié)點(diǎn)對(duì)Web服務(wù)進(jìn)行監(jiān)控時(shí),如果監(jiān)控程序返回的respond code值是200,則說(shuō)明該應(yīng)用服務(wù)狀態(tài)正常并且該監(jiān)控節(jié)點(diǎn)所在地域所處網(wǎng)絡(luò)的服務(wù)訪問(wèn)正常。但是,監(jiān)測(cè)返回respond code值不是200,則并不能完全確定服務(wù)器或者網(wǎng)絡(luò)應(yīng)用服務(wù)出現(xiàn)故障,可能由于網(wǎng)絡(luò)原因?qū)е?,這時(shí)可通過(guò)故障關(guān)聯(lián)模塊進(jìn)行判定。
監(jiān)控節(jié)點(diǎn)任務(wù)分配負(fù)載均衡
監(jiān)控平臺(tái)中心控制節(jié)點(diǎn)采用心跳機(jī)制完成對(duì)分布式部署的監(jiān)控節(jié)點(diǎn)任務(wù)分配的負(fù)載均衡,當(dāng)任何監(jiān)控節(jié)點(diǎn)的資源利用率過(guò)高或出現(xiàn)故障時(shí),控制節(jié)點(diǎn)可通過(guò)自動(dòng)調(diào)節(jié)機(jī)制來(lái)調(diào)整監(jiān)控節(jié)點(diǎn)的監(jiān)測(cè)任務(wù)量,并作為故障告警及時(shí)告知云監(jiān)控平臺(tái)系統(tǒng)管理人員對(duì)物理監(jiān)控節(jié)點(diǎn)的硬件擴(kuò)充和調(diào)整。
基于云計(jì)算的SaaS服務(wù)模式選擇
云監(jiān)控平臺(tái)中云計(jì)算技術(shù)的應(yīng)用體現(xiàn)在兩個(gè)方面,一方面,對(duì)分布式部署的監(jiān)控節(jié)點(diǎn),采用虛擬機(jī)的方式,資源動(dòng)態(tài)規(guī)劃,根據(jù)用戶監(jiān)控的數(shù)量和任務(wù)多少動(dòng)態(tài)分配資源;另一方面,是SaaS服務(wù)模式的應(yīng)用,監(jiān)控節(jié)點(diǎn)統(tǒng)一運(yùn)行一套監(jiān)控程序,共享的數(shù)據(jù)存儲(chǔ),用戶根據(jù)各自的網(wǎng)絡(luò)應(yīng)用特點(diǎn)和監(jiān)控需求動(dòng)態(tài)申請(qǐng)監(jiān)控資源。平臺(tái)配置模塊只需簡(jiǎn)單的配置和劃分即可完成用戶的監(jiān)控需求。
本文通過(guò)介紹云監(jiān)控平臺(tái)架構(gòu)的設(shè)計(jì),分析了基于SaaS架構(gòu)平臺(tái)數(shù)據(jù)存儲(chǔ)方式的選擇,并重點(diǎn)對(duì)網(wǎng)絡(luò)服務(wù)故障關(guān)聯(lián)、監(jiān)控節(jié)點(diǎn)任務(wù)分配負(fù)載均衡、基于云計(jì)算的SaaS服務(wù)提供等關(guān)鍵問(wèn)題進(jìn)行了分析,充分說(shuō)明了云監(jiān)控平臺(tái)的多租戶、可配置和高可擴(kuò)展性特性能較好地適合數(shù)量增加、網(wǎng)絡(luò)環(huán)境復(fù)雜且網(wǎng)絡(luò)服務(wù)可靠性要求更高環(huán)境下應(yīng)用服務(wù)監(jiān)控的目標(biāo)。
(作者單位:1為鄭州大學(xué)信息網(wǎng)絡(luò)省重點(diǎn)學(xué)科開(kāi)放實(shí)驗(yàn)室,2為鄭州大學(xué)信息工程學(xué)院)
國(guó)家教育部高校博士點(diǎn)專項(xiàng)科研基金項(xiàng)目(20114101110007);河南省教育廳科學(xué)技術(shù)研究重點(diǎn)項(xiàng)目(13A520562)