程志華 楊孝果 付 雄
1(國家電網公司信息通信部 北京 100031)2(南京郵電大學計算機學院 江蘇 南京 210023)
面向大規模云數據中心的輕量級監控研究
程志華1楊孝果2付 雄2
1(國家電網公司信息通信部 北京 100031)2(南京郵電大學計算機學院 江蘇 南京 210023)
在云數據中心中,隨著虛擬化技術的廣泛應用,對虛擬機和物理機的同時監控使得監控系統面臨著負載大、開銷大等問題,傳統的監控系統很難滿足需要。設計出一種輕量級狀態監控方案,該方案結合實時監控與狀態監控,對實時性要求不高的監控對象使用狀態監控。經實驗證明該監控方案能夠適用于云數據中心,并能較好地降低監控系統帶來的網絡負載。
云計算 云數據中心 輕量級 狀態監控
數據中心是信息系統的核心,主要功能是通過網絡向用戶提供基礎設施服務[1]。數據中心在經歷了數據存儲中心、數據處理中心和信息中心三個階段后,伴隨著云計算和虛擬化技術的運用,數據中心逐漸發展成為云數據中心[2]。
云數據中心的正常運行離不開監控。監控是維護云數據中心良好運行狀態的基礎,同時也是云數據中心實現其他功能必不可少的保障。通過監控云數據中心獲取資源使用數據,是云數據中心實現資源分配、任務調度和負載均衡等功能的基礎。監控云數據中心可以幫助管理員跟蹤資源運行狀態,及時發現和解決資源故障,實現資源預警和報警,維持系統的平穩運行[3]。因此,研究云數據中心的監控,對解決云數據中心的資源管理有著極其重要的意義。
當前,云數據中心的監控并沒有形成統一的解決方案。現有的解決方案多為集群監控系統或是針對某些特定監控對象的監控系統。集群監控系統的監控數據一般用于故障處理和性能分析等工作,具有代表性的集群監控軟件如Ganglia[4];針對某些特定監控對象的監控系統在某些監控對象上具有較好的監控效果,但它們的可擴展性較差,并不能適應云數據中心在規模上的飛速發展。此外,云數據中心大量使用虛擬化技術,只能達到物理機級別的監控粒度,顯然不能滿足云數據中心對于監控系統的要求,為了讓監控系統具有更高的實用價值,云數據中心的監控粒度必須細化到虛擬機級別[5]。
當監控粒度達到虛擬機級別時,數量巨大的虛擬機產生的監控數據更加龐大。每個監控節點將監控到的數據不加鑒別地傳輸給位于其上層的集群管理節點進行分析、存儲時,必然會造成極大的網絡負載。在滿足監控需求的前提下,如何降低監控系統產生的網絡負載也是必須考慮的問題[6-7]。
基于以上分析,本文提出了面向大規模云數據中心的監控方案。它是一種云數據中心的輕量級監控方案,具有較好的可擴展性。在該監控方案的基礎上,考慮到監控系統對云數據中心產生的巨大網絡負載,提出結合實時監控與狀態監控相結合的監控方法,并且提出狀態監控的優化策略,有效降低狀態監控的網絡負載。
1.1 監控對象
監控對象是指監控系統以直接或間接方式獲取運行數據的對象。云數據中心的監控對象繁雜,從不同角度出發,可以將監控對象劃分為不同類型。從實體存在形式劃分,監控對象可劃分為物理形式和虛擬形式;從資源類型劃分,監控對象可劃分為計算資源、存儲資源、網絡資源等。
伴隨著云數據中心規模的不斷擴大和結構的日益復雜,對云數據中心監控的難度也不斷加大,監控對象分布到云數據中心的各個層面。云數據中心的監控系統應當能夠直接采集到物理機和虛擬機的包括CPU和內存在內的計算資源、網絡資源、存儲資源等的使用情況。
1.2 監控方式
監控方式是指監控系統對監控數據進行數據同步的方式,主要分為實時監控和狀態監控兩種。
實時監控是一種對監控數據進行實時同步的監控方式。對監控對象采用這種監控方式,用戶能夠獲取監控對象的實時運行數據,數據處理與分析模塊可以對獲得的數據進行處理、分析。
進行實時監控獲取的監控數據通常會傳輸到監控節點之外的節點進行存儲。因此,實時監控雖然能夠及時獲取到詳細的監控數據,但是由于監控數據需要同步傳輸,對網絡資源的消耗會隨著監控對象規模的增大而急速增長。
狀態監控是一種只顯示監控對象是否“健康”的監控方式。該監控方式下,數據采集模塊在采集到數據后,只有該數據超越預定的閾值時,才會有所行動,否則只進行本地存儲。這一監控方式適用于對監控數據實時性要求不高的監控對象。
進行狀態監控時,首先對監控對象設定一個危險報警的閾值,監控數據與該閾值進行簡單比對后進行本地存儲。當監控數據處于安全范圍內,監控系統靜默,一旦監控數據超出預定的閾值,即出現本地局部越界,監控節點向集群管理節點發出本地越界報告。集群管理節點收到局部越界報告后發起全局輪詢,確定集群內該監控對象的狀態值是否發生整體越界。若發生整體越界則發出報警,否則監控系統繼續監控。
簡單的狀態監控可以采用即時報告與輪詢策略。它是指監控對象的報告和集群管理節點的全局輪詢采用即時進行的方式,即監控對象發現本地越界時立即向集群管理節點報告、集群管理節點收到報告后立即發起全局輪詢。
進行狀態監控時,監控數據采集端可以對本地監控數據進行簡單的比對處理,只有在有需要時將監控數據對外傳輸,大大地降低監控系統對整個云數據中心系統的網絡負載。
1.3 監控架構
一個完整的監控系統主要分為數據采集、數據存儲、數據處理、數據展現四大部分。圖1是本文提出的監控方案的框架體系。

