Categories
程式開發

智能運維在金融核心領域的研究與應用


本文由 dbaplus 社群授權轉載。

各位朋友大家好,很榮幸今天能跟大家分享關於智能運維的一些研究和實踐成果。

分享概要

1、背景介紹
2、智能運維研究
3、智能運維應用實踐
4、智能運維實施路徑

一、背景介紹

在開始演講之前,我先簡單介紹一下中國結算。我們公司是中國證券市場的中央證券登記結算機構,負責上交所、深交所、股轉公司所交易的全部金融產品以及部分場外交易產品的登記、存管、結算業務。

作為資本市場的核心基礎設施,我們所負責管理的證券總市值近67萬億元人民幣,在我們這裡開戶的投資者總數超過了1.5億,跟我們打交道的主要是各個證券市場參與方,包括滬深交易所、證券公司、結算銀行、上市公司、香港結算等境內外的將近4350家市場參與方,我們與他們進行各類數據交換,來完成登記結算業務處理。

智能運維在金融核心領域的研究與應用 1

我們的技術系統既有傳統主機,也有開源開放平台。傳統主機負責後台批處理業務,開放平台負責前台實時業務、在線交互業務。因此我們的技術系統需要同時具備高安全性、高可靠性及海量處理能力。

目前的技術系統能滿足這樣的高需求,但資本市場每年都有創新業務。前些年滬港通、深港通,去年的滬倫通、今年的科創板,還有未來要推出的交易所與銀行間債券市場互聯互通,這些業務都會導致證券登記結算系統與外部的耦合度增加。為了滿足未來發展需要,技術系統在轉型,從專有化向國產化轉型,從集中封閉式向開放分佈式轉型,從雙數據中心向多數據中心轉型。而在轉型發展中,技術系統傳統運維模式將面臨著三大挑戰。

智能運維在金融核心領域的研究與應用 2

一是安全運行挑戰,我們公司對安全要求非常高,現在傳統運維模式是事後處置模式為主,這個已經不能滿足需求了。二是人力緊缺挑戰,技術系統運維工作量大,而且風險很大,運維崗位特別是值班崗位的吸引力逐漸降低。三是遠程運維挑戰,一般來說數據中心地理位置是較為偏僻,多方面因素使得運維成本逐漸增加,可用人力資源日趨緊張,運維壓力日趨增大。

傳統的現場運維、事後處置為主的運維模式有必要得到改變,才能進一步的提陞技術系統安全性、穩定性和高效運行能力。而當前主流運維技術已從自動化運維向智能運維發展,如何利用人工智能來輔助甚至部分替代人類,以此進一步提昇運維質量和效率,成了當下研究的熱點。

智能運維在金融核心領域的研究與應用 3

現在主流運維技術已經從自動化運維向智能化運維發展了,我們開展了智能運維研究,希望能回答以下問題。

  • 一、智能運維到底是什麼,它的定義是什麼?
  • 二、我們引入智能運維的目標是什麼?
  • 三、在傳統金融機構中,如何找出合適的應用場景。
  • 四、基於當前運維現狀,如何構造智能運維的技術架構。
  • 五、這條智能運維道路該怎麼走,該採用何種實施策略。

二、智能運維研究

智能運維在金融核心領域的研究與應用 4

運維是什麼?其實就是技術人員想盡一切辦法用盡一些手段,使系統處於一種長期穩定,高效安全可運行的狀態。早期的1.0時代的運維是採用手工的方式,耗時耗力,風險也大。

智能運維在金融核心領域的研究與應用 5

之後的2.0運維是自動化運維,利用工具部分替代了人的操作,實現了大規模和批量化的操作,比如說利用腳本來實現對系統監控、發布部署等等。現在大部分金融企業都已經是自動化運維了,也用了很多的自動化工具,軟件有監控、硬件有監控、機房環境也有一個監控系統,工具多,而且功能日漸重疊,層次化、模塊化都有不足,監控、運維、告警各成體系,缺乏統一化體系。並且自動化運維的本質依然是人與自動化工具相結合的運維模式,人工決策與實施是運維的主要驅動力,受限於人類自身的生理極限以及認識的局限,無法持續地面向大規模、高複雜性的系統提供高質量的運維服務。

