文/趙俊 李潤知 王宗敏
鄭州大學:針對網絡服務的云監控平臺設計
文/趙俊1,2李潤知1王宗敏1
隨著新的互聯網時代的到來,大量的網絡應用服務已經深入到各行各業當中。對系統管理員來說,為保證網絡應用服務7×24提供服務,不僅要監控物理服務器的運行狀態,更重要的是要監控網絡應用服務的運行狀態。人工的監控在網絡規模過大、業務量過多的情況下無疑是災難性問題,這種情況下,智能監控系統可有效解決對大規模、密集業務量網絡應用服務的實時狀態監控,及時發現服務故障并智能告警。在當下的互聯網信息時代,信息提供本身就是價值的體現,對應用服務的可靠性提出了很高的要求,對于企業用戶來說,不但需要保證系統業務自身的正常運行,也需要在多運營商提供基礎網絡服務的網絡環境中,保證所有用戶的服務訪問情況,出現問題及時解決,保證網絡服務運行的可靠性。
目前出現的監控系統包括Nagios、Cacti、Zabbix、阿里云監控、美信云監控、百度云觀測等。Nagios采用插件方式進行數據采集,利用種類繁多的插件來實現監控服務和主機的功能,這就造成了Nagios的使用困難。Cacti不支持Agent數據采集方式和報警功能,這使得Cacti不能全面地監測服務器的運行狀態。Zabbix集成了SNMP、Agent、IPMI等多種的數據采集方式,監控功能更加全面,同時也需要更多的硬件資源來部署Zabbix,需要專門人員對其進行管理和維護。阿里云監控是依托阿里云計算平臺建立的監控系統,由于監控功能較少,不能滿足大多數企業的監控需求。美信云監控是首次把云計算引入網絡管理領域的解決方案, 其由云控制器和云節點監控服務器兩類服務組成,其提供集中式和分布式兩種云架構部署方式,在分布式部署方案中,可適合線形數量增加的應用業務需求,是值得肯定的一款監控平臺。百度云觀測是百度最新推出的一款云服務產品,能實現免費為網站站長提供7×24小時網站監測和報警服務,功能包括對網站服務運行狀況的監控,另外包括對安全性、訪問速度等的監控。
云計算是一種新興的計算模型,提供隨時隨地、按需的訪問,云計算具有高可擴展性、可配置性、按需服務、虛擬化等特性。云計算包含三個層次的服務,其中,軟件及服務(SaaS)是一種新型的軟件應用模式,用戶可以根據自己的實際需求,訂購需要的軟件服務,不需要購買軟件許可和設備,軟件服務提供商負責對軟件系統的部署實施和運行維護。SaaS對中小型企業的發展提供便利條件,中小型企業由于規模小,受員工技能、經濟效益等條件的限制,不能實現自動化的監控手段,云計算技術的出現,利用SaaS服務模式給中小型企業提供網絡服務的監控提供了條件。
基于SaaS的監控平臺具有多租戶的特點,可以向用戶提供可配置、高可擴展的網絡監控服務,租戶可以根據自己的需求租用監控服務,給中小型企業提供監控服務。通過分布式部署云監控平臺,可實現對不同地域,不同網絡服務提供商用戶訪問網絡的模擬,從而更好地監控網絡可靠性。
本文將云計算技術和服務器監控系統相結合實現對網絡服務和主機的運行狀態實時監控,通過在不同地區分布式部署監控節點進行多點監控,通過智能故障關聯給用戶提供實時的網絡監控服務,并在出現故障時能夠及時向管理人員發送智能告警信息,平臺采用SaaS模式,能更好地實現用戶配置,監控節點,被監控網絡服務的可擴展性。
系統總體架構

圖1 云監控平臺架構
基于網絡服務的云監控平臺的采用分布式網絡架構,主要包括數據處理部分,信息采集部分和網絡應用自身幾部分組成,如圖1所示。具體包括:云監控平臺Web服務節點、采集數據存儲節點、監控平臺中心控制節點、Node網絡服務信息采集節點。各組件主要功能描述如下:
1.監控平臺中心控制節點:是整個云監控平臺的核心組成部分,用于監控應用系統服務器的物理性能,如磁盤使用空間、CPU利用率、內存利用率等,同時承擔對檢測到的服務器物理狀態信息和收集到的由分布式Node網絡服務信息采集節點采集到的應用服務狀態信息,進行分析和統計和故障關聯處理,并進行智能報警。
2.采集數據存儲節點:用于存儲云監控平臺的系統配置信息、Node網絡服務信息采集節點所采集到的應用服務狀態信息和應用服務器的物理狀態信息。
3.云監控平臺Web服務節點:用戶與云監控平臺之間數據交互的接口,主要是便于用戶進行系統設置及用于監控數據的顯示,用戶可以使用智能手機、PC機等通過Web方式訪問監控平臺,查看監控結果。
4. Node網絡服務信息采集節點:Node節點分布在不同的地區和網絡環境下,通過運行網絡監控程序實現對遠程網絡服務的被動監控,從而模擬不同地域用戶對網絡應用服務地訪問情況,反應網絡服務的可靠性。Node節點主要是云監控平臺的服務提供者在各地的虛擬機進行搭建配置,負責采集網絡應用的服務狀態信息。
云監控平臺功能設計

