《電子技術應用》
您所在的位置:首頁 > 嵌入式技术 > 设计应用 > 多云平台监控系统的设计与实现
多云平台监控系统的设计与实现
2017年微型机与应用第10期
杨靖琦,胡勋
中国电子科学研究院,北京 100041
摘要: 近年来,随着云计算的兴起和逐步发展,云平台已成为各类企业和机构提供服务的主要方式,为保证云平台高效稳定运行,需要对云平台进行实时监控。针对以上需求,基于开源监控工具Ganglia和Ceilometer,设计并实现了一个多云平台监控系统,提供云平台、物理机和虚拟机中内存、CPU和硬盘等资源使用情况的监控能力,同时,通过物理资源管理、监控策略管理、日志管理和用户管理等功能,提升监控系统的可扩展水平和用户友好程度。最终,实现对多云平台全方位可视化的管理和控制。
Abstract:
Key words :

  楊靖琦,胡勛

  (中國電子科學研究院,北京 100041)

  摘要:近年來,隨著云計算的興起和逐步發(fā)展,云平臺已成為各類企業(yè)和機構提供服務的主要方式,為保證云平臺高效穩(wěn)定運行,需要對云平臺進行實時監(jiān)控。針對以上需求,基于開源監(jiān)控工具Ganglia和Ceilometer,設計并實現(xiàn)了一個多云平臺監(jiān)控系統(tǒng),提供云平臺、物理機虛擬機中內(nèi)存、CPU和硬盤等資源使用情況的監(jiān)控能力,同時,通過物理資源管理、監(jiān)控策略管理、日志管理和用戶管理等功能,提升監(jiān)控系統(tǒng)的可擴展水平和用戶友好程度。最終,實現(xiàn)對多云平臺全方位可視化的管理和控制。

  關鍵詞:云平臺;監(jiān)控系統(tǒng);物理機;虛擬機

  中圖分類號:TP399文獻標識碼:ADOI: 10.19358/j.issn.1674-7720.2017.10.030

  引用格式:楊靖琦,胡勛.多云平臺監(jiān)控系統(tǒng)的設計與實現(xiàn)[J].微型機與應用,2017,36(10):102-105.

0引言

  計算平臺的發(fā)展主要經(jīng)歷了以主機為中心和以PC為中心兩個階段,目前正處于以網(wǎng)絡為中心的階段。在這一階段,隨著云計算技術的快速發(fā)展,以云平臺為代表的網(wǎng)絡計算平臺逐漸成為主要的資源提供方式。企業(yè)可以基于分散的計算、存儲等物理資源按照不同組織架構搭建云平臺,動態(tài)地為用戶提供所需的計算、存儲等資源,提高資源利用率,降低運營復雜度和成本[1]。隨著云平臺的不斷增多和規(guī)模的不斷擴大,平臺監(jiān)控難度急劇增加,傳統(tǒng)的人工查詢方式已不適用于多個大規(guī)模云平臺的監(jiān)控和管理,為實現(xiàn)更有效的云平臺管理,需提供云平臺資源的統(tǒng)一監(jiān)控管理能力,從而直觀地了解平臺運行狀態(tài),最大限度地使用系統(tǒng)的資源。

  目前,國內(nèi)已開展了對云平臺監(jiān)控的研究,其中一些研究[2]實現(xiàn)了OpenStack云平臺中虛擬資源的監(jiān)控,另外一些研究[3]實現(xiàn)了OpenStack云平臺中物理資源的監(jiān)控,但現(xiàn)有云平臺監(jiān)控研究成果大多針對單個云平臺的單一資源類型,無法提供多個平臺中物理資源和虛擬資源的多功能、一體化監(jiān)控系統(tǒng)。為解決現(xiàn)有問題,本文設計并實現(xiàn)了面向多個云平臺、覆蓋物理資源和虛擬資源的監(jiān)控系統(tǒng)。

  本文的多云平臺監(jiān)控系統(tǒng)面向OpenStack云平臺設計和實現(xiàn),具有可移植性,其中物理資源監(jiān)控是平臺無關的,無需修改即可適用于其他平臺,虛擬資源監(jiān)控可通過修改訪問接口的方式應用于對其他云平臺的監(jiān)控,由于文章篇幅限制,在此不做贅述。

