獨家揭秘 | 深信服在桌面云場景下的AIOps實戰分享
近日,QCon全球軟件開發大會在廣州舉辦。深信服創新研究院高級技術專家易佳在現場帶來《深信服桌面云AIOps智能運維一體化方案演進》的主題演講。

本次演講重點分享了深信服在桌面云場景下AIOps的相關實戰經驗,以下是他的演講內容摘要。
深信服桌面云簡介
桌面云,即虛擬桌面架構(Virtual Desktop Infrastucture),俗稱虛擬云桌面(VDI)。VDI的核心是云桌面的計算存儲網絡在服務器端完成,通過專有協議連接云桌面。易佳介紹,深信服桌面云具有移動性強、不受地域限制、集中管控、安全度高等特點。
挑戰與方案設計
隨著桌面云運維遇到第三方軟件兼容性、藍屏、木馬等挑戰,企業需要快速定位問題所在,如應用卡慢、響應延遲等,以及企業可能遇到私有云資源不足、硬件故障、網絡等深層挑戰,為此,深信服提出了桌面云智能運維一體化技術方案。

該方案包括數據服務和智能分析服務兩大核心部分。其中,數據源主要為Logs、Traces和Metrics,表示桌面云的日志、鏈路和指標數據。
所有數據經由數據總線流入數據分析引擎,統一存儲于InfluxDB、MongoDB等數據庫,結合OpenAPI,供上層調度、分析和業務應用。

調度器部分,包括策略下發器、動作與建議編排、平臺自身健康監測等;
算法分析部分,包含特征工程、訓練與模型調優,常用算法如故障預測、異常檢測、關聯推理等;
業務系統部分,包括閑置虛擬機識別、虛擬機擴容縮容建議等,如果出現故障,對故障進行溯源和故障分析。
這里數據采集引擎使用的是Sangfor AIOps Agent,借鑒了telegraf、datadog等開源agent的思想,實現了基于Golang的插件化采集引擎,支持采集Windows、Linux等多類不同維度的指標數據,供給AIOps分析。
隨著用戶訴求和用戶體量的的不斷變化,AIOps數據模型與AI框架演進了三個版本。

第一個版本主要是一套輕量級監控分析系統,支持時序數據、告警數據、統計分析和容器化部署;支持主機、虛擬機數據采集做簡單AI分析,適用于小規模用戶。
第二個演進的版本是一個輕量級AIOps引擎,支持OpenAPI和數據統一調度。同時也在這個版本引入緩存機制,實現了存算分離。同時,更多的AI算法也得到了支持。
從第三個版本開始,實現了一套桌面云全棧AIOps引擎。在該版本中,面對數據上報的性能瓶頸問題,抽象了數據接口,實現負載均衡。

其次是設計了投遞分級,內存磁盤雙對列。對于優先級比較高的實際數據、實際體驗影響比較關鍵的指標,優先保障入庫。

同時,也做了多級分表,優化了數據結構。保留橫向擴展能力,按集群分庫分表。減少非必要的tag入庫,如ip和hostname,只在tag中保留一個。

為了平衡實時性與準確度,減少重復數據,可以按采集指標區分不同采集周期,如CPU設定為10s采集一次,memory設定為20s采集一次;靜態數據盡量只采集一次,如服務器型號、磁盤大小;加入了時間窗口內數據去重,如進程信息等;根據指標量與繁忙程度,動態調整采集周期。
最后,針對多維異構數據進行了冷熱分層處理,冷數據存檔供AI離線分析和模型訓練,熱數據實時監控和展示。
算法設計
深信服桌面云AIOps引擎提供業務自適應的AI調度,包括統一數據管理、統一模型管理和統一平臺策略。

涉及的算法包括基于bagging策略的分段線性回歸算法、基于網格搜索的縮擴容模型、基于資源約束算法和貪心策略的虛擬機新增模型、基于時間序列特征提取和隨機森林的閑置資源識別模型等。
基于bagging策略的分段線性回歸算法,目的是設計一套評分模型來評測當前虛擬機、主機和集群的健康程度。
基于CPU、內存、磁盤、告警等多維度學習,為每個維度建立弱學習器,最后綜合多個弱學習器構建強學習器,計算得出整體的健康評分。
該算法綜合評價多維核心資源消耗數據,以識別整體負載水平,結合專家經驗設置的告警規則以捕捉偶發異常,運用bagging策略進行加權投票計算出機器的最終健康度評分。

基于網格搜索的縮擴容模型在公有云或混合云場景也比較常見。當虛擬機CPU和內存資源不夠或過剩時,需要做精細化調度,在保證體驗的同時,控制運營成本。
該模型基于歷史的CPU和內存時序數據來計算有效峰值,根據計算得到的資源有效峰值數據判斷是否命中縮容/擴容策略,若命中則進一步判斷該虛擬機是否處于懶惰機制保護時間段,判斷通過后基于網格搜索以及A/B Test方法給出虛擬機最佳推薦配置。

資源約束算法和貪心策略的虛擬機新增模型,是基于總體可容納并發和當前并發來設計的,根據并發量來計算整個集群剩下多少內存和vCPU,讀取集群整體配置情況以及當前虛擬機并發情況。
根據經驗換算公式得到mhz單位的CPU容量剩余數據與內存剩余數據,捕捉虛擬機平均vCPU消耗數據后,基于資源約束算法結合貪心策略,輸出可新增虛擬機建議和硬件擴容優化指引。

基于時間序列特征提取和隨機森林的閑置資源識別模型,結合可擴展假設測試的時間序列特征,擴充虛擬機特征維度,訓練隨機森林模型,輸出虛擬機閑置概率以及處置建議,同時收集用戶反饋迭代優化預訓練模型以形成閉環。

實踐與落地效果
該方案支撐大盤、集群、主機、虛擬機、網絡、存儲、應用軟件全棧監控與分析。方案引入50+規則診斷一些核心指標問題,采集超過800維度的數據,適配30+卡慢場景,實現20+機器學習和統計算法,從而做到識別出常見的異常問題。

在桌面云場景下,虛擬機內第三方進程問題比較多,應用深信服桌面云AIOps方案之后可以改善很多。
針對卡慢問題,深信服桌面云卡慢/故障異常檢測準確率達到87%。實施卡慢緩解建議后,約有47%的問題能夠得到明顯緩解。
執行AIOps優化策略后,整體成本平均下降18%左右。同時,AIOps的智能診斷能力,可以覆蓋桌面云65%的已知資源卡慢問題。

此外,深信服桌面云AIOps也面臨一些挑戰。比如私有云場景下,因網絡限制,很難獲取大規模數據持續不斷地進行AI學習,這導致整個AI鏈路過長。其次,用戶的業務場景很多,在醫療、金融等不同場景下,算法模型如何做到較高的覆蓋率和精準的識別,這也是當前比較棘手的一個問題。

深信服桌面云未來的演進方向,會體現在增加更多的反饋和模型的自更新機制,實現多業務場景的覆蓋。同時,基于業務畫像和運維知識圖譜,實現精細化故障診斷。
以上就是關于《深信服桌面云AIOps智能運維一體化方案演進》的分享,點擊閱讀原文,持續關注更多技術干貨內容。