可擴(kuò)展集成化云平臺(tái)監(jiān)控機(jī)制的設(shè)計(jì)論文
1引言
過去幾年,隨著云計(jì)算技術(shù)的不斷發(fā)展,對(duì)于云平臺(tái)監(jiān)控的需求越來越迫切.作為云計(jì)算數(shù)據(jù)中心的運(yùn)維人員,需要隨時(shí)關(guān)注服務(wù)器的性能指標(biāo),避免服務(wù)器性能降低甚至當(dāng)機(jī)的風(fēng)險(xiǎn).。通過云平臺(tái)資源的特點(diǎn),可以知道云平臺(tái)監(jiān)控的主要難點(diǎn)集中在被監(jiān)控的資源的多樣性、動(dòng)態(tài)性及規(guī)模巨大這幾個(gè)方面:
1)資源的多樣性—云平臺(tái)上的資源是多種多樣的,從操作系統(tǒng)上分,包括windows,linux,unix等不同的操作平臺(tái);從系統(tǒng)架構(gòu)上分,包括如cpu、內(nèi)存、硬盤等底層的硬件;還包括如mysql數(shù)據(jù)庫、apache等各種應(yīng)用程序和服務(wù).如何將這些復(fù)雜的資源進(jìn)行抽象分類,從而簡(jiǎn)化監(jiān)控任務(wù),是云平臺(tái)監(jiān)控的一個(gè)重大挑戰(zhàn).
2)資源的動(dòng)態(tài)性—云平臺(tái)上的資源不是固定不變的,云平臺(tái)的節(jié)點(diǎn)可以動(dòng)態(tài)的增加或減少,云平臺(tái)上的應(yīng)用及服務(wù)也可以動(dòng)態(tài)的安裝或卸載.如何讓云平臺(tái)監(jiān)控動(dòng)態(tài)適應(yīng)云平臺(tái)變化,是云平臺(tái)監(jiān)控一個(gè)重大挑戰(zhàn).
3)資源的規(guī)模巨大—云平臺(tái)往往包括成千上萬計(jì)算節(jié)點(diǎn),而每個(gè)節(jié)點(diǎn)上運(yùn)行著各種應(yīng)用軟件和服務(wù),造成云平臺(tái)資源規(guī)模巨大,這就給監(jiān)控系統(tǒng)帶來很大的負(fù)擔(dān),同時(shí)影響云平臺(tái)的性能.如何提供一種對(duì)云平臺(tái)影響較小,且監(jiān)控效率較高的系統(tǒng),是云平臺(tái)監(jiān)控的一個(gè)重大挑戰(zhàn).單一的監(jiān)控軟件往往無法滿足云平臺(tái)被監(jiān)控資源的動(dòng)態(tài)性、多樣性以及資源規(guī)模巨大的需求.為全面監(jiān)控云平臺(tái)資源,往往需要安裝多種監(jiān)控軟件,在查詢時(shí)需頻繁切換不同軟件,不利于實(shí)時(shí)監(jiān)控,同時(shí)增加了運(yùn)維人員的工作量.文獻(xiàn)[2]提出一種基于Ganglia與MDS結(jié)合的網(wǎng)格監(jiān)控體系研究,但該體系不具備可擴(kuò)展接口,當(dāng)現(xiàn)有軟件需要升級(jí)或需要增加新的監(jiān)控軟件時(shí),只能通過手工修改代碼來完成.針對(duì)上述問題,提出一種可擴(kuò)展集成化云平臺(tái)監(jiān)控機(jī)制,可以靈活集成多種監(jiān)控軟件,以滿足對(duì)云平臺(tái)資源的監(jiān)控需求,并有效減輕運(yùn)維人員的工作壓力,提高工作效率.
2相關(guān)工作
隨著云平臺(tái)的發(fā)展,人們?cè)絹碓疥P(guān)注云平臺(tái)上資源的運(yùn)行和使用情況,以滿足云平臺(tái)監(jiān)控使用者及時(shí)掌握云平臺(tái)的運(yùn)行狀態(tài),因此,對(duì)云平臺(tái)監(jiān)控的研究也逐漸發(fā)展起來.下面從學(xué)術(shù)界和工業(yè)界兩方面討論云平臺(tái)監(jiān)控的相關(guān)工作.學(xué)術(shù)研究方面,在云計(jì)算技術(shù)發(fā)展之前,集群技術(shù)以其高性價(jià)比、易于擴(kuò)充與易于裁減等諸多優(yōu)點(diǎn)已經(jīng)成為高性能計(jì)算常見的解決方案,對(duì)集群監(jiān)控的研究也逐漸受到研究人員的重視.隨后對(duì)網(wǎng)格計(jì)算的研究,研究人員針對(duì)于網(wǎng)格環(huán)境中的監(jiān)控問題做了大量的研究工作,.集成化云平臺(tái)監(jiān)控機(jī)制針對(duì)在云平臺(tái)監(jiān)控中遇到的被監(jiān)控的資源的動(dòng)態(tài)性、多樣性及規(guī)模巨大等難題,提出了一種可擴(kuò)展集成化云平臺(tái)監(jiān)控機(jī)制,下面將從監(jiān)控系統(tǒng)框架、監(jiān)控模型和監(jiān)控軟件集成方法三個(gè)方面進(jìn)行介紹.
3監(jiān)控系統(tǒng)框架
我們提出一種可擴(kuò)展集成化云平臺(tái)監(jiān)控體制,可以在云平臺(tái)監(jiān)控系統(tǒng)的底層動(dòng)態(tài)的增加監(jiān)控軟件,以適應(yīng)云平臺(tái)資源的多樣性和動(dòng)態(tài)性的特點(diǎn),這些操作對(duì)于使用者來說是透明的.圖1是監(jiān)控系統(tǒng)框架圖,將從云平臺(tái)資源、監(jiān)控?cái)?shù)據(jù)的提取及存儲(chǔ)、監(jiān)控服務(wù)這三個(gè)方面介紹系統(tǒng)的框架.
3.1.1云平臺(tái)資源根據(jù)云平臺(tái)資源的特點(diǎn),可以知道云平臺(tái)被監(jiān)控節(jié)點(diǎn)具有多樣性,根據(jù)不同的劃分方法對(duì)被監(jiān)控節(jié)點(diǎn)進(jìn)行分類,具體分類如下:
1)操作系統(tǒng)不同—根據(jù)操作系統(tǒng)的不同分類可以將監(jiān)控節(jié)點(diǎn)分為window系統(tǒng)監(jiān)控節(jié)點(diǎn)和類linux系統(tǒng)監(jiān)控節(jié)點(diǎn).2)應(yīng)用和服務(wù)不同—由于被監(jiān)控節(jié)點(diǎn)上運(yùn)行著不同的應(yīng)用程序及服務(wù),如對(duì)mysql數(shù)據(jù)庫、apache等應(yīng)用服務(wù)以及hadoop分布式框架進(jìn)行監(jiān)控,不同的監(jiān)控軟件對(duì)于服務(wù)和程序的支持不同.
3.1.2監(jiān)控?cái)?shù)據(jù)的提取及存儲(chǔ)首先對(duì)監(jiān)控?cái)?shù)據(jù)的完整性進(jìn)行定義:監(jiān)控?cái)?shù)據(jù)的完整性是指對(duì)監(jiān)控軟件的數(shù)據(jù)進(jìn)行即時(shí)保存,并保證對(duì)所有的監(jiān)控?cái)?shù)據(jù)進(jìn)行準(zhǔn)確保存,而不淘汰任何老數(shù)據(jù).一般情況下,監(jiān)控軟件會(huì)將監(jiān)控?cái)?shù)據(jù)存放在監(jiān)控服務(wù)端的RRD數(shù)據(jù)庫中,RRD數(shù)據(jù)庫最大的特點(diǎn)是以循環(huán)格式來存儲(chǔ)數(shù)據(jù),在持續(xù)插入新數(shù)據(jù)的過程中不斷淘汰老數(shù)據(jù),因此RRD文件大小保持在一定的范圍內(nèi).這樣不利于監(jiān)控?cái)?shù)據(jù)的完整保存,所以需要采用一定的方法將監(jiān)控?cái)?shù)據(jù)存儲(chǔ)到可保證數(shù)據(jù)完整性的數(shù)據(jù)庫(如mysql,mongodb等)中,并進(jìn)行持久存儲(chǔ).
1)讀取特定端口取數(shù)據(jù)—被監(jiān)控的節(jié)點(diǎn)將監(jiān)控?cái)?shù)據(jù)通過特定的端口傳輸?shù)椒⻊?wù)節(jié)點(diǎn),按照一定的時(shí)間間隔去讀該端口并獲取xml數(shù)據(jù),然后利用解析工具取得監(jiān)控?cái)?shù)據(jù),最終存入可保證數(shù)據(jù)完整性的數(shù)據(jù)庫.2)通過腳本轉(zhuǎn)存數(shù)據(jù)—對(duì)于不易通過端口獲取數(shù)據(jù)的監(jiān)控軟件,則需要通過執(zhí)行python或shell腳本將監(jiān)控?cái)?shù)據(jù)從RRD數(shù)據(jù)庫轉(zhuǎn)存到可保證數(shù)據(jù)完整性的數(shù)據(jù)庫中,相比于上一種方法,這種轉(zhuǎn)存方式效率較低,實(shí)時(shí)性較差.
3.1.3監(jiān)控服務(wù)在介紹監(jiān)控服務(wù)之前首先要明確監(jiān)控服務(wù)的使用者,使用者定義如下:
監(jiān)控服務(wù)的使用者主要包括運(yùn)維人員以及最終使用者.運(yùn)維人員是需持續(xù)關(guān)注云平臺(tái)資源的使用情況,并根據(jù)監(jiān)控?cái)?shù)據(jù)進(jìn)行作業(yè)調(diào)度,任務(wù)遷移等操作的相關(guān)人員,另外運(yùn)維人員還負(fù)責(zé)添加監(jiān)控軟件,并進(jìn)行相應(yīng)配置.最終使用者是指需要查看云平臺(tái)資源的狀態(tài),以及需要關(guān)注特定資源使用情況的相關(guān)人員.基于監(jiān)控?cái)?shù)據(jù)完整性保存模塊,云平臺(tái)監(jiān)控系統(tǒng)提供了配置引擎、查詢引擎、統(tǒng)計(jì)引擎和報(bào)警引擎四種功能引擎,并向上提供相應(yīng)的功能接口.1)配置引擎:當(dāng)現(xiàn)有的監(jiān)控系統(tǒng)無法滿足著云平臺(tái)資源的監(jiān)控需求時(shí),則可部署新的滿足條件的監(jiān)控軟件,并通過配置引擎建立或修改監(jiān)控軟件指標(biāo)集與監(jiān)控類屬性集間的映射關(guān)系.2)查詢引擎:系統(tǒng)默認(rèn)向用戶提供給定時(shí)間段的查詢;另外系統(tǒng)還提供用戶自己定義時(shí)間段,監(jiān)控系統(tǒng)通過一定的算法實(shí)現(xiàn)在這個(gè)時(shí)間段內(nèi)的監(jiān)控狀態(tài)查詢.3)統(tǒng)計(jì)引擎:系統(tǒng)向用戶提供了監(jiān)控集群以及自定義子監(jiān)控集群整體負(fù)載的統(tǒng)計(jì).4)報(bào)警引擎:系統(tǒng)向用戶提供系統(tǒng)設(shè)定閾值的報(bào)警,也提供用戶自定義指標(biāo)的監(jiān)控報(bào)警.
3.2監(jiān)控模型
定義1.監(jiān)控模型.可擴(kuò)展集成化的云平臺(tái)監(jiān)控模型可以定義為一個(gè)三元組:MM=(MC,MS,MR),其中:1)MC表示監(jiān)控類,監(jiān)控類可定義為一個(gè)二元組:MC=(ON,OP),其中:(a)ON表示監(jiān)控類的名稱(b)OP表示監(jiān)控類的屬性集2)MS表示監(jiān)控軟件,監(jiān)控軟件可定義為一個(gè)二元組:MS=(SN,SV),其中:(a)SN表示監(jiān)控軟件的名稱(b)SV表示軟件監(jiān)控的指標(biāo)集3)MR表示映射關(guān)系,定義如下:
設(shè)mc是集合MC中一個(gè)監(jiān)控類,對(duì)于衟1∈mc.OP,鰉s∈MS,鰒∈ms.SV,鰉r∈MR,滿足mr(p1)=v,且對(duì)于衟2∈mc.OP,p1≠p2,滿足mr(p2)≠v.定義2.監(jiān)控對(duì)象MO=(ON,OP,OV,OT,MN),其中:
(a)ON表示監(jiān)控類的名稱(b)OP表示監(jiān)控類的屬性集(c)OV表示監(jiān)控對(duì)象的屬性值(d)MT表示取得監(jiān)控?cái)?shù)據(jù)的時(shí)間(e)MN表示監(jiān)控?cái)?shù)據(jù)屬于哪個(gè)節(jié)點(diǎn)定義3.監(jiān)控類實(shí)例化.設(shè)mc為集合MC中一個(gè)監(jiān)控類,mo為集合MO中一個(gè)監(jiān)控對(duì)象,對(duì)于衟1∈mc.OP,鰌2∈mo.OP,且p1=p2,對(duì)于衟3∈mo.OP,鰌4∈mc.OP,且p3=p4,則可稱mo是mc的實(shí)例化,記為mo≤mmc.定理1.如果某個(gè)監(jiān)控類的屬性與某監(jiān)控軟件的指標(biāo)之間存在映射關(guān)系,且一個(gè)監(jiān)控對(duì)象是這個(gè)監(jiān)控類的實(shí)例化,則這個(gè)監(jiān)控對(duì)象的屬性與該監(jiān)控軟件的指標(biāo)之間存在映射關(guān)系.證明:設(shè)mc為集合MC中一個(gè)監(jiān)控類,mo為集合MO中一個(gè)監(jiān)控對(duì)象,根據(jù)定義3,mo≤mmc,對(duì)于衟1∈mo.OP,鰌2∈mc.OP,則p1=p2,又根據(jù)定義1,鰒∈ms.SV,鰉s∈MS,滿足mr(p2)=v,所以mr(p1)=v;又根據(jù)定義3,衟3∈mo.OP,且p1≠p3,鰌4∈mc.OP,則p3=p4,p1≠p4,p2≠p4.根據(jù)定義1,mr(p4)≠v,所以mr(p3)≠v.通過定義抽象的'監(jiān)控類以及監(jiān)控類和監(jiān)控對(duì)象之間的實(shí)例化關(guān)系,使運(yùn)維人員只需對(duì)監(jiān)控類屬性和監(jiān)控軟件指標(biāo)之間的映射關(guān)系進(jìn)行配置,不需要配置每個(gè)監(jiān)控對(duì)象屬性與監(jiān)控軟件指標(biāo)之間的映射關(guān)系.定義了監(jiān)控類實(shí)例化后,可以根據(jù)實(shí)例化關(guān)系自動(dòng)生成監(jiān)控對(duì)象與監(jiān)控軟件之間的映射關(guān)系,大大減少了運(yùn)維人員的工作量,也保證了映射關(guān)系的準(zhǔn)確性.
3.3監(jiān)控軟件集成方法
對(duì)于云平臺(tái)來說,決不能假設(shè)它是一成不變的,對(duì)于云平臺(tái)資源的動(dòng)態(tài)變化或資源出現(xiàn)故障的情況,需要云平臺(tái)能及時(shí)采取措施,做到對(duì)高層用戶透明或者盡可能減少用戶的損失.當(dāng)現(xiàn)有的監(jiān)控系統(tǒng)無法滿足云平臺(tái)資源的動(dòng)態(tài)增加而產(chǎn)生有些監(jiān)控指標(biāo)監(jiān)控不到的時(shí)候,則需要考慮集成新的監(jiān)控軟件,結(jié)合使用多種監(jiān)控軟件對(duì)云平臺(tái)資源進(jìn)行監(jiān)控.添加新的監(jiān)控軟件時(shí),首先將要增加的軟件注冊(cè)并部署到云平臺(tái),在軟件集合MS中增加ms.通過配置引擎建立或修改監(jiān)控類屬性集OP與ms指標(biāo)集SV間的映射關(guān)系mr.對(duì)于原監(jiān)控軟件監(jiān)控不到,而新增加的軟件可提供的指標(biāo)項(xiàng),直接增加新的軟件的指標(biāo)項(xiàng);對(duì)于原軟件與新軟件都可提供的指標(biāo)項(xiàng),可以從監(jiān)控?cái)?shù)據(jù)的實(shí)時(shí)性和準(zhǔn)確性等角度綜合考慮是否要調(diào)整原有的映射關(guān)系.映射關(guān)系確定后,可推導(dǎo)得到監(jiān)控對(duì)象的屬性與監(jiān)控軟件指標(biāo)集里的元素形成的一對(duì)一映射關(guān)系.監(jiān)控?cái)?shù)據(jù)提取模塊將根據(jù)新的映射關(guān)系提取監(jiān)控?cái)?shù)據(jù),完成監(jiān)控軟件的集成.監(jiān)控?cái)?shù)據(jù)存放在保證監(jiān)控?cái)?shù)據(jù)完整性的存儲(chǔ)模塊,用來向上層提供業(yè)務(wù)服務(wù).
通過上述對(duì)集成化的云平臺(tái)監(jiān)控機(jī)制的論述可表明,該機(jī)制的創(chuàng)新性主要體現(xiàn)在可以靈活的增加、刪除多種監(jiān)控軟件,運(yùn)維人員只需對(duì)監(jiān)控類屬性和監(jiān)控軟件指標(biāo)之間的映射關(guān)系進(jìn)行配置,繼而根據(jù)監(jiān)控對(duì)象的實(shí)例化關(guān)系自動(dòng)生成監(jiān)控對(duì)象與監(jiān)控軟件之間的映射關(guān)系,提高了監(jiān)控軟件接入效率,也保證了映射關(guān)系的準(zhǔn)確性.該機(jī)制還可將監(jiān)控?cái)?shù)據(jù)提取到可保證數(shù)據(jù)完整性的數(shù)據(jù)庫中進(jìn)行持久存儲(chǔ),以及封裝成相應(yīng)的接口,以方便運(yùn)維人員更好的對(duì)云平臺(tái)進(jìn)行監(jiān)控管理.
4實(shí)驗(yàn)及分析
4.1實(shí)驗(yàn)環(huán)境設(shè)置
為了驗(yàn)證這種可擴(kuò)展集成化的云平臺(tái)監(jiān)控機(jī)制是否適應(yīng)云平臺(tái)的資源的多樣性、動(dòng)態(tài)性及規(guī)模巨大的特點(diǎn),我們搭建了一個(gè)云平臺(tái)監(jiān)控實(shí)驗(yàn)系統(tǒng).該實(shí)驗(yàn)選擇4臺(tái)服務(wù)器組成小型集群,其中一臺(tái)win-dowsserver08的服務(wù)器,三臺(tái)centos5.7的服務(wù)器,軟件采用Ganglia-3.1.7,Cacti-0.8.8a.硬件環(huán)境均為2G內(nèi)存,20G硬盤.一臺(tái)centos的服務(wù)器作為監(jiān)控頭結(jié)點(diǎn),剩余三臺(tái)服務(wù)器作為實(shí)驗(yàn)系統(tǒng)的代理節(jié)點(diǎn).通過數(shù)據(jù)完整性提取方法將監(jiān)控?cái)?shù)據(jù)存到mysql數(shù)據(jù)庫中,并向使用者提供業(yè)務(wù)服務(wù),實(shí)驗(yàn)系統(tǒng)物理部署如圖3所示,其中.1)代理節(jié)點(diǎn)a:windows服務(wù)器,開啟了snmp服務(wù).2)代理節(jié)點(diǎn)b:Linux服務(wù)器,開啟了snmp服務(wù),且部署了hadoop分布式框架.3)代理節(jié)點(diǎn)c:Linux服務(wù)器,開啟了snmp服務(wù),且安裝了mysql數(shù)據(jù)庫服務(wù).
4.2實(shí)驗(yàn)結(jié)果與分析
實(shí)驗(yàn)環(huán)境配置完成后,需要代理節(jié)點(diǎn)b上的hadoop框架進(jìn)行監(jiān)控,而Cacti對(duì)hadoop的指標(biāo)監(jiān)控不完整,所以需要集成Ganglia這款新的監(jiān)控軟件,通過實(shí)驗(yàn)系統(tǒng)提供的配置引擎,并遵循監(jiān)控軟件的集成方法,將Ganglia集成到實(shí)驗(yàn)系統(tǒng)并進(jìn)行實(shí)驗(yàn).對(duì)Ganglia和Cacti共同監(jiān)控的節(jié)點(diǎn)b進(jìn)行實(shí)驗(yàn),每隔5分鐘記錄一次數(shù)據(jù),并于實(shí)驗(yàn)開始15分鐘后執(zhí)行計(jì)算任務(wù)以增加負(fù)載和內(nèi)存使用,35分鐘后結(jié)束任務(wù),50分鐘后結(jié)束實(shí)驗(yàn).其中,系統(tǒng)真實(shí)值是調(diào)用linux的系統(tǒng)命令uptime、free得到的.圖4,圖5和圖6是從監(jiān)控的實(shí)時(shí)性,準(zhǔn)確性方面進(jìn)行對(duì)比的.圖4和圖5中的縱坐標(biāo)表示1分鐘和15分鐘的平均負(fù)載,單位是個(gè).圖6中的縱坐標(biāo)是空閑內(nèi)存的容量,單位是KB.從實(shí)驗(yàn)結(jié)果可以看出,云平臺(tái)監(jiān)控系統(tǒng)的監(jiān)控?cái)?shù)值與系統(tǒng)真實(shí)值更為接近,說明云平臺(tái)監(jiān)控系統(tǒng)的實(shí)時(shí)性和準(zhǔn)確性較高.同時(shí),我們還對(duì)監(jiān)控指標(biāo)的完整性進(jìn)行了比較,在監(jiān)控指標(biāo)的完整性方面,云平臺(tái)監(jiān)控系統(tǒng)比Ganglia、Cacti單獨(dú)監(jiān)控的指標(biāo)更完整,從而保證了監(jiān)控指標(biāo)的完整性.通過以上的比較,可以發(fā)現(xiàn)搭建的云平臺(tái)監(jiān)控實(shí)驗(yàn)系統(tǒng)在實(shí)時(shí)性、準(zhǔn)確性及監(jiān)控指標(biāo)完整性方面要優(yōu)于Ganglia或Cacti單獨(dú)監(jiān)控,該云平臺(tái)監(jiān)控系統(tǒng)可以在一定程度上適應(yīng)云平臺(tái)資源規(guī)模巨大,動(dòng)態(tài)性和多樣性方面的特點(diǎn).
5結(jié)語
提出一種可擴(kuò)展集成化的云平臺(tái)監(jiān)控機(jī)制,確定了添加新監(jiān)控軟件的流程,并定義了兩種監(jiān)控?cái)?shù)據(jù)完整性提取和存儲(chǔ)方法.根據(jù)這種機(jī)制搭建了集成Ganglia和Cacti的云平臺(tái)監(jiān)控實(shí)驗(yàn)系統(tǒng),實(shí)驗(yàn)表明,該系統(tǒng)具有良好的可擴(kuò)展性,滿足對(duì)云平臺(tái)動(dòng)態(tài)變化資源的監(jiān)控,可以有效減輕運(yùn)維人員的工作壓力,提高工作效率.同時(shí)也驗(yàn)證了該機(jī)制可以適應(yīng)云平臺(tái)表現(xiàn)出的特點(diǎn),是解決云平臺(tái)監(jiān)控難題的一種有效途徑.
【可擴(kuò)展集成化云平臺(tái)監(jiān)控機(jī)制的設(shè)計(jì)論文】相關(guān)文章:
云計(jì)算網(wǎng)絡(luò)教學(xué)平臺(tái)設(shè)計(jì)與實(shí)現(xiàn)論文08-01
基于可擴(kuò)展的網(wǎng)頁關(guān)鍵信息抽取研究論文10-30
云平臺(tái)下基于包裝設(shè)計(jì)的軟件開發(fā)研究論文10-29
基于云服務(wù)的工業(yè)設(shè)計(jì)科技資源共享平臺(tái)論文11-05
電網(wǎng)營銷運(yùn)營監(jiān)控平臺(tái)數(shù)據(jù)架構(gòu)發(fā)展論文11-08
淺析基于云計(jì)算的智能計(jì)量平臺(tái)研發(fā)的論文05-28
論文:短信平臺(tái)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)06-24