3.0時代的智能運維則是通過機器學習等人工智能算法,自動地從海量運維數據中學習並總結規則,並作出檢測、預測以及決策的運維方式。它能夠模擬人類運維的操作,甚至能幫人類做出運維決策。它就像是一個機器人,不眠不休的幫我們盯著系統,不僅能對異常做出預警,而且在出現異常後,它能迅速幫我們查找引發異常的原因,甚至能主動修復異常。

智能運維在金融核心領域的研究與應用 6

相對於手工運維、自動化運維而言,智能運維的優點體現在效率高、可用性高,我們學習使用智能運維的成本低,就像智能​​手機那樣簡單方便。

但缺點也顯而易見,一是建設成本高、研發難度大。畢竟用智能手機簡單,但是研發智能手機困難。二是它是一種新技術,很多公司都處於起步階段,這就意味著未來發展中遇到的坑,可能沒什麼先例可循。

智能運維在金融核心領域的研究與應用 7

為什麼說它是一種新技術呢。這是一張2017年Gartner發布的成熟曲線圖,在這張圖中,智能運維就像剛出生的嬰兒,它才剛起步。

智能運維在金融核心領域的研究與應用 8

那最近的情況又怎麼樣呢?我們開展了廣泛的調查研究,發現智能運維不僅在科研領域有諸多的研究成果,甚至在多個行業已經落地了。自從2016年智能運維概念提出,到現在就有多個產品與應用落地,智能運維之所以熱也是因為它已展示出強大的生產力。

智能運維在金融核心領域的研究與應用 9

回過頭來看智能運維的定義,智能運維其實是基於人工智能算法,分析挖掘運維大數據,從海量的數據中學習並總結規律,最後利用自動化工具模擬人類實施運維操作、實施運維決策的過程。也就是說智能運維由算法、數據、工具組成,它們就像是人的大腦、眼睛、手一樣密不可分。

智能運維在金融核心領域的研究與應用 10

運維大數據平台是眼睛,用來採集、存儲運維數據,能將各種各樣的數據信息轉換成有價值的、格式統一的數據。那麼什麼是運維數據呢,它有哪些組成呢?我們梳理了運維數據由三部分組成,分別是監控數據、日誌數據以及配置信息,前面兩個是系統運行中產生的動態數據,而配置信息則屬於靜態數據,它們都是用來描述系統的狀態。

智能運維在金融核心領域的研究與應用 11

和一般的大數據平台基本一致,運維大數據平台也是由數據採集層、存儲層、計算層、展示層所組成。不同的是在計算層中,離線計算是對歷史數據進行批量分析與計算,得出運維主體畫像和運維知識圖譜,實時計算是對實時數據進行在線計算,一般用於做檢測、預測、查詢等。因此數據計算層是智能運維算法所工作的區域。

智能運維在金融核心領域的研究與應用 12

智能運維算法是大腦,它有兩個階段,第一個階段是通過人工智能算法挖掘運維數據,構造、訓練系統的模型,用來描述系統的特徵。第二個階段是利用訓練好的模型對系統的狀況作出檢測、做預測、做決策。這兩個過程類似於一個醫生的培養,通過第一個階段的學習、訓練,熟悉了解各種疾病的原理以及治療手段,在第二個階段實際看病的時候,就根據不同的病人的症狀對症下藥。

詳細來看第一個階段,如何構造、訓練系統的模型,就是通過多種算法挖掘運維歷史數據,從而得出運維主體畫像,然後構建運維主體之間的關係,最終形成運維主體的知識圖譜。這裡有三個概念,運維主體是指系統軟硬件及其狀態,畫像是描述運維主體的自身屬性的描述,比如說容量畫像、指標畫像等。知識圖譜是基於畫像,用來描述主體之間相互關係,比如說故障失效傳播鏈。

舉個例子,如何來構建故障失效傳播鏈。我們知道系統的異常,它的源頭都是由故障引起的,在分佈式環境中,這個源頭故障可能並不是本系統的,可能是其他服務器上的軟件bug、硬件異常或者參數配置錯誤所導致。因此這裡就存在一個鏈條,就是故障失效傳播鏈條。