圖1 監控系統框架體系
圖1中實線框分別表示監控系統的三個主要角色——監控節點、集群管理節點和獨立于所有集群之外的監控前端。監控節點在采集到監控數據后對監控數據進行分發。集群管理節點獲得監控節點發送的數據后可以存儲在本地數據庫,便于后期分析處理。監控前端獨立于所有的集群,可以隨時查詢任意集群上任意監控對象的當前運行狀態,并根據需要調整監控系統。
圖1中虛線框分別表示監控系統的數據采集、數據存儲、數據處理和數據展現功能。數據采集功能主要位于在監控節點,用于對監控節點的虛擬機和物理機的運行狀態進行數據采集。以往的數據存儲一般采用監控節點本地存儲或集群管理節點集中式存儲兩種方式。前者可以減少監控數據的傳輸,但在監控節點對監控數據的分析處理時會使得監控節點的計算負載增大;后者需要將所有監控數據不加鑒別的傳輸,雖然該方法在后期的數據分析時不會對監控節點造成計算負載,但是隨著監控規模的增大和監控粒度的細化,監控數據不斷擴大,會造成嚴重的網絡負載。
本文提出的監控架構將數據進行兩地存儲:進行狀態監控的監控數據和不需要進行集群相關性分析的監控數據存儲在監控節點;進行實時監控和需要進行集群相關性分析的監控數據傳送到集群管理節點(或其他的統一節點,圖中省略)進行存儲,便于及時進行數據分析和查詢。
進行狀態監控時,網絡波動等原因造成的瞬時狀態越界和突發值十分常見[8-10],局部閾值設置不合理也會造成某些節點多次發出不必要的局部越界報告。云數據中心的監控規模較大時,每一次的全局輪詢都會造成較大的網絡負載,所以,在保證正確率的前提下,減少局部越界報告次數和全局輪詢次數顯得十分重要。
基于以上分析,本文提出了狀態監控的優化策略,它能在一定程度上減少短時局部越界和長時微弱越界產生的不必要的局部越界報告和全局輪詢。該優化策略分為越界抑制算法和輪詢抑制算法兩個部分。越界抑制算法運行于監控節點,其作用是抑制瞬時劇烈越界和較長時間的微弱越界,并在必要時向集群管理節點發送局部越界報告信息;輪詢抑制算法運行于集群管理節點,其作用是在接收到監控節點發送的局部越界報告信息時,能夠根據自身對整個集群的預測,判斷是否需要發起全局輪詢。
越界抑制算法步驟如下:
輸入 集群內監控對象的整體閾值T,監控對象的可容忍累計越界量Hi,越界報告權值系數w。
輸出 判斷是否需要向集群管理節點發送局部越界報告信息。
1. 根據T設定每個監控節點上該監控對象的局部閾值Ti,本地越界累計值Si(t)=0;

