云計算環(huán)境下的監(jiān)控
21世紀(jì)最偉大的發(fā)明既不是推陳出新,也不是人工智能,而是人們不斷增生的對新鮮事物的接受和推崇。在大科技的推動下,智能標(biāo)志著科技的進(jìn)步,同時,思維模式的改變也不斷促使人類進(jìn)步的加快。
近幾年,隨著云計算技術(shù)的在國內(nèi)的推廣普及,涌現(xiàn)了許多優(yōu)秀的云計算平臺,其聚合了大量硬件資源和軟件資源,并采用虛擬化技術(shù)實現(xiàn)動態(tài)伸縮服務(wù)量, 按需提供服務(wù)。為確保云平臺正常運轉(zhuǎn),必須對整個云架構(gòu)實施多方位監(jiān)控,而普通和網(wǎng)格監(jiān)控軟件都有著自身的局限性和適用范圍,不適用于云平臺,所以本文研究并實現(xiàn)云平臺下的監(jiān)控系統(tǒng),解決云平臺資源運行和用戶使用的監(jiān)控,并改進(jìn)增強(qiáng)了系統(tǒng)自配置和容錯性,具有重要意義。
目前,云計算平臺研究和應(yīng)用在學(xué)術(shù)在商業(yè)共同推動作用下,逐步顯現(xiàn)迅猛增長的頭,Amazon、Google、IBM、MicroSoft、 Yahoo、Sun、盛大云計算等國內(nèi)外公司紛紛推出了自己云計算平臺和解決方案,云計算的時代已然來臨。從原有的IDC逐步面向服務(wù)、動態(tài)伸縮、按需收費的公有云或私有云發(fā)展。云平臺的用戶范圍也逐步擴(kuò)大,以后企業(yè)可以在云計算平臺上按需選擇適合自己的云服務(wù),快速構(gòu)建具有企業(yè)特色的業(yè)務(wù)流程管理系統(tǒng)和數(shù)據(jù)庫,這種快速架構(gòu)系統(tǒng)的新模式,能夠合理充分地利用資源,降低成本,從而提升企業(yè)的核心競爭力;而政府則通過云計算加強(qiáng)部門間的信息交流,促進(jìn)部門的協(xié)同辦公,并將獲得的大量信息利用云計算數(shù)據(jù)挖掘、并行處理等技術(shù)進(jìn)行分布式存儲和科學(xué)分析,最終讓數(shù)據(jù)得到使得數(shù)據(jù)能夠得到統(tǒng)一有效的管理。
云平臺聚合了大量物理資源,虛擬資源,并采用虛擬化技術(shù)實現(xiàn)動態(tài)伸縮服務(wù)量,按需提供服務(wù)。而監(jiān)控在提高云計算提供服務(wù)質(zhì)量方面扮演著重要的角色,為使得云平臺可以順利提供服務(wù)且正確運轉(zhuǎn),需要多方位監(jiān)控云平臺運轉(zhuǎn)的架構(gòu),確保云平臺運營者可以了解和把握總體運行情況,從而可以及時優(yōu)化資源性能和可用性。監(jiān)控往往由監(jiān)控軟件來實現(xiàn),通過對重要系統(tǒng)資源的監(jiān)控,檢查系統(tǒng)瓶頸和隱藏的缺陷,并在嚴(yán)重故障時執(zhí)行故障的自處理或手動處理,以滿足云平臺的靈活及高可用的特點。同時,用戶在云服務(wù)使用過程中,對于云服務(wù)的運行監(jiān)控要求將會時刻存在著,以確保機(jī)密數(shù)據(jù)安全和開展的計算作業(yè)正確完成,同時云服務(wù)提供商也需要知道用戶對云服務(wù)使用情況,以進(jìn)行收費,并核算在什么樣的成本下提供相應(yīng)服務(wù)。
2. 云監(jiān)控系統(tǒng)
云計算平臺中聚合了大量的物力資源和虛擬資源,并提供IaaS、PaaS、SaaS三個層次的服務(wù),其資源是否運行正常、云服務(wù)是否對用戶按需順利供給,需要云監(jiān)控系統(tǒng)進(jìn)行監(jiān)控,本節(jié)則主要介紹監(jiān)控系統(tǒng)一般體系結(jié)構(gòu)和數(shù)據(jù)傳輸中采取的推拉模式優(yōu)缺點進(jìn)行分析。
2.1 體系結(jié)構(gòu)
2.1.1集中式體系結(jié)構(gòu)
在集中式體系結(jié)構(gòu)中,每個監(jiān)控節(jié)點安裝監(jiān)控代理(Agent),收集節(jié)點監(jiān)控信息,監(jiān)控服務(wù)器負(fù)責(zé)匯集以及分析展示監(jiān)控信息。監(jiān)控代理以推送方式向監(jiān)控服務(wù)器發(fā)送信息參數(shù),或監(jiān)控服務(wù)器以拉方式向監(jiān)控節(jié)點索要信息。
2.1.2 階梯式體系結(jié)構(gòu)
階梯式體系結(jié)構(gòu)中,每個監(jiān)控節(jié)點安裝監(jiān)控代理(Agent),并選定匯集節(jié)點,安裝資源匯集代理(Proxy),匯集節(jié)點相當(dāng)于局部監(jiān)控服務(wù)器。
2.1.3 結(jié)構(gòu)對比
1) 安裝部署:集中式體系結(jié)構(gòu),安裝部署容易,僅需在監(jiān)控節(jié)點統(tǒng)一安裝Agent即可,而階梯式結(jié)構(gòu)則還需確定監(jiān)控節(jié)點所屬組域,并在匯集節(jié)點安裝Collect,階梯結(jié)構(gòu)若有多級,則還需確定匯集節(jié)點的上層匯集節(jié)點;
2) 可擴(kuò)展性:集中式結(jié)構(gòu)中監(jiān)控服務(wù)器負(fù)責(zé)收集所有監(jiān)控節(jié)點數(shù)據(jù)并進(jìn)行數(shù)據(jù)分析,在網(wǎng)絡(luò)流量和計算能力限制下,只能適用于數(shù)目較小規(guī)模監(jiān)控,而階梯式結(jié)構(gòu)中匯集節(jié)點承擔(dān)了一部分信息收集整理和計算任務(wù),減輕了監(jiān)控服務(wù)器的負(fù)擔(dān),所以節(jié)點數(shù)目較多時可以采取多級階梯結(jié)構(gòu),具有較強(qiáng)的擴(kuò)展性;
3) 容錯性:集中式體系結(jié)構(gòu)監(jiān)控服務(wù)器負(fù)載重,容易造成災(zāi)難性錯誤,而階梯式結(jié)構(gòu)則減輕了監(jiān)控服務(wù)器負(fù)擔(dān),若匯集節(jié)點出錯,可見錯誤限制于此所屬組域;
4) 延時性:集中式結(jié)構(gòu)延時較小,階梯式結(jié)構(gòu)監(jiān)控信息需通過若干層匯集節(jié)點的整合分析,延時性較大。
2.2 推拉模式
2.2.1 推模式(PUSH)
由監(jiān)控節(jié)點上的監(jiān)控代理發(fā)起,即監(jiān)控代理將采集到的本節(jié)點的監(jiān)控數(shù)據(jù)在通知消息來臨時,主動將其發(fā)送到監(jiān)控服務(wù)器。
2.2.2 拉模式(PULL)
由監(jiān)控服務(wù)器發(fā)起,需要監(jiān)控服務(wù)器主動詢問監(jiān)控代理而獲取數(shù)據(jù),即需要相應(yīng)組件主動去采集每個監(jiān)控節(jié)點的性能參數(shù),可以調(diào)用駐留在各個監(jiān)控節(jié)點上的代理對象的性能參數(shù)獲取方法而實現(xiàn)。
2.2.3 對比
數(shù)據(jù)傳輸具體選哪種模式,需綜合比較實時性、準(zhǔn)確性、易用性、可擴(kuò)展性、開銷等,其中實時性指監(jiān)測的數(shù)據(jù)和系統(tǒng)實際運行數(shù)據(jù)的一致程度以及變化時能否及時反映。開銷則指完成一次監(jiān)測信息的交互所需要的消息數(shù)據(jù)的多少。
2.3 Zabbix監(jiān)控研究
2.3.1 zabbix簡介
zabbix是一個基于WEB界面的提供分布式系統(tǒng)監(jiān)視以及網(wǎng)絡(luò)監(jiān)視功能的企業(yè)級的開源解決方案。
zabbix能監(jiān)視各種網(wǎng)絡(luò)參數(shù),保證服務(wù)器系統(tǒng)的安全運營;并提供靈活的通知機(jī)制以讓系統(tǒng)管理員快速定位/解決存在的各種問題。
zabbix由3部分構(gòu)成,zabbix server, 可選組件zabbixproxy,可選組件zabbix agent。
Zabbix可以通過SNMP,zabbix agent,ping,端口監(jiān)視等方法提供對遠(yuǎn)程服務(wù)器/網(wǎng)絡(luò)狀態(tài)的監(jiān)視,數(shù)據(jù)收集等功能,它可以運行在Linux, Solaris, HP-UX, AIX, Free BSD, Open BSD, OS X等平臺上。
zabbix agent需要安裝在被監(jiān)視的目標(biāo)服務(wù)器上,它主要完成對硬件信息或與操作系統(tǒng)有關(guān)的內(nèi)存,CPU等信息的收集。zabbix agent可以運行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD, OS X, Tru64/OSF1, Windows NT4.0, Windows (2000/2003/XP/Vista)等系統(tǒng)之上。
zabbix server可以單獨監(jiān)視遠(yuǎn)程服務(wù)器的服務(wù)狀態(tài);同時也可以與zabbix agent配合,可以輪詢zabbix agent主動接收監(jiān)視數(shù)據(jù)(agent方式),同時還可被動接收zabbix agent發(fā)送的數(shù)據(jù)(trapping方式)。
另外zabbix server還支持SNMP (v1,v2,v3),可以與SNMP軟件(例如:net-snmp)等配合使用。
2.3.2 zabbix優(yōu)點
1)監(jiān)控系統(tǒng)能夠自定義監(jiān)控內(nèi)容,可以直接寫腳本來收集數(shù)據(jù)。
2)數(shù)據(jù)要要保存載數(shù)據(jù)庫中,這樣以后需要的時候可以對數(shù)據(jù)庫進(jìn)行分析計算。
3)能夠方便快速度的將監(jiān)控加入到服務(wù)器上,不需要繁瑣操作。
4)數(shù)據(jù)可視化不是很花俏,但是好用。
5)可以定義復(fù)雜的報警邏輯,做到Item之間關(guān)聯(lián)報警。
6)報警需要被確認(rèn),讓運維人員知道那些報警有人知道并開始處理了。
7)報警方式能夠自定義
8)報警內(nèi)容可以自定義
9)報警后可以自動跑一些命令
10)有強(qiáng)大的API可以使用
11)監(jiān)控數(shù)據(jù)開放
12)監(jiān)控可視化的圖可以方便的引用!
云監(jiān)控在整個云安全環(huán)節(jié)發(fā)揮著不可或缺的作用,它可以有效地幫助云服務(wù)提供商盡快發(fā)現(xiàn)并解決問題。當(dāng)然,除云監(jiān)控云以外,還應(yīng)建立安全的制定數(shù)據(jù)中心安全事件應(yīng)急響應(yīng)機(jī)制及流程,實現(xiàn)真正意義上的云安全。在之后,新致云也將會繼續(xù)邀請技術(shù)大牛與大家分享更多與云安全相關(guān)的干貨,歡迎持續(xù)關(guān)注!