基於IT 健康分析的智能運維新趨勢
隨着 IT 技術的發展與普及,各類信息化系統正日趨成為工業制造領域不可或缺的基礎能力,推動着業務部門、工廠產線的高效運行,因此對信息化系統的高質量運維,是工業制造企業保持高效生產的關鍵。傳統上,企業 IT 運維是通過系統指標的變化,例如處理器 / 內存使用率、磁盤吞吐量等,由人工判斷系統是否存在問題與隱患。隨着企業信息化系統日趨多樣, 加之軟硬件平台不再緊密耦合,單一系統可能存在多個廠商的硬件與服務,因此信息化系統的復雜程度正呈指數化增長,給工業制造企業的 IT 部門帶來了巨大的挑戰。
雖然許多企業已經部署了自動化的運維監控系統,並基於專家規則對異常指標進行告警,但這種借助經驗構建的系統,無法讓運維人員通過告警信息即時進行原因分析。而通過專家后期采集、分析整套系統的數據,又往往需要很長時間。同時,由於技術能力的差異,專家對監控指標的分析結論也會有差別, 為系統異常的及時甄別與處理埋下隱患。
在英特爾與南京基石數據技術有限責任公司(以下簡稱 “基石數據”)看來,要根本解決這一問題,需要從運維生態入手,
針對設備日志、運行數據等時序數據建模,建立 “IT 健康分析” 系統來發現存在的系統隱患,進而推送給運維部門或者專門的優化部門進行優化改進,並能夠通過經驗積累實現自我優化。
如圖 2-2-19 所示,借助基於時序數據構建的 “IT 健康分析”系統,企業一方面可以及時發現系統隱患,並通過常態優化或架構優化來予以修復;另一方面,模型也可對信息化系統的運維維保進行支撐,並通過運維經驗和最佳實踐的積累,來不斷自我完善和優化。而要構建這樣的系統,工業制造企業需要解決三個方面的問題。
- 引入高精度、高效率的智能分析模型作為系統核心,減少運維系統對人力,尤其是對專家的依賴;
- 為智能分析模型提供強有力的硬件基礎設施,特別是高性能計算力的輸入;
- 以合理的系統架構設計,保證充分的計算、分析能力能 “ 下放” 到運維一線。
基於以上分析,英特爾與基石數據首先引入 AI、大數據等技術, 通過機器學習、深度學習方法來建立智能模型,對復雜的時序指標數據進行分析並判別系統的運行狀態。基於海量數據訓練出的智能分析模型,不僅有着更勝於專家系統的准確率和效率, 更能大幅減少運維工作所需的人力,提高運維效率。一項統計數據表明,通過智能模型來預測系統狀態變化,工作可以在秒級內完成,且分析准確率超過 98%。
為了使 “IT 健康分析” 系統和智能分析模型發揮更大效能,英特爾為之提供了多種先進軟硬件產品與框架,為智能分析模型的訓練推理過程提供強勁算力和工具。同時,新方案還引入了“雲邊協同” 的新架構,一方面,通過就近部署智能分析模型, 提升運維能力的實時性;另一方面,利用雲端的專家知識庫, 對發現的問題進行閉環管理,展開問題溯源與優化方案編制, 並將優化方案反饋回現場。
現在,這一全新的系統方案正廣泛地在 “ 數據庫健康狀態評估”、“網絡安全風險預警” 等實際場景中開展實踐,並取得了良好的應用效果。
基石數據以機器健康模型,提升企業數據庫運維效率
■ 項目背景
作為 IT 系統的核心組件之一,數據庫的健康對於企業信息化系統的高效運行至關重要。傳統上,運維工程師需要通過數據庫管理系統 (Database Management System,DBMS)等工具,以人工方式對數據庫進行統一的管理、控制和調配。但這種方式既繁瑣又缺乏效率,尤其當企業信息化系統變得更為復雜,且與業務緊密關聯時,配置優化效果將直接影響企業生產的效率。以產線自動化監控系統為例,通過高清攝像頭采集的產線圖像需要在數據庫中暫存后再送至后端處理,在這種高吞吐量的場景中,如何設置數據庫的緩存機制,如何在阻塞發生前啟動相關 Session 的處理等,都會直接影響該產線的生產效率和產品品質。
基石數據推出的機器健康模型能有效應對以上挑戰。這一模型利用數據庫豐富的時序化監控數據,例如連接狀態、處理器 / 內存使用率、磁盤讀寫時延、緩存大小、等待時間等,通過機器學習或深度學習的方法進行訓練,並得到合理的數據庫健康預測得分,進而幫助運維人員制定相應策略。
同時,這一健康預測方法,也是英特爾與基石數據合作開展的 “IT 健康分析” 系統在數據庫智能運維領域的重要落地,部署在邊緣的數據庫健康預測系統所得到的預測結果,可以與雲端的 D-Smart 運維知識自動化系統形成交互,對方案實施迭代優化。
■ 基石數據機器健康模型方案描述
基石數據機器健康模型方案基本架構如圖 2-2-20 所示,貼近電網管線、電力生產等一線部署的機器健康模型,由數據預處理、模型訓練 & 驗證以及預測系統幾部分組成,可以使用訓練數據,通過特定算法訓練模型,並利用測試數據對模型效果進行驗證,迭代優化模型。最終的預測結果將傳送到位於雲端的 D-Smart 運維知識庫,並可以對接內外部專家系統、廠商支撐、系統優化團隊以及專門的 IT 系統健康管理團隊,根據預測結果對數據庫狀況進行分析,開展進一步優化。
機器健康模型會對數據庫當前的健康狀態進行評價打分,並預測未來一段時間內的健康得分。因此如圖2-2-21所示,模型的輸入數據X包括了會話連接狀態、處理器/內存使用率、磁盤讀寫時延、緩存大小等具有時序特征的數據庫監控數據,輸出Y則是數據庫的健康得分,包括當前分數和未來時間的預測分。分數為百分制,如96分。模型需要通過健康得分(標簽)來調整優化模型的參數,因此模型采用的是監督學習的方法。
模型首先從一線數據中獲得供訓練和測試使用的數據集,這些數據已經預先打好標簽,並按照 80%:20% 的訓練與測試比例進行划分。如圖2-2-22所示,方案中針對數據庫運維的健康模型使用了7類68個維度的指標,並預先設定了各個指標的健康度得分。由此,系統可以得到一組以時間序列排列的數據庫健康得分數據。
在獲取數據集之后,系統首先進行缺失值處理。數據集中的缺失值會帶來噪聲,從而對最后的預測結果造成偏差,因此方案采用了平均值填充或上下值填充的方式來予以處理。前者是將均值填入缺失值,后者是將前一個值或后一個值填入缺失值, 不同缺失值填充方法會對預測結果造成差異,一般建議每行數據如果缺失率小於0.6則填充平均值。示例代碼如下:
特征選擇是數據預處理環節中的重要步驟,進行合理的特征選擇可以降低維度,查找和選擇最有用的特征,提高模型的可解釋性。另外,特征選擇還能減少不必要的計算量,加快訓練速度,同時降低模型方差,提高泛化效果。
在特征選擇過程中,首先需要查找高度相關的特征,在機器學習方法中,這類特征可能會導致模型在測試集上的泛化能力下降。其次是計算特征的重要性。示例代碼如下:
在使用梯度下降一類的機器算法中,如果能保證不同特征的取值在相同或相近的范圍內,比如都處於 0-1 之間,那么梯度下降算法會收斂的很快。因此在數據預處理的最后,方案對數據進行了特征縮放處理。
經過預處理的數據集需要選擇合適的算法進行訓練,方案根據數據庫時序數據的特點選擇多種算法進行了比較,包括支持向量回歸(Support Vactor Regression,SVR)算法、RNN- LSTM 算法,GBDT 算法、XGBoost 算法以及隨機森林算法等。通過驗證比較表明,在時序化的數據庫健康預測環境中, XGBoost 以及隨機森林算法的預測准確度和效率較高。
在上述過程中,機器健康模型選擇了英特爾® 至強® 可擴展處理器來為整個訓練推理過程提供強勁算力。這一系列的處理器不僅集成了更多的內核和線程,對微架構也進行了全面升級優化,並配備了更快、效率更高的高速緩存來提升處理效能。同時,其集成的英特爾® DL Boost 技術,對 INT8 數值類型數據有着更好的支持,可大幅提升方案的模型推理速度。
■ 方案成效
通過在多個電力系統生產環境中的實際部署,驗證了采用XGBoost 或隨機森林算法的機器健康模型可對數據庫健康狀況進行有效預測。如圖 2-2-23 所示,上圖是模型預測結果, 下圖是實際情況,兩者的均方誤差(Mean Squared Error, MSE)為 0.28,而在采用 XGBoost 算法的情況下,均方誤差可進一步縮減到 0.218。同時,得益於基於英特爾 ® 架構的處理器的強大算力,兩種算法的訓練時間均在數秒內,滿足了工業制造企業預測實時性的要求。
利用機器健康模型,及以其為核心的 “IT 健康分析” 系統,基石數據針對某電力企業省級公司的 20 多套系統進行了IT 健康分析巡檢,僅在一個多月時間里,就發現問題 143 個,並全部完成溯源工作。同時,利用預測結果,用戶還通過系統配置 調整、SQL 調整、參數調整等方法,提升了系統性能,使一體化電量與線損系統、數據管理服務、結構化數據中心等與業 務息息相關的核心信息化系統的健康分,由不足 80 分上升至90 分以上,獲得了從管理層到生產一線的一致好評。