3. 若:Si(t)在達到Hi前,監控值mi已經恢復到本地閾值范圍內(mi≤Ti),則本次越界累計結束,本地越界累計值Si置為0;




輪詢抑制算法步驟如下:
輸入 最近全局輪詢的監控值之和M。
輸出 判斷是否需要發起全局輪詢。


3. 集群管理節點在時間點tx收到監控節點發送的時間跨度Δt和越界強度Li,修改時間區間(tx-Δt,tx]內的全局越界強度L(t):L(t)=L(t)+Li,t∈(t0-Δt,t0];


6. 若:輪詢后確定發生全局越界,觸發報警。
在越界抑制算法的步驟1中,可以選用不同的分配算法對整體閾值T進行分配,從而使監控節點的局部閾值Ti更好地符合當前狀態;在輪詢抑制算法的步驟2和步驟5中,可以使用不同的預測算法對監控對象的全局空閑值進行預測。根據用戶需求不同,可以定制更加符合系統模型的分配算法和預測算法,充分體現出本文的越界抑制算法和輪詢抑制算法具有較好的可擴展性。

按照即時狀態監控報告方案,任意一臺虛擬機的本地下載速度超過本地閾值時,都會向集群管理節點發送局部越界報告,若集群管理節點同樣采用即時輪詢方法,那么在任意時間點,一旦集群管理節點接收到監控節點的狀態越界報告,就立即發出全局輪詢,根據輪詢結果確定是否需要發出報警信息。
為了提高數據樣本的準確性,在本次實驗中,設定監控系統的數據采集頻率為每秒一次。實驗中,共有10 007次本地狀態越界,由于存在某時刻多節點同時發生本地狀態越界,而集群管理節點在同一時刻接收到多個本地越界報告時只需要進行一次全局輪詢,因此,在本次實驗中,全局輪詢發生次數共計8 492次。

圖2 本地越界報告量與Hi關系
從本文提出的優化方案可知,監控節點的越界報告量與可容忍累積越界量Hi有關,而輪詢量則與可容忍累積越界量Hi、權值提升系數w和預測因子a有關。
如圖2是本地越界報告量與可容忍累積越界量Hi的關系圖。從圖中可以看出,隨著可容忍累積越界量Hi的增大,越界報告量不斷降低。相比于即時報告方法,Hi為200、400、600、800和1 000時,越界報告量分別降低27.82%、61.26%、70.28%、76.59%和82.05%。
如圖3是權值提升系數w=1.1、預測因子a=0.5時,全局輪詢量與可容忍累積越界量Hi的關系圖。從圖中可以看出,隨著Hi的增大,輪詢量不斷降低。相比于即時輪詢,Hi為200、400、600、800和1 000時,越界報告量分別降低了18.13%、55.90%、65.85%、73.15%和78.31%。

圖3 w=1.1、a=0.5輪詢量與Hi關系
顯然,優化方案與即時方案相比,很好地降低了局部狀態越界報告和全局輪詢的數量。具有較好的優化效果。
除了可容忍累積越界量Hi,優化方案的輪詢量還與越界提升系數w和預測因子a有關。圖4和圖5分別反映了不同的w和a對輪詢量的影響。從圖中可以看出,較小的w和較大的a對輪詢量的影響相對較大,但差別十分微弱。

圖4 越界提升系數w對輪詢量的影響

圖5 預測因子a對輪詢量的影響
不同重要性的監控對象可以設置不同的延遲輪詢級別,對于整個系統安全性、健壯性影響較高的監控對象,可以將其延遲輪詢時間設置為0,表示在系統出現整體越界真正需要發起全局輪詢的時候,監控系統能夠無延遲發起輪詢;類似地,對于重要級別較低的監控對象,如果可以容忍短暫的輪詢延遲,則將延遲輪詢時間設置為可以接受的值,表示在系統出現整體越界需要發起全局輪詢時,監控系統能夠在預先設置的延遲值范圍內發起全局輪詢。
圖6顯示的是本次實驗中,各個延遲級別下,發起全局輪詢的命中率與可容忍累計越界量的關系。從圖中可以看出,命中率隨著可容忍累計越界量的增大呈現下降趨勢,并且延遲級別越高(最高為0延遲),命中率下降的越快。

圖6 各延遲長度命中率變化趨勢
圖7表示的是在保證95%命中率的前提下,即時方案和不同延遲的優化方案在本地越界報告量的累計趨勢變化對比圖(局部)。同時,為了驗證優化方案的效果,還和文獻[10]中提出的向量自回歸VAR(Vector Auto Regression)預測方法引入延遲思想后進行了比較。