構建故障失效傳播鏈條是對失效現象進行回本溯源的分析,查找引起該失效的可能的故障原因。有很多種方法可以用來獲取失效傳播鏈條,其中一種是基於故障樹的分析方法,通過各個應用模塊的調用鍊和軟硬件的配置信息獲得業務之間的邏輯調用關係,以及物理模塊的關聯關係,構成可能的故障樹用以描述故障傳播鏈。利用機器學習的方法,對該故障樹進行聯動分析與剪枝,形成最終的子樹,這個子樹就是故障失效傳播鏈。其他的算法,還有隨機森林、孤立森林、Pearson關聯分析等。

智能運維在金融核心領域的研究與應用 13

如何利用訓練好的模型、知識圖譜呢,那就要依靠動態決策類算法了,這個就是智能運維算法第二個階段要做的事情。動態決策類算法就是用已經挖掘好的運維畫像與知識圖譜,結合實時監控數據作出檢測、作出預測,作出決策。比方說,可以用訓練好的故障失效傳播鏈對現有的系統狀態進行分析,將實時的運行狀態信息與模型中的故障特徵進行匹配,預測未來一段時間內發生失效、發生異常的概率。

另外一個例子就是單指標異常檢測,是對系統中單個KPI關鍵性能指標的異常,比方說突增、突降、抖動進行識別和檢測。這種持續時間短的指標抖動並不意味著系統現在出現異常了,但它代表系統存在一些潛在的故障,如網絡故障、服務器故障、配置錯誤等等。

通過智能運維算法的結果,運維人員可採用多種運維手段,如切換流量、替換容器等方式規避系統失效,保障系統穩定運行。而這些運維手段其實還是需要依靠自動化運維工具。

智能運維在金融核心領域的研究與應用 14

自動化運維工具是一雙手。它是基於確定邏輯的運維工具,可以對技術系統實施諸如重啟、回滾、上線等系列操作。自動化工具是2.0自動化運維的產物,也是智能運維算法作出決策後,實施具體運維操作所依賴的工具。剛才說智能運維算法是培養一個醫生,那麼自動化運維工具相當於是醫生開的藥、打的針、做的手術,是直接作用在技術系統上的。

其實從這裡,我們也能發現,智能運維與自動化運維的關係並不是離散的,分割的。智能運維與自動化運維其實是相輔相成,完善的、標準的自動化運維會使智能運維實施更加迅速,智能運維反過來也是對自動化運維的一種能力增強。

智能運維在金融核心領域的研究與應用 15

為了保證每一次運維的操作最終能反過來增強智能運維的能力,這就需要有一個運維的閉環。智能運維閉環不僅包括運維主體畫像和知識圖譜的構建和利用,也包括運維人員的經驗反饋,以及系統變更的反饋。畢竟智能運維決策是不能百分之百保證準確,仍然需要實戰來不停的修正和調整。

運維人員依據智能運維決策,或者異常修復建議,來對技術系統進行運維操作,有些運維決策是有效的,有些可能是無效的,最終需要人工標註有效的建議,剔除部分無效的建議。

因此,智能運維繫統就可以從運維人員的標註中,通過強化學習來增強運維決策能力。當然,運維人員對技術系統的部分運維操作,比方說新版本上線、系統擴容、配置參數調整等等,是會影響技術系統,也會對運維主體畫像和知識圖譜產生影響,從而對智能運維決策造成影響。所以需要重新來計算獲取運維主體畫像和知識圖譜,因此智能運維閉環的運行過程類似於一個循環上升的過程。

三、智能運維應用實踐

了解了智能運維是什麼,那麼我們該怎麼做。

目前我們的運維面臨安全運行、人力緊缺和遠程運維的三大挑戰,因此我們實現智能運維的主要目標可歸納四點:事前智能預警、事後快速定位、夜間無人值守、遠程集中管理。

智能運維在金融核心領域的研究與應用 16

