楊猛 張峰 潘磊等
關鍵詞:人工智能;系統運行;風險預警;識別技術
中圖法分類號:TU855 文獻標識碼:A
1引言
當前,數字化轉型已經成為各大企業的共識與必然趨勢,基于大數據、人工智能、云計算等先進信息技術架構打造數字化、智能化運維模式將成為企業數字化轉型的重要支點與技術手段。海量數據存儲、大數據計算能力、人工智能算法等可為信息系統運行風險的分析預警提供更加有力的技術支撐,進一步提高系統運行智能分析效率及預警精準度。
2構建數據中臺基礎
為實現基于人工智能的系統運行風險預警和識別,首先需要搭建一個能承載海量、多維運維指標體的數據中臺。通過集中、統一的方式,將現有分散的IT系統產生的運維數據進行集中采集,對這些IT運維數據進行海量存儲、高效計算和關聯分析建模,通過靈活的服務接口方式,利用標準查詢語言提供各類數據檢索服務,并在此基礎上研究更上層的數據服務能力和數據應用能力。
2.1分布式數據采集方式
隨著運維領域數據采集技術的不斷更新,出現了大量實時的非結構化數據。研究設計新的數據采集架構,可以根據數據體量,分布式部署數據采集器。通過對采集任務的分解,實現多任務并行采集,從而提高數據采集效率及準確性。分布式數據采集方式具備針對不同類型數據源的抽取接口的能力,接口程序規范統一,接口具備設定采集范圍和采集頻率的能力,平臺具備觀察接口采集效率、統計采集的數據量的能力。
平臺采集端可以快速對接各監控工具API,實現結構化數據和非結構數據采集,支持集群的集中管理、機器的集中管理、收集器的集中管理,并支持采集任務管控。
2.2實時大數據處理
在面對海量、高速采集到的數據時,只有強大的存儲和離線計算能力是遠遠不夠的,對數據的實時處理能力和對處理結果的分析挖掘能力變得更加重要,需利用實時流式處理技術,實現實時處理海量流式數據,包括對數據的加載、檢查、清洗、分解、補全、結構化、歸并、引用及異常標記等,實時處理、實時輸出,為在線業務提供實時應用支持。
實時數據處理的過程,是將數據從非結構化到結構化的解析、數據清洗、格式轉換以及數據聚合計算的數字化轉換過程。采用實時流式計算框架、離線計算框架,整合數學統計庫、集成常用挖掘算法、機器學習庫,并提供圖形化操作界面,實現自助式數據分析與挖掘算法的模型創建。
2.3大數據存儲
大數據存儲平臺作為智能運維的基礎數據支撐,需要確保平臺本身安全、可靠,能夠滿足各類監控數據的采集管理和監控,支持實時、海量的運維數據采集、處理、分析和存儲,能提供高性能(PB級數據量、毫秒級響應)、一站式的運維數據服務,能夠極大地提升運維數據的處理效率。
2.4 IT運維監控指標體系
一個完整的IT運維監控指標體系將是一個能夠給繁雜的運維工作帶來便利且提高效率的服務體系。傳統的運維管理大多由人工完成,在復雜、煩瑣的IT細節上花費大量人力資源,而通過數字化技術將服務水平管理、監控和診斷結果呈送給管理者和運維人員,不僅能夠讓運維人員一目了然,提高運維服務水平,又能為管理者的管理決策提供數據支持。
3系統運行健康狀態和趨勢
在構建數據中臺的基礎上,需要進一步通過人工智能(算法)對時序數據進行分析來實現系統運行風險識別和預警。數據流是一組有序、有起點和終點的字節數據序列,與傳統的關系數據模式相比,數據流本身具有持續達到、到達速度快、取值范圍廣3個特點。業務運行狀態相關的數據流表現為時序數據,即時間序列數據。時序數據依賴于時間而變化,可以用數值來反映其變化程度,其具有兩個關鍵的指標:時間和數值。從時序數據的理論分析層面看,一般將時序特征分為趨勢型(季節)、平穩型(噪聲)、周期型。具體如圖1所示。
運維場景下,由于應用系統異常(如重啟)導致指標數據嚴重偏離取值范圍或數據缺失,從而使數據產生“毛刺”,以及應用系統發生變更,讓整個指標數據較變更之前產生“斷層”的情況,這都是在研究中需要避免的預測因素。實際業務中,針對“毛刺”情況需要對嚴重偏離的數據進行剔除,對“斷層”數據進行清除,再進行模型學習。針對指標時序數據的監控方式,一般都為固定閾值方式,即由運維專家為指標設定一個固定的閾值,當指標數據大于閾值或小于閾值時,系統進行異常告警。固定閾值方法的優點是可以利用專家知識進行異常判斷,并且在做異常檢測時計算量低。然而,實際運維場景下,固定閾值方法效益很低。對于平穩型數據,異常表現形式為過高、過低的異常數據,固定閾值方法是有效的。但現實場景下,這類指標數據極小,且要求運維專家為每一個指標制定相應的閾值。此外,指標數據是隨時間呈現一定的發展趨勢,模式會持續地變化,固定閾值方法無法適應時序數據的模式變化。
3.1時間序列預測
通過借鑒時間序列分解的思路,將時序數據分解為趨勢項、周期項、節假日項,由此通過疊加不同成分,來適配各種不同模式的時序序列。
趨勢特征表示序列整體的變化趨勢,大致可分類3類,即水平發展趨勢、上升趨勢、下降趨勢。細分又可分為多種類型,如線性趨勢、多項式趨勢、log趨勢等,不同趨勢可由不同的方式擬合,如使用線性回歸擬合線性趨勢、多項式回歸擬合多項式趨勢等,每一種方式都有適配的趨勢類型。同時,不存在能夠適配所有類型的方法。
大型運維場景下,業務場景狀態比較穩定,當落實在個體設備的某一指標時,影響因素多,不確定性大,指標數據多變,趨勢發展不穩定。因此一般使用基于Loes的分段線性回歸或基于Sigmoid的分段Logistic增長模型。
季節性和周期性一般情況下可視為同一成分,一般可通過傅里葉級數、拉普拉斯級數等方式進行描述、擬合,具體級數應通過在標準數據集上的對比實驗確定。趨勢特征、季節性和周期性的描述方式多種多樣,沒有適配所有場景的通用方法。需要結合場景、通過數據實驗研究,獲得匹配當前需求的最佳實踐。
傳統時間序列預測方法,包括ar,ma,arima,ES等,均采用類似自回歸的方式進行。這類方法都對數據有較高的要求,如arima等都要求時序數據為平穩時間序列。一般情況下,可通過一階差分、二階差分、取對數等方式將數據轉化為平穩數據。然而,不同時序數據的轉化要求不同方式的平穩化操作,并需要結合專家知識,否則無法實現自動化適配。
為規避傳統時間序列預測方法的缺陷,可以使用一個可分解的時間序列模型,其中包含4個主要的模型組件,即趨勢(T)、季節性(S)、周期性(C)和噪聲(I)。針對每一個時間序列的成分,設計對應的特征來提取相應成分的信息:基于特征和參數先驗,進行回歸預測。
趨勢特征表示序列整體的變化趨勢,即序列在較長時期內持續發展變化的一種趨向或狀態。季節性趨勢指以時間為固定周期,呈現循環變化的成分;周期性趨勢指不固定周期、程序循環變化的成分。不過很多時候也會將季節性(S)和周期性(C)視為同一成分。通過趨勢、季節性、周期性不同成分的多種組合方式,最大限度地擬合更多的數據模式。其中,如何擬合時間序列的趨勢成分、周期成分是研究重點。
3.2時間序列異常檢測
基于時間序列擬合、預測的結果,研究智能化適配數據的異常檢測方法,是實現大規模數據流高準確度、自動化檢測的關鍵。在擬合、預測結果的基礎上,研究不同檢測方式對異常檢測結果的影響,比較各種方式在業務場景下異常警告的準確率、召回率等。
時間序列異常可分為兩類,即數值異常、模式場景。兩種異常通常同時存在。在已有的時序擬合、預測結果的基礎上,以擬合結果作為基線,將指標數據與基線做對比,進行異常檢測。不同的對比方式,如與基線固定偏差程度判定、基于偏差分布的動態偏差程度判定,基于數據上下文的模式對比等,在尋找到一些異常點時,也會產生誤告警。此時,需結合標準數據集,做對比實驗,以此挑選適配領域數據的異常判斷方式。
4系統智能化感知和識別
通過分析歷史的日志、告警、報錯等信息,人工智能可以自動分析問題出現前頻繁出現的數據模式,然后在正常存儲系統上匹配這些人工智能學習模式.以形成預測。
除故障外,用戶在日常使用存儲的過程中關注最多的就是容量和性能。系統容量不足會導致系統不可用,客戶業務中斷。性能指標主要指時延、帶寬、IOPS,隨著用戶業務的發展,給系統帶來的性能壓力越來越大,性能不足會讓用戶的應用變慢甚至無響應,導致用戶體驗感下降。利用AI技術,對存儲的性能、容量變化趨勢進行準確預測,一方面可以告知客戶進行擴容、軟硬件升級的時間點,另一方面能提供存儲規劃的具體參考指標。
業務狀態評估系統設計的關鍵在于異常快照的設計、特征提取方式、相似度計算方式的選擇。
異常快照的設計需要結合實際業務進行設定,如請求響應時長、CPU利用率、內存利用率、磁盤利用率、IO、網絡延時等,并可結合隨機森林等特征選擇方式做進一步篩選。
特征提取方式包括數值提取、onehot編碼等,方法的選擇需結合實驗評估效果和計算評估性能進行綜合考量。
相似度計算方式的選擇需在確定特征提取方式之后進行。不同的相似度指標,召回的相似事件有所不同。需經對比實驗確定最佳適配方式。一般使用的相似度計算方式包括歐氏距離、Pearson相關系數、Tanimote系數:
5結束語
基于人工智能的系統運行風險預警和識別技術需要采用自頂向下的設計,以及自底向上建設的形式實現。從數據的角度關注系統運行狀態變化的原因,根據系統運行時的異常現象,將系統可能產生的故障關聯到各種資源的可能故障點,再根據具體事件分析并找到引起業務故障的根源。對指標、事件、日志數據進行充分的挖掘和分析,并利用資源運行狀態對業務運營狀態的影響識別做出科學的預測。
作者簡介:
楊猛(1987—),碩士,高級工程師,研究方向:信息系統運維。