李偉良,李 巖,張曉亮,孫建剛,時佳偉,段嘉琦
(國家電網有限公司信息通信分公司,北京 100761)
近年來,全國各地政府和企業投入大量的精力和資金建設云平臺,例如公有云、政務云、電網云、工業云以及多種行業云,希望借助云平臺促進數字化轉型[1-2]。
在建云過程中,考慮到安全、成本和穩定等各方面因素,都采用了混合云建設策略。在云平臺建設前期,缺乏對云平臺運營運維的支撐、管理和服務的考慮和重視,導致不滿足云平臺運營運維需求,無法實現對全網云平臺運行情況、故障告警全方位掌控,無法確保云上業務系統穩定運行。
本文將基于混合云監控的痛點,開展云平臺監控體系研究,實現混合云平臺統一納管、集中監控、精細運營,最終實現云平臺全棧式監控[3-4]。
隨著企業云平臺建設進度的推進,企業云平臺用戶數目極速增加,云平臺監控數據以TB級別飛速增長。同時虛擬化與容器技術廣泛應用,IT系統架構日益復雜。許多企業借用多個運維工具監控業務系統,獲得不同類型的數據,以滿足運營運維的需要。企業云平臺需要快速得到監控數據的分析結果,以進行運營管理決策。因此處理海量且離散的監控數據需要高效[5-7]。
基于云平臺監控體系現狀,分析企業云平臺監控體系的痛點問題,展開多云平臺監控體系建設研究,實現企業多云平臺監控體系需求。多云平臺監控體系建設主要分四個方向開展研究:監控對象、監控維度、監控指標以及監控告警,并基于這四個監控方向進行深度分析研究,如圖1所示。

圖1 云平臺監控邏輯圖
由于異構云之間的差異,不能使用統一的方式對云平臺進行監控,每種云平臺都有自己的監控指標和監控工具,并且各云平臺提供的監控工具不能覆蓋云上的所有組件,適合混合云平臺的統一監控體系來屏蔽不同云平臺的差異,實現對云平臺進行全面的監控。
通過剖析云平臺內部結構,采用分層監控策略,監控體系主要分為基礎設施層、云平臺底座組件層、云產品層共三層,實現各層面多維度監控數據的互聯互通。各層通過不同的采集工具進行數據采集,采集的數據交給數據處理模塊進行統一的處理分析。
基礎設施包括機房及物理IT設備,對于機房數據的采集可結合推拉模式從數據中心獲取監控數據,物理設備使用硬件監控工具IPMI進行數據采集,最后采集的數據通過調用監控平臺的數據傳輸接口,將數據匯集到多云平臺監控體系中,進行統一分析處理和存儲。

圖2 云平臺內部結構圖
云平臺層采集的對象包括服務器OS、云平臺底座、云產品組件以及云資源池。監控指標分為基礎配置指標、性能指標、portal探測指標等。這些產品一般由成熟的云廠商提供,通過調用產品的API接口來獲取監控數據。監控數據采集后經過數據處理和分析后傳輸到云平臺數據存儲中心。
云服務層是指云平臺云產品對用戶提供云服務能力。根據云服務資源配置模式的不同,云服務分為三類服務模式:IaaS、PaaS、SaaS。這些服務都是由云廠商提供,廠商也提供了監控工具和監控API接口進行監控數據的采集。采集的數據經過數據處理和分析后傳輸到統一的存儲中心[8]。
構建云平臺數據存儲中心,實現監測數據和應用數據的統一存儲。云平臺數據存儲中心根據業務監測、數據分析場景,采用多項數據存儲方式組合,依據時序分庫的方案進行數據存儲設計。根據使用場景,將數據庫存儲庫分為:實時庫、歷史庫、歸檔庫。實時庫支撐系統運行實時監測、系統異常及業務異常實時告警、系統問題及業務問題快速定位等高時效性平臺能力運行;歷史庫主要支撐經驗分析、趨勢分析、預測分析等離線分析能力;歸檔庫主要用于歷史問題溯源、人工智能數據模型訓練等業務功能。
(1)監測數據包括:業務監測數據、應用監測數據、租戶監測數據、云平臺監測數據、物理監測數據。
(2)應用數據包括:監測分析數據、配置數據。
(3)存儲的數據格式包括:結構化數據、非結構化數據、鏈路拓撲數據、實時流數據等,因此數據存儲中心使用多種數據庫來滿足不同格式數據的存儲,比如:GDB、ES、TSDB、RDS、flume、Redis等[9-10]。
多云平臺監控體系將不同云平臺的監控告警工具統一集成,構建統一的展示平臺,實現監控、告警等數據的統一展現,將離散的組件監控數據按照邏輯組織起來,結合報表和圖標組件,以折線圖、柱狀圖等圖表形式,提供指標可視化展現[11]。
針對項目云平臺告警等信息推送功能缺失和告警項可讀性差的問題,建立統一的告警中心,將告警數據進行統一采集、分析、收斂和展示,實現告警的標準化與實時通知能力,優化處理效率,減少服務不可用時間。支持Email或者短信、微信等多種方式的告警實時通知。