1)事前智能預警是在異常發生前,就能通過微小的徵兆做到提前感知。就像是地震、山洪自然災害爆發前的會有一些不一樣的徵兆,感知這些徵兆,提前預測危險。

2)事後快速定位是在異常發生後,從報警信息中分析異常發生的原因,甚至能基於歷史經驗,給出最好的處理建議。

3)夜間無人值守是我們考慮到交易結算系統是證券市場核心基礎設施,需全天候安全保障。但在非交易非日終處理時段,特別是夜間,系統需要處理的業務量相對較低。因此可以採納無人值守,實現夜間操作無人化,進一步解脫運維人員。

4)遠程集中管理則是對地理位置偏僻的數據中心採取遠程監管的手段,比如說用智能巡檢機器人,代替人工巡檢。從而減少派駐現場值守的人員數量,降低運維成本,解決人力資源緊張等問題。

為達到智能運維的目標,結合當前運維現狀,我們梳理了能夠落地實現的四大類應用場景,分別是:智能預警、智能檢測、智能值守與智能巡檢。

智能運維在金融核心領域的研究與應用 17

智能預警則是在異常發生前,預測異常發生的概率,從而提醒或有針對性的對異常提前規避。主要場景有日終作業預測、關鍵路徑智能分析、以及指標預警。

我們技術系統最重要的一項工作就是做日終處理,跑批處理作業。日終作業預測是對作業的運行時間進行預測。怎麼來預測呢?首先構建每個作業任務的運行時間特徵模型,看它是與哪些數據有緊密聯繫,比如說成交量、權益數量、回購成交數量。

然後用歷史的數據來訓練這個模型,最後利用模型來預測。我們對作業做了分析,發現很多是可以用來做預測,而且誤差值都不超過10%,比如預測日終存管數據發送作業的完成時間,預測的誤差就在3.7%以內。

智能運維在金融核心領域的研究與應用 18

批處理作業是按照一定的關聯條件組織在一起,合併成多個作業運行圖,然後被系統自動調度運行的。關鍵路徑智能分析,就是以日終作業預測的結果為基礎,將運行圖上的作業運行時間進行組合,預測我們關注的核心任務作業的最終完成時刻。

比方說,有一個作業運行圖在下午三點正式啟動,我們要來估算存管數據發送這個作業什麼時候能完成。但是估算並不是簡單的將路徑上的作業時間加起來,因為每個作業運行時間的預測值與實際值是有誤差,必須要根據實際的完成時間利用算法不停的修正。

這就像是我們走迷宮一樣,從入口到出口有很多條道路,而我們要選擇是一條時間最長的道路才能計算到出口的時間。但這個迷宮不好走,每走一步,迷宮的障礙物可能會重新排列組合,在走下一步之前就需要重新計算了。

智能運維在金融核心領域的研究與應用 19

目前預測的結果與實際的結果擬合度,或者說相似程度超過90%。也就是說我們現在有能力能夠精準預測關鍵作業的完成時刻了。當今天成交量很大的時候,我們就能夠預測發送給香港結算、參與人的數據能具體在幾點幾分發完。

智能預警第三個場景是指標預警,它是針對某一應用或系統,根據其歷史運行的信息,基於時間序列構建其正常運行的基線(其實就是它的一個指標畫像)。

然後,再結合該應用當前的運行狀態、指標數值,來預警是否出現異常。比如說web應用服務器的可用線程數量,假設它出現了一個急劇的下降,可能這種孤立的現像對當時的系統可用性不會造成什麼影響,但若在業務高峰期持續發生,將會大概率導致應用服務器的性能下降,這個服務器上的其他應用也會因此受到影響,就無法正常對外提供服務了。

下面這張圖就是可用線程數的一個示例,橙色代表是可用線程數的歷史趨勢圖,也就是一個正常的範圍,藍色代表實際的變化曲線圖。那麼可以發現在一個時間段內,它的線程數是出現了急降,這個可用線程數指標異常也就意味著未來一段時間可能會出現問題,這個預警就意味運維人員需要介入了。

智能運維在金融核心領域的研究與應用 20

