輕鬆應對日十億量級監控項,解密浪潮雲平台大規模集羣監控

浪潮雲平臺InCloud OpenStack是面向下一代雲數據中心和雲原生應用的智慧雲操作系統,全面基於OpenStack,採用開放標準技術路線,實現用戶業務的自動感知、業務的智能管理和服務的自動化交付,為用戶構建開放、融合、安全的雲,支撐面向未來的智慧計算世界。浪潮雲平臺InCloud OpenStack已成功應用於金融、政府、能源、環保、教育等行業,累計擁有3000+用戶。

輕鬆應對日十億量級監控項,解密浪潮雲平臺大規模集群監控

OpenStack系統規模提升,傳統監控弊端凸顯

OpenStack是開源 IaaS解決方案,組件眾多,架構複雜,並且技術棧長。隨著基於OpenStack的客戶系統和業務規模的快速提升,實現對系統和業務進行高效、快速、靈活監控和告警的需求越來越迫切,既要保證服務的高可用、高性能、可擴展,又要提高異常處理效率,降低損失。

輕鬆應對日十億量級監控項,解密浪潮雲平臺大規模集群監控

以zabbix、為代表的傳統監控,具有采集方式多樣、插件成熟、配置靈活等優點,但在大規模OpenStack集群監控中,卻存在如下缺點:

  1. 配置麻煩,無法根據節點上運行的服務自動配置監控項。
  2. 性能瓶頸,多采用關係型數據庫,併發能力、讀寫性能等無法支撐大規模集群。
  3. 用戶界面專業複雜,不夠簡單易用。
  4. 不易擴展,以監控為目標,不易添加智能分析等功能。

浪潮雲平臺InCloud OpenStack監控模塊,提升監控效率

浪潮雲平臺InCloud OpenStack監控模塊就是在這個背景下誕生並不斷進行優化的,其整體架構圖如下所示,此架構能夠有效提升監控數據獲取密度與存儲數量級,為運維決策提供數據支撐。

輕鬆應對日十億量級監控項,解密浪潮雲平臺大規模集群監控

浪潮雲平臺InCloud OpenStack監控模塊整體架構

浪潮雲平臺InCloud OpenStack監控模塊提供了簡單易用的頁面供用戶進行監控管理配置及查看,包括:支持資源實時指標、歷史曲線;支持採集配置、告警配置、通知配置;支持配置的及時下發和快速生效;支持告警歷史記錄、通知歷史記錄的管理。

輕鬆應對日十億量級監控項,解密浪潮雲平臺大規模集群監控

浪潮雲平臺InCloud OpenStack監控模塊監控頁面

面對日十億量級監控項,浪潮InCloud OpenStack如何實現秒級監控?

大規模監控是浪潮雲平臺InCloud OpenStack解決的最核心問題。以某行業客戶的InCloud OpenStack項目為例,其監控模塊的物理服務器規模有500+臺,性能數據採集週期10秒,服務數據週期1-5分鐘,當全部監控項都設置為採集時,每個節點約2000+監控項/週期,每天集群約產生50億項監控數據。

輕鬆應對日十億量級監控項,解密浪潮雲平臺大規模集群監控

面對如此龐大量級的監控項,並實現秒級監控,需要解決五個主要問題:大規模部署和海量監控的採集配置該如何進行?大規模集群的採集壓力如何化解?監控數據的實時性和高併發如何應對?多OpenStack集群的集中監控如何實現?面對海量告警,又該怎樣快速定位問題?

面對這五個棘手問題,浪潮雲平臺InCloud OpenStack逐一給出瞭解決方案:

1、容器化一鍵部署

集群規模的擴大對於雲平臺監控的部署特別是監控的配置的要求很高,浪潮雲平臺InCloud OpenStack監控模塊的安裝部署實現了容器化,採用Kolla-ansible進行一鍵化部署,部署流程包括採集配置、容器部署、配置表初始化、腳本發佈、監控變量導入、頁面導入等,部署時根據OpenStack節點角色自動配置採集項,例如當此節點部署有mariadb服務,則此節點配置mariadb相關採集;當此節點部署nova-compute服務時,則此節點配置nova-compute相關採集。通過此方案InCloud OpenStack實現了監控一鍵部署。

2、主被動混合採集機制

浪潮雲平臺InCloud OpenStack監控模塊數據採集支持集中採集、代理採集以及事件採集三種採集方式,如下圖所示,可實現異構設備的數據採集,具體包括OpenStack系統本身(宿主機、虛擬機、集群、容器、核心服務)、原生OpenStack(宿主機、虛擬機、集群、核心服務)、操作系統、數據庫、存儲服務、中間件、CEPH存儲等。

這種主被動混合採集機制,既減少了性能數據的採集壓力,有效地校驗了關鍵資源的數據完整性,又提高了關鍵數據的實時性。

輕鬆應對日十億量級監控項,解密浪潮雲平臺大規模集群監控

混合採集機制

3、高效緩存,兼顧時效

浪潮雲平臺InCloud OpenStack採集控器採用客戶端緩存機制,可以配置時間和緩存量兩個緩存閾值,默認時間閾值,只有達到閾值時,才能觸發數據發送,這種機制大大減低了存儲端的寫入併發,同時兼顧了數據的時效性。另外客戶端採集採用go語言開發,具有併發好、資源佔用低、插件開發簡單等優點。

輕鬆應對日十億量級監控項,解密浪潮雲平臺大規模集群監控

高效緩存,兼顧時效

4、多OpenStack監控級聯架構

隨著多雲的應用越來越廣泛,多數據中心的集中監控亟待解決。浪潮雲平臺InCloud OpenStack採用自研監控管理組件pluto級聯方案,每個OpenStack集群採用獨立的pluto用於配置管理上層pluto的接口進行調用;而上層的監控平臺的pluto對所有集群的pluto進行統管,並對各集群數據進行分析。其架構圖如下所示:

輕鬆應對日十億量級監控項,解密浪潮雲平臺大規模集群監控

監控級聯架構

5、智能告警聚合及分析

大規模集群的海量洪水告警及問題的快速定位是運維過程中需解決的最大難題,浪潮雲平臺InCloud OpenStack監控模塊採用兩種方式解決此問題:一是以資源為粒度發送通知。例如宿主機、雲主機等為資源類型,宿主機A為一個資源,監控模塊會對該資源的所有監控項進行聚合,以告警項最嚴重的狀態為資源狀態發送通知,如下圖所示;二是根因分析,採用jaccard等算法對告警進行分析,得到根本原因,供運維人員參考。

輕鬆應對日十億量級監控項,解密浪潮雲平臺大規模集群監控

告警聚合流程

此外,整個浪潮雲平臺InCloud OpenStack監控系統採用松耦合的架構,可以添加Hadoop存儲歷史數據,實現高吞吐量和超大規模數據集的處理,也可以添加Spark作為監控告警數據分析工具。

浪潮雲平臺InCloud OpenStack已經在多個行業完成部署,其監控模塊幫助某金融機構和商業公司實現了大規模集群監控,其中,某商業公司InCloud OpenStack私有云單集群建設規模超過1000臺服務器,位列全球TOP5,藉助先進的數據中心架構,核心業務實現了彈性計算資源及穩定的平臺,監控模塊亦滿足其對數據實時性、高併發的監控需求,保證了服務的高可用、高性能、可擴展,有效提升數據中心運維保障效率。


分享到:


相關文章: