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