目前,在智能預警這個場景下,我們打造了預警平台,是對作業預測、關鍵路徑分析、指標預警的一個綜合展現,它能對多個關鍵的技術類指標和業務類指標實現預警。

智能運維在金融核心領域的研究與應用 21

既能做連續的基於時間序列的指標預警,比如說線程數、性能、ASP使用率等等。也可以對離散的、基於時刻的指標做預警,比如說作業完成時刻、文件到達時間。

這裡有一個閾值或者說是正常範圍的選擇,一般來說有兩類,一個是固定類的閾值,比如說存管數據必須在約定時間之前完成發送。另一個是通過大數據平台計算得到,一般是基於時間序列的,比如說系統的ASP使用率的基線、性能基線等等。

第二大類應用場景是智能檢測,是從事前分析、事中告警聚合、故障定位、事後經驗沉澱等多個方面,來輔助運維人員的決策過程,實現對異常快速定位和有效處理。

智能運維在金融核心領域的研究與應用 22

在這類場景中,異常報警聚合是將冗餘的報警信息進行聚合。系統在檢測過程中常遇到的報警風暴問題,在分佈式環境中,一個異常、甚至一個普通的系統重啟操作都可能會有多條報警短信。

之所以出現這種情況,一個原因是目前所監控的指標較多,粒度較細,第二個原因是分佈式環境下,各個系統之間服務的依賴性是增強了,一個應用狀態的變化會導致有依賴關係的多個應用發出報警。

大部分的報警其實是冗餘的,是可以被精簡。那如何來精簡,如何來合併呢?一種簡單的方式是將相同時間段內多個關聯性較強異常報警聚合成單個獨立的報警信息。這種方法實現簡單,但是準確度不高,可能會忽略到重要的報警。另一種方法就是挖掘歷史報警數據中的關聯關係,建立關聯的報警策略列表,報警的時候就根據規則有所為、有所不為。

故障根因分析是基於準確報警,分析查找異常發生原因,定位產生異常的故障。當異常被檢測的時候,通過報警聚合縮小異常的範圍,然後再利用故障失效傳播鏈查找可能的產生異常的原因及其概率。甚至可以基於歷史經驗,相應的提出解決方案。這是對故障失效傳播鍊和報警聚合的一次綜合應用。

智能異常檢測是對已有的異常事件進行標註,用無監督異常檢測及基於算法的工具,在歷史日誌中自動搜索匹配已標註的異常事件,以此訓練機器學習模型,實現對異常的自動判斷與檢測。

智能運維在金融核心領域的研究與應用 23

智能值守就是在機房值班中引入人工智能,一方面可以將值班操作智能化,另一方面可以將運維數據可視化,提升對系統的處理能力和掌控能力。

在值班操作智能化方面,主要關注兩點,報警處理和異常處理。報警處理是如何在眾多的報警中確定有效的報警。報警在兩個時間段有不同的處理方式,在工作時間段的報警就要採用前面所說報警聚合。但在重啟的時間段內,系統也會有很多的報警,但這些報警就顯得很雞肋,忽略掉呢又不敢,一個個處理呢,又太麻煩了。

一種辦法就是建立基於報警數量、報警順序和報警內容的基線,一般情況下,重啟時的報警都會在這個基線範圍內,如果有不符合基線的報警出現,比如說數量增多了或者順序變化了,那就大概率出現了真正的異常了。

另一種辦法是採用聚類分析或者孤立森林算法,將眾多的報警進行分類識別,將可以忽略的報警,與真正的異常報警進行分類識別。這裡是基於一個前提假設,那就是真正的報警是少量的,並且與可以忽略的報警是有明顯的不同。

第二個層面是異常處理智能化,首先要確保准確的報警發送到正確的業務處理人員、開發人員和項目負責人。更進一步是對可以處理的報警或者有歷史修復記錄的報警,在不影響業務系統正常運行前提下,系統可以自動的採取修復手段,比如說引流、擴容、重啟等等,直接修復異常,部分做到無人值守。

運維數據可視化是豐富監控對象、提升數據可視化程度,並且要與現有的監控相集成,盡量減少監控界面。

