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