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