1云平臺及監(jiān)控方法

  1.1OpenStack

  OpenStack是美國國家航天局和Rackspace公司共同開發(fā)的開源云計算平臺,可支撐公有云或私有云的建設和管理,為用戶提供IaaS(基礎設施即服務)層的云服務。OpenStack包括Nova、Swift、Glance和Keystone等主要模塊,分別提供計算、存儲、鏡像和安全認證等能力,由于其具備模塊松耦合、組件配置靈活、易于二次開發(fā)等優(yōu)點,已成為應用最廣的開源云平臺[4]。

  1.2Ceilometer

  2012年10月,隨著OpenStack Folsom的發(fā)布,Ceilometer項目發(fā)布了第一個版本,從2013年開始,Ceilometer作為OpenStack發(fā)行版的一部分發(fā)布,提供OpenStack平臺的虛擬機監(jiān)控功能。為適應云計算環(huán)境節(jié)點大規(guī)模動態(tài)調(diào)整的特點,Ceilometer通過插件機制,提供了可靈活擴展的架構。

Ceilometer通過輪詢計算節(jié)點上的虛擬機實例獲取監(jiān)控信息,并在數(shù)據(jù)庫中將監(jiān)控信息進行持久化存儲,為計費和監(jiān)控提供支撐。

Image 001.jpg

  1.3Ganglia

  目前,在集群計算機監(jiān)控領域主要有Cacti、Parmon、Nagios、Ganglia等軟件系統(tǒng)。通過對此類軟件的比較分析可知,Ganglia具備功能模塊豐富、監(jiān)控功能強、可擴展性高等優(yōu)點,同時具有良好的移植性,支撐在Linux、Solaris、Mac OS和Windows等主流操作系統(tǒng)上運行,可滿足復雜環(huán)境下的集群監(jiān)控需求[5]。

  Ganglia是加州學校伯克利分校發(fā)起的計算機集群監(jiān)視項目[6],用于監(jiān)控大規(guī)模集群的運行狀態(tài),如:CPU、內(nèi)存、網(wǎng)絡負載、硬盤利用率等。Ganglia采用分布式的監(jiān)控結構,通過安裝gmond和gmetad軟件實現(xiàn)集群的監(jiān)控,其中,被監(jiān)控的節(jié)點安裝gmond實現(xiàn)節(jié)點運行狀態(tài)的收集和上報;監(jiān)控節(jié)點安裝gmetad實現(xiàn)與gmond通信,通過輪詢的方式收集區(qū)域內(nèi)節(jié)點上報的狀態(tài)信息。Ganglia使用RRDTool工具實現(xiàn)采集數(shù)據(jù)的存儲和處理,并可通過個性化配置實現(xiàn)基于Web的圖形化顯示。