智能運維在金融核心領域的研究與應用 24

智能巡檢有兩類,一類是機房類智能巡檢,可以引入智能巡檢機器人來代替人工巡檢,對機房環境、電氣設備、硬件設備進行檢查。

另一類是應用層面的自動巡檢,這種應用層面的自動巡檢不同於以往的應用集中監控。應用集中監控只能對應用的技術狀態進行監控,看看這個進程是否存活、有沒有宕機,但沒有在業務層面上實時的分析和判斷應用的可用性。一個應用進程沒有宕機,但是它hang住了,但在業務上沒法訪問,沒法正常提供服務的。

怎樣才能檢查這種異常情況呢,我們採用了基於RPA機器人的應用巡檢,利用RPA機器人既可以模擬人機的交互操作,也可以模擬應用模塊之間的相互調用,從而對應用系統進行不停服務的在線檢查。這種定期的巡檢,一方面可提前判斷關鍵業務的可用性,提前感知異常,在異常對市場造成影響前,可對異常做出預警,跑贏異常。另一方面也可結合歷史數據與當前KPI指標,預測應用系統未來的可用性。

其實,判斷業務的可用性有很多種方法,一種辦法是對KPI指標進行監測。但在我們這裡可行性比較低,因為我們業務複雜程度很高,而且部分業務量隨市場變化而波動,市場是很難被評估的,因此KPI指標建模難度很高。舉個例子,前一段時間我們的統一賬戶平台接收到的用戶查詢量迅猛上升,原因就是券商要查找潛在的科創板投資者,科創板投資是有門檻的,2年且證券資產和資金不低於50萬。但這類查詢業務可能過了一段時間後又降下去了。所以這種建模是比較困難的。

外部應用可以用RPA機器人來巡檢,內部應用組件之間可以採用互檢方式來探測應用的可用性。內部應用要具有自我測試、自我檢查的基因,比如說模擬的應用可以定期對被檢測的應用發起服務調用,而實際的訪問參數是沙箱化的參數,與生產數據完全隔離。這樣,模擬的應用就可以通過返回值來判斷業務的可用性。

智能運維在金融核心領域的研究與應用 25

在智能巡檢這塊,​​我們實現了一個綜合巡檢平台,它能集中統一顯示內部應用和對外應用的自檢情況。在出現外部應用異常時,能快速結合內外部應用的互檢日誌,快速的定位問題。在出現內部應用異常時,可以結合應用依賴關係的知識圖譜,分析可能的異常影響範圍,從而有針對性的啟動應急預案。

智能運維在金融核心領域的研究與應用 26

為了實現智能預警、檢測、巡檢、值守這四大類場景,我們在已有的工具基礎上,結合了技術發展路線,設計了智能運維平台的目標架構。這個架構仍然是圍繞智能運維算法、運維大數據平台和自動化工具所組成。

四、智能運維實施路徑

最後,我們構想了實施智能運維的道路,這是一條從點到面,從簡單到復雜的漸進式發展道路。

智能運維在金融核心領域的研究與應用 27

最開始要建設基礎的運維大數據平台,然後是實現簡單的、基礎的智能運維應用,比如實現應用自動巡檢、指標智能預警等,接著從單點應用場景入手,實現單個運維智能化,然後實現局部的一大類場景的智能化,最後多個局部的應用場景組合成一體化的智能運維,實現智能運維的閉環。讓運維人員將工作重心從繁瑣的操作中,轉移到探索需求、定義場景、專注業務中來。

通過智能運維的研究與應用,我們也有一些體會。一是數據是基礎極其重要的,運維數據的蒐集整理保存工作一定要先行。對於一些異常類的標註數據,目前我們仍需要去研究去探索,怎樣利用實驗的方法獲得。

二是算法是關鍵,算法複雜程度高,學習成本高, 不同場景需要合適的算法,我們在做預測類算法的時候,發現不同算法所取得的效果是有很大差異的。但是算法,是需要專業的人才。智能運維不是一蹴而就的,我們在實施智能運維的時候,也需要藉助外腦的幫助,與科研機構、技術公司共同努力。

