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