AI在運維中的應用

2021-09-13 22:43:26 字數 3604 閱讀 6813

要:隨著x86分布式技術應用,伺服器數量越來越多,網路拓撲結構越來越複雜,運維越來越辛苦,風險越來越高。智慧型化運維aiops將ai技術應用在運維場景,是devops的運維部分,是「開發運維一體化雲中心」的重要基礎設施之一,其最大的價值在於縮短故障恢復時間,提高it服務連續性。

本文描述乙個運維及在這個場景下對ai的需求,目標是嘗試將ai引入運維過程,提高運維效率、縮短故障恢復時間。

關鍵字:機器學習;devops、aiops、流量**

隨著x86分布式架構應用,伺服器規模越來越大,乙個交易經過的服務數量,乙個請求的可能路徑以笛卡爾乘積方式增加,乙個節點異常往往會引起網路上多個伺服器告警。這給故障定位、故障應急處理、系統瓶頸**帶來巨大的挑戰。針對這種情況業內把人工智慧引入到分布式系統運維管理中,以期通過人工智慧提高運維效率,縮短故障恢復時間。業內稱加入人工智慧的運維為aiops。根據 gartner report,智慧型運維相關的技術產業處於上公升期。2016 年,aiops 的部署率低於 5%,gartner 預計 2019 年 aiops 的全球部署率可以達到 25%。隨著人工智慧的成熟,運維工程師將逐漸轉型為大資料工程師,主要負責開發資料採集程式以及自動化執行指令碼,負責搭建大資料基礎架構,同時高效實現基於機器學習的演算法。

aiops代表結合人工智慧的it運維。它是指利用機器學習從各種it運營工具和裝置收集的大資料並訓練模型,實時自動發現問題、分析問題、響應問題的多層技術平台。gartner通過圖1解釋了aiops平台如何工作。aiops有兩個主要元件:大資料和機器學習。為了將大資料平台中的參與資料(通常在票據、事件和事件記錄中找到)與觀測資料(如監控系統和作業日誌中的觀測資料)結合起來,aiops需要從傳統it資料中移除。 aiops針對合併的it資料實施全面的分析和機器學習(ml)策略,找到故障模式和故障處理的關係,aiops可以被認為是核心it功能的持續整合和部署(ci / cd)。現階段網路效能管理的難點在於缺少業務視角,同時缺少覆蓋全域性和第三方的檢視。gartner提出了aiops的概念,並**到2023年,aiops的採用率將會達到50%。(部分論述來自gartner report)

從外部看,分為感知、分析和處置三部分.如圖2所示,在aiops前端是傳統的監控系統——稱為感知部分,主要負責現實物理狀態的獲取,它是整個aiops的前提,只有準確、及時、全面的了解系統當前執行狀況,後面的處理才可能實現。在aiops後端是it運維管理系統、自動部署系統、通知告警系統——統稱為處置類系統,這類系統根據aiops指令轉換為操作具體伺服器等it裝置的批量作業流,並通過執行作業流響應aiops指令。

從內部看aiops內部主要是平台資源管理、大資料管理、機器學習和模型應用幾個部分。平台資源管理主要是計算資源管理、儲存資源管理、任務排程等,可以基於現有的雲平台實現;大資料管理主要包括資料介入、管理etl、資料檢索等大資料平台功能;模型應用主要是運用訓練好的模型,根據感知輸入,決定處置動作。

機器學習是aiops的核心,機器學習用來識別感知資料中的模式。雖然限制機器學習演算法很健全,開源庫也很多,截止目前真正在運維中使用aiops的才5%,清華大學裴丹教授總結說「智慧型運維落地的核心挑戰是:從工業界的角度,我們有資料、有應用,但是缺乏一些演算法和經驗;從學術界的角度,我們有不少理論演算法,但是缺乏實際的資料以支援科學研究,也不熟悉運維的場景。」基於這個思路,業內一部分同仁通過收集了很多的資料,資料的形式有kpi時間序列、日誌等。假如開啟首頁的響應時間是我們的kpi,當首屏時間不理想、不滿意時,我們希望能夠找出哪些條件的組合導致了首屏時間不理想。這個方案有三個困難,第一開啟首頁設計的網路節點的日誌必須全部收集,不僅僅是主機的,還包括相關網路裝置等。第二,每個節點採集的指標要和「首頁開啟」這個動作相關,比如儲存空間使用率監控指針對「首頁開啟」沒有意義的,實際情況是做ai的人並不知道感知給他的資料是否決定了現在的現象,為了避免依賴不得不擴大指標採集範圍,這不僅增加了成本,還會因為指標相關性引起模型訓練困難。第三,機械學習需要很長實際的資料積累,這裡不僅包括監控資料,還要包括故障資料——告訴機器什麼情況是故障,這需要大量的資料標記工作。由於資料不足等原因,我了解的情況是自動化運維系統更多的是在**、分析、告警資訊篩選等方面,直接對伺服器執行重啟、擴容等動作的很少。