圖3 云平臺數據存儲圖
3.5.1 告警定級
根據物理設備層、云平臺組件層、云產品層、業務系統層進行分類,對不同告警對象,結合告警內容和觸發條件、閥值對告警進行分級,分為故障告警、嚴重告警和一般告警。
(1)故障告警表示出現該告警即可視為已發生故障。
(2)嚴重告警表示該告警不引發故障,主要對核心組件或業務可用性造成隱患,如核心組件資源水位過高、平臺底座節點宕機等,若不及時處置將引發故障。
(3)一般告警表示不對平臺或業務可用性造成影響,或僅對非核心組件可用性產生隱患,如非核心組件的單臺物理服務器硬件故障等。
3.5.2 告警規則
告警規則配置包含單指標告警規則配置、多指標告警規則配置、告警抑制、告警屏蔽等策略。
(1)單指標告警規則配置:單指標告警規則配置主要對監控對象單一監控指標進行告警規則設置,用于簡單場景下監控告警。
(2)多指標告警規則配置:多指標告警規則配置主要針對復雜場景,需對多監控對象多監控指標進行關系分析和影響分析后制定的復雜告警規則。
(3)告警抑制:告警抑制策略是為了防止故障期間,產生告警風暴,郵箱、短信等通知被海量告警淹沒,運維人員很難從海量告警中篩選出重要告警,容易忽略重要告警。為了讓運維人員更專注于重要告警,可通過四種方式實現告警的壓縮合并,分別為自動去重壓縮、自定義壓縮、時間窗口智能降噪和實時智能降噪。
自動去重壓縮:系統內置去重策略,基于時間序列將相同告警根據告警ID和告警標題去除重復告警。例如:系統中有未關閉的告警,若告警ID或告警標題相同,則自動合并告警;
自定義壓縮:在面臨具有可預測、同質化告警數據的組件上,可以通過自定義配置壓縮規則來合并該組件的告警數據。在啟用自定義壓縮時,符合規則的同質類告警會被壓縮至第一條告警下,直至該條告警被關閉;
時間窗口智能降噪:面臨規律性地在短時間內產生海量告警的組件時,可采用時間窗口智能降噪,將所設置時間窗口內發生的海量告警根據所配置規則壓縮后,再進行分派通知;
實時智能降噪:面臨具有海量數據,告警數據無明顯規則且不可預測時,可采用實時智能降噪,智能算法會根據標題內容/告警標題等指標對告警進行智能壓縮,大幅度提高告警數據的有效性。
(4)告警屏蔽:當涉及云平臺組件檢修升級時,需提前對相關組件設置告警屏蔽,防止告警誤報。
告警中心統一處理云平臺各層的監控告警數據,針對云平臺故障、告警進一步精細劃分,通過云管平臺實現告警的分級、轉譯,實現故障、嚴重、一般三級監控,形成高效的兩級協同告警及故障處置機制[12-13]。
在數字化轉型的背景下,電力行業混合云穩定快速的發展對云平臺的監控提出了更高要求。混合云平臺架構復雜,阿里云、華為云架構共存,網絡設備、存儲設備、安全設備、云平臺基礎軟件、云產品等監控對象繁多,監控數據分散,多個監控平臺并行,監控對象缺乏統一定義。本文針對這些問題,對多平臺環境下的監控體系進行深入研究和剖析,提出了建立多云平臺下統一監控的必要性,以及對多云平臺監控體系進行功能和架構設計,希望能夠為日后多云平臺監控體系的實現提供技術依據。