2系統(tǒng)設計

  2.1系統(tǒng)架構設計

  多云平臺監(jiān)控系統(tǒng)提供云平臺、服務器和虛擬機監(jiān)控數(shù)據(jù)的獲取、處理和展現(xiàn)功能,其系統(tǒng)架構如圖1所示。

  資源層:依托分布式服務器設備,基于OpenStack開源軟件,搭建異構云計算平臺,可為用戶按需提供物理資源和虛擬資源,是監(jiān)控系統(tǒng)監(jiān)控主體。

  監(jiān)控層:基于Ganglia軟件實現(xiàn)服務器資源狀態(tài)監(jiān)控,基于Ceilometer組件實現(xiàn)虛擬機資源狀態(tài)監(jiān)控,通過對服務器和虛擬機監(jiān)控信息的獲取和融合處理,為展示層提供所需狀態(tài)數(shù)據(jù),同時根據(jù)資源監(jiān)控策略,實現(xiàn)資源狀態(tài)告警和利用率告警信息生成。

  展示層:以Web頁面方式進行信息展示,提供異構云監(jiān)控和異構云管理兩類功能,實現(xiàn)異構云平臺資源信息和狀態(tài)的統(tǒng)一監(jiān)視和控制。其中:

  多云平臺監(jiān)控主要展現(xiàn)云平臺總體狀態(tài)、云平臺監(jiān)控、服務器監(jiān)控、虛擬機監(jiān)控等相關信息。

  (1)云平臺總體狀態(tài):實時監(jiān)控數(shù)據(jù)中心所包含的服務器、虛擬機的數(shù)量和相關信息;

  (2)云平臺監(jiān)控:對數(shù)據(jù)中心進行監(jiān)控,提供數(shù)據(jù)中心列表、地理位置、概述、運行狀態(tài)等信息的展示;

  (3)服務器監(jiān)控:對服務器進行監(jiān)控,提供服務器實時監(jiān)控信息,并展示服務器所包含的虛擬機信息;

  (4)虛擬機監(jiān)控:對虛擬機進行監(jiān)控,提供虛擬機實時監(jiān)控信息,并展示虛擬機配置。

  多云平臺管理主要提供物理資源管理、監(jiān)控策略管理、日志查詢和用戶管理等功能。

  (1)物理資源管理:提供數(shù)據(jù)中心、服務器等物理區(qū)域和物理設備信息添加修改功能;

  (2)監(jiān)控策略管理:對服務器和虛擬機等計算資源需要監(jiān)控的指標和閾值進行查看和設置;

  (3)日志查看:記錄計算資源監(jiān)控軟件產(chǎn)生的用戶操作日志和告警日志,提供分時段查看功能;

  (4)用戶管理:提供監(jiān)控系統(tǒng)用戶的增加、刪除、修改和查詢功能。

  2.2系統(tǒng)類圖與接口設計

  使用基于開放源碼的Web應用框架Django開發(fā)異構云平臺監(jiān)控系統(tǒng),構建支持監(jiān)控信息處理和顯示的MTV架構,即Model、Template、View,多云平臺監(jiān)控系統(tǒng)類圖如圖2所示。

  

Image 002.jpg

  其中,Model(Cloud、Server、VM、Log)定義資源信息和監(jiān)控數(shù)據(jù)的存儲格式,并且提供了數(shù)據(jù)庫訪問的API;View(IndexView、CloudView、ServerView、VmView、ManagerView)定義應該顯示哪些數(shù)據(jù),是業(yè)務邏輯處理模塊;Template定義View的數(shù)據(jù)應該如何被顯示。MonitorVM、GraphForServer、UpdateStatus三個類分別提供虛擬機狀態(tài)監(jiān)控、服務器狀態(tài)繪圖和狀態(tài)信息更新功能。

  按照系統(tǒng)類設計,異構云平臺監(jiān)控系統(tǒng)內(nèi)部接口示意圖如圖3所示,接口標識見表1。

 

Image 003.jpg

  Image 004.jpg

  監(jiān)控狀態(tài)獲取VMStatus監(jiān)控虛擬機資源使用情況

3系統(tǒng)實現(xiàn)與部署

  基于OpenStack搭建多個云計算平臺[7],用來模擬四個數(shù)據(jù)中心,每個云平臺由1個控制節(jié)點和網(wǎng)絡節(jié)點及若干個計算節(jié)點組成,基于KVM的虛擬化技術實現(xiàn)計算資源的虛擬化,構建彈性計算環(huán)境。其中環(huán)境配置及功能如表2所示。

Image 005.jpg

  所有節(jié)點通過2臺48口交換機相連,一臺負責控制流信息的交互,另一臺用于數(shù)據(jù)流信息的交互。環(huán)境中計算資源與外部網(wǎng)絡是隔離的,網(wǎng)絡節(jié)點單獨有一個網(wǎng)卡與外部網(wǎng)絡相連,通過GRE隧道協(xié)議,使得外部網(wǎng)絡環(huán)境中的用戶能夠登錄訪問虛擬機。

  通過安裝OpenStack的Ceilometer模塊和Ganglia軟件(Python版),多云平臺監(jiān)控系統(tǒng)可對多個云平臺節(jié)點進行監(jiān)控,并能夠動態(tài)適應集群規(guī)模調(diào)整,以適應混合云伸縮的需要,其安裝示意圖如圖4所示。

  多云平臺監(jiān)控服務器端:運行基于Django Web框架的多云平臺監(jiān)控軟件,通過獲取并處理Ceilometer和Ganglia的監(jiān)控數(shù)據(jù),實現(xiàn)對云平臺中虛擬資源和物理資源的監(jiān)控,為用戶提供基于瀏覽器的可視化交互界面,系統(tǒng)后臺數(shù)據(jù)存儲在MySQL數(shù)據(jù)庫中。

  Ceilometer:云平臺各節(jié)點安裝compute agent收集節(jié)點的狀態(tài)信息,實現(xiàn)虛擬機的監(jiān)控,Ceilometer監(jiān)控信息可存儲于MangoDB、MySQL、PostgreSQL和HBase等數(shù)據(jù)庫中,其中對MongoDB是支持最好的,本文系統(tǒng)使用MangoDB存儲虛擬機監(jiān)控信息。

  Ganglia:云平臺控制節(jié)點安裝gmetad和gmond,網(wǎng)絡節(jié)點和計算節(jié)點安裝gmond,通過修改源代碼,選取并配置所需監(jiān)控指標,實現(xiàn)集群整體和各物理節(jié)點CPU、內(nèi)存、硬盤和網(wǎng)絡負載等運行狀態(tài)監(jiān)控,Ganglia監(jiān)控數(shù)據(jù)默認存儲在RRD數(shù)據(jù)庫中。

  多云平臺監(jiān)控系統(tǒng)可實現(xiàn)對各個云平臺、服務器、虛擬機相關配置信息和運行狀態(tài)的監(jiān)控與管理。