當你成功在運維場景和人工智慧之間找到結合點的時候,你會發現拓撲結構、系統架構、作業系統特性、中介軟體特性、資料庫等都會對aiops的決策產生本質的影響。更為困窘的是市場變化導致it服務的頻繁變化,以實施敏捷、devops的團隊為例,軟體發布週期普遍在幾天到幾周之間,而這種變化要經過一定的時間、一定的資料積累才能反饋到模型中去。

這讓我想起裴丹教授說一般有「前景光明」、「前途光明」這些詞的時候,下面跟著的就是「道路曲折」。實際上,智慧型運維是乙個門檻很高的工作。實施aiops需要對銀行系統、運維知識、機器學習都有深入的了解,才能取得成效。幸運的是,這三方面技能在中國銀行軟體中心都能找到。對銀行系統的了解,首推總體部,總體部架構師隊伍設計了中行系統,並且通過介面管理系統記錄銀行業務系統之間的呼叫關係;軟體中心有專門的運維隊伍,他們運維經驗豐富,不僅熟悉系統狀況,而且詳細記錄了各個產品部署關係;隨著devops的實施,部署關係已經很好的管理起來,提供了精確的部署系統,而且為自動化處置提供了必要的條件。這些軟體中心獨特的有利條件,使我們不需要從零開始,而是結合決策樹、知識圖譜等已知的知識進行模型訓練。主要工作思路如下:

建立運維知識圖譜

選圖的節點: 服務/介面   程序   容器   vm  模組  產品。

設定屬性:給每個節點設定屬性。比如cpu數量;歷史tps峰值等

建立圖中節點關係:首先建立靜態關係,通過自動部署中的cmdb內容,建立節點/節點組中的關係。通過總體部介面管理文件建立呼叫關係圖,此時已經標記了可能路徑。靜態關係有可以分為啟動依賴關係;執行時依賴關係;分類關係(見擴充套件分類)。

建立動態引用關係:通過監控發現的彼此之間的呼叫關係,這裡主要指全路徑跟蹤發現的關係。

路徑學習:由於負載均衡、soa等策略,一些路徑可能不存在,但隨時會建立。這部分需要機器學習自動識別補充

選擇典型場景應用aiops

aiops運維場景有十幾種,由於篇幅所限,本次主要分享根本原因分析這個運維場景。在中國銀行的it系統中,完成乙個業務交易需要經歷多個產品、多個節點、多個程序、會呼叫多個介面。一旦交易鏈路上某個節點異常,會導致上游所有節點表現異常,此時監控系統上會表現為多個產品同時告警。理想狀態下故障點及之前的節點交易堵塞,故障點之後的節點沒有請求,此時只需將交易路徑上的負載及情況視覺化就能夠快速定位問題。不過實際情況是乙個介面往往被很多交易使用;乙個節點上一般提供多個介面服務;負載均衡器等分流裝置後有多個同型別節點。這些因素構成了乙個複雜的it服務網路,在複雜網路下,幾筆交易異常,很難在監控系統上引起明顯特徵。這種場景適合應用人工智慧,人工智慧系統能夠很好的捕捉這個特徵,在故障發生且還沒有引起大規模業務堵塞的時候通知處置系統採取動作。這不僅降低了運維人員應急處置壓力,更為重要的是提公升了系統連續性。基於運維知識圖譜選取資料,訓練模型可以有效降低模型訓練時資料範圍,去除服務網路上無關資料干擾,使模型訓練更快速準確。在訓練根本原因分析模型時,主要是找出交易異常發生位置與交易路徑上各種監控指標的關係。

大道至簡,模型訓練過程方法很好說清楚,但實際訓練過程很複雜,如特徵選擇、降維、共線性等都需要非常專業的資料處理知識。筆者僅以此拋磚引玉,借助軟體中心架構師隊伍的知識理論降低人工智慧在運維場景的應用難度。謬誤之處,請批評指點!

bim 水利樞紐 運維 BIM在運維階段應用案例

實際應用範例 武漢國際博覽中心 一 空間管理 基礎資訊 模型建模規劃中規定的空間幾何引數 竣工後對展館實際商業空間中的廣告和展位資源的利用情況資訊進行增刪改 查。管理內容 管理廣告牌 展位的租賃資訊 優化展館空間劃分 二 裝置管理 基礎資訊 利用 bim模型傳遞建築物裝置及管線的設計資訊,建立裝置的...

bim 水利樞紐 運維 BIM在運維階段應用案例

實際應用範例 武漢國際博覽中心 一 空間管理 基礎資訊 模型建模規劃中規定的空間幾何引數 竣工後對展館實際商業空間中的廣告和展位資源的利用情況資訊進行增刪改 查。管理內容 管理廣告牌 展位的租賃資訊 優化展館空間劃分 二 裝置管理 基礎資訊 利用 bim模型傳遞建築物裝置及管線的設計資訊,建立裝置的...

AI在Android中的應用

翻譯 信不信由你,我們當前正生活在乙個技術革命的年代。我們曾經像做夢一樣的技術 人工智慧 artificial intelligence 在世界的每乙個角落,對商業的成功起著必不可少的作用。在基於語音的搜尋出現之前,對使用者來說,基於ai的導航是很難做到的。但現在,諸如執行語音命令和與客戶服務進行通...