最後,工具是手段。智能運維是需要通過工具來實現運維的決策。但這並不代表沒有自動化運維,智能運維就做不了。智能運維是輔助或者增強運維能力,智能運維建設是可以反過來倒逼系統運維升級的。

謝謝大家,我的演講到這。

Q&A

Q1:現在自動化運維,真正的應用到一些場景,比如說操作,出現一些問題,處理是自動化的運維工具,自動做完以後反饋給你嗎?

A:智能運維是利用自動化運維工具做具體操作,然後在利用智能運維閉環做一些反饋。這裡需要強調的是,在智能運維閉環是智能運維起步階段的時候有一些運維操作建議,並不是智能運維自己所產生,仍然需要人為導入。

目前來說只有在開放平台當中,用到這一部分,在傳統的小型機裡面沒有很好應用到這部分,比例不是特別高。因為智能運維是起步階段,修復的意見建議並不多,這裡也是需要一個積累的過程。我認為智能運維繫統,核心價值不在於怎麼構造系統,在於經驗落地,對於運維人員而言,最重要一點不是運維工具好不好,就是運維經驗積累,這才是我們更加關注的一點,只有把經驗積累起來之後,智能運維繫統在後面建設過程當中,將運維經驗結合進來,就可以輔助運維人員來處理各種異常。

現在熱點在於智能運維繫統怎麼建,但我們不僅關注眼前,也要考慮後面的運維決策數據的積累。我們在實施過程中發現系統搭建容易,但是運維決策數據積累很困難。

Q2:我感覺您說的運維,是不是所謂的專家系統一個東西?運維是一部分,業務跑批的時候,運維人員干涉不是特別多,跟業務開發邏輯有很大關係,特殊性比較強,不知道怎麼解決這種經驗的問題。

A:運維經驗是一個專家系統,但專家系統和智能運維繫統不能混為一談。舉個例子,在日終跑批的時候出現異常,一般可以做暫停,把整個運行圖停下來,處理完異常後再繼續跑運行圖。這個時候的處理方法一般都是有很多種,一種是重新載入相關數據來做重新處理,一種是直接改數據繼續跑。這些批處理作業的運行控制是由一個批處理運行控制平台來實現,業務開發只需要關注業務,這些異常處理的工作可交給平台來完成。

但是智能運維並不是局限於異常怎麼處理,而是需要在異常出現之前進行預測,預測異常發生的概率,預警異常帶來的影響範圍。比如在跑批的時候,一些數據文件晚到了,就會對運行圖上後續的作業產生影響,對業務就會產生影響。智能運維就是來預測這種影響到底有多大,甚至可以根據前面提到的運維經驗、運維決策給出一些建議,來幫助運維人員、技術人員來解決這些異常。

Q3:我現在發現做運維,我上了很多監控,以前沒有自動運維,都是人工做的。我們現在想學一下智能運維,能夠自己生成,現在用AI算法,原來是100萬,過濾出來20萬,不是很精確,您這邊有沒有什麼好經驗?

A:閾值我們也是初學者,您說的是連續性的。

追問:人工做閾值是很準的。

A:我認為可能有兩個原因,一個是數據量太少了,不能滿足學習算法的要求。第二個原因是算法,沒有用對合適的算法或者算法沒有合適的調優。

我們在做日終作業運行時間預測的時候用到很多種算法,每一種算法可能跑出來的效果都是不一樣的,怎麼辦呢?我們就取多個算法結果的中位數,然後與歷史經驗數據重疊起來,進行多次擬合和融合,讓預測值更加逼近實際值。

作者介紹

陳林博,中國證券登記結算有限責任公司上海分公司智能運維負責人。工學博士,畢業於同濟大學計算機系統結構專業,曾獲上海市青年五四獎章(個人)、上海市青年金才等榮譽。 2014年進入中國結算上海分公司技術開發部,目前從事基礎技術架構的研究與應用,主要負責智能運維平台、容器雲平台、分佈式微服務平台(SCAP)、分佈式批處理業務平台(BASP)等研發。

原文鏈接

https://mp.weixin.qq.com/s/uMNWadsk5omWOY6zVlIAuA