4結論

  本文提出了基于Ganglia與Ceilometer的多云平臺監(jiān)控系統(tǒng)設計與實現(xiàn)方法,實現(xiàn)了多個云平臺服務器和虛擬機的一體化監(jiān)控,為云平臺資源運行情況提供統(tǒng)一的可視化監(jiān)控管理能力,提升平臺管理水平。在此基礎上,監(jiān)控系統(tǒng)的實現(xiàn)可為云平臺資源的組織、調(diào)度和分配提供決策依據(jù),提高資源使用的合理性。

Image 006.jpg

  參考文獻

  [1] 張建勛,古志民,鄭超. 云計算研究進展綜述[J]. 計算機應用研究, 2010,27(2):429-433.

  [2] 劉智超. 基于OpenStack的虛擬機集群監(jiān)控系統(tǒng)的設計與實現(xiàn)[D]. 北京:北京郵電大學,2014.

  [3] 尤海鵬. 基于Ganglia的數(shù)據(jù)中心監(jiān)控平臺設計[D]. 濟南:山東大學, 2014.

  [4] 李志軍,孔朋朋,雷振伍. 基于OpenStack的私有云平臺設計[J]. 微型機與應用, 2016,35(9):24-26.

  [5] 吳怡鳳,歸強,羅明宇,等. 集群計算機監(jiān)控技術研究[J].計算機與現(xiàn)代化, 2013(11):218-222.

  [6] MASSIE M, LI B, NICHOLES B, et al.Monitoring with Ganglia[M].O’Reilly Media,2012.

  [7] 王霄飛. 基于OpenStack構建私有云計算平臺[D]. 廣州:華南理工大學, 2013.


此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權禁止轉載。
主站蜘蛛池模板: www.精品av.com| 久久久精品在线观看| 日韩中文视频免费在线观看| 中文字幕制服丝袜在线| 欧美中文字幕在线视频| 精品一区二区三区自拍图片区| 久久精品在线免费视频| 一本一道久久久a久久久精品91| 69av视频在线播放| 欧美一级中文字幕| 亚洲a区在线视频| 国产美女精品久久久v| 99精品视频播放| 青青青国产在线观看| 91久久久久久久一区二区| 亚洲国产精品www| 国产精品久久久久久久久婷婷| 俺也去精品视频在线观看| 久久亚洲午夜电影| 99在线观看视频免费| 日本不卡一区二区三区视频| www日韩中文字幕在线看| 国产日韩欧美视频在线| 色婷婷精品国产一区二区三区| 久久av一区二区| 亚洲v日韩v欧美v综合| 国产精品久久久999| 欧美激情亚洲国产| 国产精品久久久久久av| 亚洲在线观看视频网站| 91精品国产乱码久久久久久蜜臀| 久久视频免费在线| 国产精品美女久久久久av超清| 国产成人亚洲综合91| 成人国产精品久久久久久亚洲| 精品视频一区在线| 国产精品免费福利| 久久国产精品网站| 91精品国产亚洲| 欧美亚洲另类久久综合| 欧美日韩一区在线播放|