容器故障檢測系統 CPDS (Container Problem Detect System) 是由北京凝思軟件股份有限公司(以下簡稱“凝思軟件”)設計並開發的容器集群故障檢測系統,該軟件系統實現了對容器TOP故障、亞健康狀態的監測與識別。
2022年11月,凝思軟件正式將該項目開源至openEuler社區。
+ + + + +
背景介紹:
隨着近幾年企業數字化發展浪潮及雲原生技術的普及,低時延和高並發的線上場景頻繁出現在企業日常經營中,業務創新的需求也在倒逼企業不斷運用新興技術手段。現如今,容器技術被廣泛應用於人工智能、大數據、邊緣計算等場景,作為輕量化的計算載體,為更多的場景賦予高度的彈性與敏捷性。
業務規模的增長,容器集群規模不斷擴張,IT運維壓力也成比例增大。各種軟、硬件故障而造成的業務中斷,成為穩定性影響的重要因素之一。目前業內對容器集群故障的檢測方案主要基於集群組件狀態檢測、服務入口監控、自定義接口檢活等,具有一定的局限性,難以對服務的亞健康狀態進行檢測與識別。處理方式也缺乏故障的診斷與執行策略的制定,難以處理一些關鍵、核心故障。
針對目前雲原生領域存在的問題,凝思軟件(LINX SOFTWARE)發起了CPDS(容器故障檢測系統)開源項目,該項目開發的系統實現了對容器集群的故障檢測、診斷與策略執行,解決了行業內的一個核心痛點問題。
+ + + + +
技術路線:
容器集群異常總體為三大類,即:集群基礎服務異常、集群OS異常、業務服務異常。
集群基礎服務異常類問題,利用systemd、initv等技術對相關關鍵服務進行啟動、監控與策略執行。
集群OS異常類問題,在宿主機上實現節點代理,對節點網絡、系統調用、磁盤LVM等相關信息進行採集、上報及策略執行。
業務服務異常類問題,採用業務無侵入的方式在節點、容器內設置跨NS的代理,針對容器內的應用狀態、資源消耗情況、關鍵系統函數執行情況、io執行狀態等進行全方位的監控、分析與異常檢測。針對如CPU佔用高的這類現象,對其多個參數、指標(irq、iowait等)進行細化分析,定位問題方向,同時結合系統調用、網絡、磁盤等方面採集到的數據進行聯合分析,定位故障原因,採取相應措施。同時針對業務容器內應用的相關係統調用進行執行結果、耗時等多維度分析,定位容器亞健康等潛在問題,採取相應措施,保障業務容器的穩定運行。
+ + + + +
系統架構:
CPDS系統技術架構如下圖所示。其中信息採集模塊通過節點、容器信息採集程序從集群基礎服務、集群系統、業務容器服務等多層面進行關鍵數據採集,並上報異常檢測模塊;異常檢測模塊完成數據預處理後基於異常規則對採集數據進行異常檢測,完成後將檢測結果數據進行上傳診斷模塊;診斷模塊基於診斷規則進行節點、業務容器的故障/亞健康診斷,並通過用戶交互模塊進行可視化診斷結果展示。

+ + + + +
未來規劃:
CPDS由CloudNative SIG進行開發維護,計劃在23年下半年發布第一個R版本,提供對openEuler-22.03-LTS的支持。
項目地址:
https://gitee.com/openeuler/Cpds
+ + + + +
關於 凝思
北京凝思軟件股份有限公司(以下簡稱“凝思軟件”)由“中國Linux先行者”宮敏博士於2016年創辦,是國內先進的國產安全操作系統廠商,以“實現國家大型基礎設施行業基礎軟件國產化安全化”為使命,致力於研發生產“高安全性、高性能、高穩定性”的基礎操作系統軟件及相關產品和服務,在操作系統層面保障生產及關鍵業務系統的安全穩定運行,目前已成為國內大型基礎行業國產操作系統的中堅力量。
凝思軟件擁有安全操作系統、容器系統、分布式存儲、虛擬化管理平台、安全雲桌面系統、大數據平台、可信驗證系統、內網主機安全監管軟件、網絡高可用軟件、Windows應用運行平台等系列產品。