圖2 云監控平臺功能設計
基于網絡服務的云監控平臺是一個具有可配置性、高可擴展性、多租戶等性能的監控系統,主要可以對外提供SaaS云監控服務。云監控平臺按照系統顯示功能、系統處理功能和數據采集功能這三個層次來進行系統功能的劃分,系統功能如圖2所示。
云監控平臺提供的功能如下:
1.系統顯示功能:主要是與用戶進行數據交互,提供可視化的信息查詢方式,從而使用戶可以通過Web方式查看網絡應用服務和服務器主機的運行狀態,包括告警通知、控制項配置、用戶配置、性能圖表和系統配置。
2.系統處理功能:主要是對系統采集的數據進行處理,包括智能報警管理、用戶自定義監控管理、租戶和用戶組管理和數據管理。智能報警管理采用的閾值報警方式進行故障報警,主要是通過對Node節點收集到的監控數據進行處理,和監控項設定的閾值進行比較,從而在發生故障時及時生成報警信息,選擇報警方式向管理人員發送報警信息。用戶自定義監控管理指租戶可以按照需求自定義監控項并對監控項進行管理。

表1 三種存儲模式的比較
3.數據采集功能:主要是對網絡應用服務和服務器主機的運行狀態兩種監控的數據采集,并把各個Node節點采集的數據存入數據庫。網絡服務監控數據主要是指通過分布在不同地區及網絡環境下的Node節點的試探性訪問采集到的網絡應用服務運行狀態的數據;主機監控數據主要是使用SNMP協議所獲取的被監控服務器主機的數據。
數據存儲模式選擇
SaaS系統數據模型的設計主要考慮數據的隔離和共享之間的平衡關系。可以分為以下三種數據模型:1.獨立數據庫;2.共享數據庫,單獨模式;3.共享數據庫,共享模式。表1從隔離級別、共享級別、安全性和成本四個方面對三種數據模型進行了對比。
綜合表1中三種數據模式的比較,由于本監控平臺的成本有限,對數據的隔離要求不高,而共享級別要求比較高,并且能很好地體現SaaS基于共享實現個性化定制監控服務的需求。所以,權衡比較,本監控平臺采用共享數據庫、共享模式進行數據存儲。

在云監控平臺關鍵技術分析中,包括網絡服務故障關聯分析,監控節點任務分配負載均衡,監控節點分布式部署結構優化,故障告警模式分析,SaaS服務提供等關鍵問題,這里我們僅對網絡服務故障關聯分析、監控節點任務分配負載均衡和SaaS服務提供三個方面來分析,而監控節點分布式部署環節采用根據物理條件人工部署的方式來部署Node網絡服務信息采集節點。
網絡服務故障關聯分析
故障關聯分析指根據網絡的連接關系、故障的上下文關系和網絡運維人員的相關經驗,制定出一定的規則,并由此產生一系列故障發生的真正原因的動作。在本文設計的云監控平臺中網絡服務故障關聯分析由監控平臺中心控制節點承擔,對實時自身采集的應用服務器的狀態信息,和收集到的監控節點發回的監測到的應用服務的狀態信息和網絡連通性信息進行分析,根據事先定義的故障判定規則進行判定,過濾無關的誤報信息,如果出現故障信息則及時反饋故障告警,同時通過自學習方法及時更新故障判定規則庫。
在本云監控平臺中,采用分布式部署的監控方案,從而實現多點跨地域、跨網絡對同一網絡服務狀態的監控,真正反映應用服務對外提供服務的整體可靠性。例如:同時存在5個跨地域、跨網絡的監控節點對同一應用服務的監控,在理想情況下可實時監控5個地域及5個網絡地區用戶對該網絡服務的訪問情況。通過該云監控平臺可提供網絡服務內容提供商對服務整體可靠性的監控,如出現除網絡服務及物理服務器自身的故障外的其他網絡故障時,能及時通報相關網絡服務提供商,督促協調故障解決,確保應用服務提供的可靠性。但是用戶對網絡服務的正常訪問是基于網絡的正常連通的情況,一旦網絡出現問題,往往導致監控服務的誤報信息出現,該情況下要求云監控平臺能及時通過故障關聯分析模塊判定故障的真實原因,并及時告知用戶。
監控節點對Web服務進行監控時,如果監控程序返回的respond code值是200,則說明該應用服務狀態正常并且該監控節點所在地域所處網絡的服務訪問正常。但是,監測返回respond code值不是200,則并不能完全確定服務器或者網絡應用服務出現故障,可能由于網絡原因導致,這時可通過故障關聯模塊進行判定。
監控節點任務分配負載均衡
監控平臺中心控制節點采用心跳機制完成對分布式部署的監控節點任務分配的負載均衡,當任何監控節點的資源利用率過高或出現故障時,控制節點可通過自動調節機制來調整監控節點的監測任務量,并作為故障告警及時告知云監控平臺系統管理人員對物理監控節點的硬件擴充和調整。
基于云計算的SaaS服務模式選擇
云監控平臺中云計算技術的應用體現在兩個方面,一方面,對分布式部署的監控節點,采用虛擬機的方式,資源動態規劃,根據用戶監控的數量和任務多少動態分配資源;另一方面,是SaaS服務模式的應用,監控節點統一運行一套監控程序,共享的數據存儲,用戶根據各自的網絡應用特點和監控需求動態申請監控資源。平臺配置模塊只需簡單的配置和劃分即可完成用戶的監控需求。
本文通過介紹云監控平臺架構的設計,分析了基于SaaS架構平臺數據存儲方式的選擇,并重點對網絡服務故障關聯、監控節點任務分配負載均衡、基于云計算的SaaS服務提供等關鍵問題進行了分析,充分說明了云監控平臺的多租戶、可配置和高可擴展性特性能較好地適合數量增加、網絡環境復雜且網絡服務可靠性要求更高環境下應用服務監控的目標。
(作者單位:1為鄭州大學信息網絡省重點學科開放實驗室,2為鄭州大學信息工程學院)
國家教育部高校博士點專項科研基金項目(20114101110007);河南省教育廳科學技術研究重點項目(13A520562)