圖7 不同方案的本地越界報告量累計趨勢圖(局部)
從圖7中可以看出,本文提出的優化方案能夠很好地降低因本地狀態越界而產生的局部越界報告。在保證95%命中率的前提下,圖中時間軸為2.0 h時,相比于即時報告方案,本文提出的優化方案的不同延遲程度的報告量分別降低了58.39%、76.26%、83.59%和87.47%。相比于VAR預測[10]引入的延遲僅能降低約6.2%,明顯不如本文所提方案的優化效果,其主要原因是該方法預測準確度和所采用的延遲對抑制瞬時劇烈越界不夠。
云數據中心監控是云數據中心發展的重要課題。本文以此為研究對象,探究云數據中心的監控目標,設計一種具有可擴展性的監控架構,該架構結合實時監控與狀態監控兩種監控方式。同時,本文對狀態監控算法進行優化,有效降低狀態監控引發全局輪詢而產生的網絡負載。
我們未來的工作主要集中在兩點:(1)繼續研究更為合理、完善的云數據中心監控方案,獲取更加具體、可信的虛擬機監控數據;(2)完善監控方案中的能耗監控模塊,挖掘監控系統的實用價值。
[1] 李丹,陳貴海,任豐原,等.數據中心網絡的研究進展與趨勢[J].計算機學報,2014,37(2):259-274.
[2] 魏祥麟,陳鳴,范建華,等.數據中心網絡的體系結構[J].軟件學報,2013,24(2):295-316.
[3] 魏亮,黃韜,陳建亞,等.基于工作負載預測的虛擬機整合算法[J].電子與信息學報,2013,35(6):1271-1276.
[4] Massie M L,Chun B N,Culler D E.The ganglia distributed monitoring system:design,implementation,and experience[J].Parallel Computing,2004,30(7):817-840.
[5] Jin Y,Wen Y,Chen Q,et al.An empirical investigation of the impact of server virtualization on energy efficiency for green data center[J].The Computer Journal,2013,56(8):977-990.
[6] 江逸茗,蘭巨龍,周慧琴.網絡虛擬化環境下的資源監控策略[J].電子與信息學報,2014,36(3):708-714.
[7] Raghavendra R,Ranganathan P,Talwar V,et al.No power struggles:coordinated multi-level power management for the data center[J].ACM SIGARCH Computer Architecture News,2008,36(1):48-59.
[8] Meng S,Iyengar A K,Rouvellou I M,et al.State monitoring in cloud datacenters[J].IEEE Transactions on Knowledge and Data Engineering,2011,23(9):1328-1344.
[9] Deligiannakis A,Stoumpos V,Kotidis Y,et al.Outlier-aware data aggregation in sensor networks[C]//Proceedings of the IEEE 24th International Conference on Data Engineering,2008:1448-1450.
[10] Chen H,Fu X,Tang Z,et al.Resource monitoring and prediction in cloud computing environments[C]//Proceedings of the 3rd International Conference on Applied Computing and Information Technology/2nd International Conference on Computational Science and Intelligence,2015:288-292.
RESEARCH ON LIGHTWEIGHT MONITORING FOR LARGE SCALE CLOUD DATA CENTER
Cheng Zhihua1Yang Xiaoguo2Fu Xiong2
1(DepartmentofInformationandCommunications,StateGridCorp.,Beijing100031,China)2(SchoolofComputer,NanjingUniversityofPostsandTelecommunications,Nanjing210023,Jiangsu,China)
In the cloud data center, along with the extensive application of virtualization technology, the simultaneous monitoring of virtual machine and physical machine makes the monitoring system face the problems of large load and large cost. The traditional monitoring system is difficult to meet the needs. In this paper, a lightweight state monitoring scheme is designed, which combines real-time monitoring and state monitoring, and it uses the state monitoring for the object with low real-time requirement. Experiments show that the proposed monitoring scheme can be applied to the cloud data center, and can reduce the network load brought by the monitoring system.
Cloud computing Cloud data center Lightweight State monitoring
2016-05-10。國家自然科學基金項目(61202354)。程志華,高級工程師,主研領域:電力信息化,云計算。楊孝果,碩士生。付雄,副教授。
TP393
A
10.3969/j.issn.1000-386x.2017.06.002