人工智能在IT運(yùn)維中的研究和應(yīng)用

銀行科技研究社
面對(duì)如此大規(guī)模的系統(tǒng)和數(shù)據(jù)需要進(jìn)行管理,傳統(tǒng)的監(jiān)控和自動(dòng)化運(yùn)維存在一些痛點(diǎn)。數(shù)據(jù)中心現(xiàn)有的性能容量分析手段僅僅做到對(duì)性能容量的單項(xiàng)指標(biāo)監(jiān)控和進(jìn)行大致的趨勢(shì)分析。

《科技商業(yè)探索》訊:金融行業(yè)是當(dāng)今實(shí)現(xiàn)電子化發(fā)展最靠前的行業(yè)之一,商業(yè)銀行尤其如此。IT建設(shè)在此背景下也成為企業(yè)重中之重,幾乎所有的重要業(yè)務(wù)都需要信息系統(tǒng)支撐。這對(duì)于信息系統(tǒng)的業(yè)務(wù)連續(xù)性要求非常高。一旦信息系統(tǒng)出現(xiàn)異?;蛘咛幚聿患皶r(shí),損失將會(huì)非常慘重。因此金融行業(yè)的IT運(yùn)維首要任務(wù)是確保重要業(yè)務(wù)在運(yùn)營(yíng)中斷事件發(fā)生后快速恢復(fù),降低或消除因重要業(yè)務(wù)運(yùn)營(yíng)中斷造成的影響和損失,保障業(yè)務(wù)持續(xù)運(yùn)營(yíng)。

商業(yè)銀行的IT運(yùn)維面臨非常多的挑戰(zhàn)。

系統(tǒng)多:電子化的高速發(fā)展直接反應(yīng)在商業(yè)銀行需要管理的信息系統(tǒng)規(guī)模越來(lái)越龐大。大量的系統(tǒng)占用了大量的硬件設(shè)備,產(chǎn)生了大量的數(shù)據(jù)。尤其是移動(dòng)互聯(lián)網(wǎng)等業(yè)務(wù)的發(fā)展,各類分布式技術(shù)的使用,大數(shù)據(jù)的使用等。系統(tǒng)的設(shè)備數(shù)量在這幾年幾乎是爆炸式的增長(zhǎng)。這么多的系統(tǒng)都需要監(jiān)控和管理好,對(duì)IT運(yùn)維是非常大的挑戰(zhàn)。

環(huán)境多:這里的環(huán)境多主要是指技術(shù)產(chǎn)品比較多。不同業(yè)務(wù)系統(tǒng)的特點(diǎn)要求差異化的技術(shù)產(chǎn)品。數(shù)據(jù)中心存在著眾多不同型號(hào)的主機(jī)、存儲(chǔ)、網(wǎng)絡(luò)、中間件、數(shù)據(jù)庫(kù)、大數(shù)據(jù)和分布式等產(chǎn)品。新業(yè)務(wù)的推廣和新技術(shù)的運(yùn)用是一個(gè)持續(xù)的過(guò)程。所以技術(shù)產(chǎn)品的監(jiān)控和管理也是很大的挑戰(zhàn)。

數(shù)據(jù)多:這里的數(shù)據(jù)僅僅是指運(yùn)維過(guò)程中產(chǎn)生的可監(jiān)控?cái)?shù)據(jù),非業(yè)務(wù)數(shù)據(jù)。即便如此,大量的系統(tǒng)、產(chǎn)品,產(chǎn)生了大量的監(jiān)控?cái)?shù)據(jù)。這里包含數(shù)據(jù)指標(biāo)多和指標(biāo)數(shù)據(jù)多兩個(gè)方面。大量的指標(biāo)要一一監(jiān)控并制訂規(guī)則費(fèi)時(shí)費(fèi)力。單個(gè)指標(biāo)不停產(chǎn)生的數(shù)據(jù)量也非常可觀,這些大數(shù)據(jù)也存在挖掘價(jià)值。

面對(duì)如此大規(guī)模的系統(tǒng)和數(shù)據(jù)需要進(jìn)行管理,傳統(tǒng)的監(jiān)控和自動(dòng)化運(yùn)維存在一些痛點(diǎn)。數(shù)據(jù)中心現(xiàn)有的性能容量分析手段僅僅做到對(duì)性能容量的單項(xiàng)指標(biāo)監(jiān)控和進(jìn)行大致的趨勢(shì)分析。例如監(jiān)控CPU、內(nèi)存、IO、文件系統(tǒng)使用率等信息,然后根據(jù)經(jīng)驗(yàn)人為設(shè)定閾值,超過(guò)閾值就進(jìn)行告警。這種自動(dòng)化運(yùn)維是“基于人為指定規(guī)則”的模式,需要大量人力資源來(lái)分析和制訂規(guī)則。

當(dāng)告警發(fā)生后,還需要人及時(shí)登錄系統(tǒng)分析是什么原因?qū)е赂婢漠a(chǎn)生。這一點(diǎn)完全依賴處理人的經(jīng)驗(yàn)和水平。對(duì)于性能容量類問(wèn)題的分析,人力運(yùn)維是基于專家經(jīng)驗(yàn)和產(chǎn)品理論的基礎(chǔ),無(wú)法快速準(zhǔn)確定位到問(wèn)題根源,在日常處理問(wèn)題的過(guò)程中存在不足。因此當(dāng)前的運(yùn)維能力是不能做到對(duì)問(wèn)題根源進(jìn)行深度和快速分析的。

01、解決方案

一、人工智能為IT運(yùn)維帶來(lái)轉(zhuǎn)機(jī)

1.人工智能與機(jī)器學(xué)習(xí)。

人工智能(Artificial Intelli-gence)是計(jì)算機(jī)科學(xué)的一個(gè)分支,是包含應(yīng)用計(jì)算機(jī)科學(xué)、生物學(xué)、心理學(xué)、神經(jīng)科學(xué)、數(shù)學(xué)、統(tǒng)計(jì)學(xué)和哲學(xué)等學(xué)科的科學(xué)和技術(shù)。人工智能的應(yīng)用領(lǐng)域非常廣泛,尤其在智能機(jī)器人、自然語(yǔ)言處理、圖像識(shí)別、語(yǔ)音識(shí)別、專家系統(tǒng)、智能搜索等應(yīng)用場(chǎng)景表現(xiàn)突出。“機(jī)器學(xué)習(xí)”(Machine Learning)是人工智能的核心研究領(lǐng)域之一,也是實(shí)現(xiàn)人工智能的核心方法。機(jī)器學(xué)習(xí)顧名思義,是賦予機(jī)器(計(jì)算機(jī))學(xué)習(xí)的能力,通過(guò)分析已有的數(shù)據(jù),獲取數(shù)據(jù)的內(nèi)部規(guī)律或者價(jià)值,并且實(shí)現(xiàn)對(duì)新數(shù)據(jù)的處理方法。

機(jī)器學(xué)習(xí)最強(qiáng)大的能力是分類和回歸。眾多機(jī)器學(xué)習(xí)模型都是為了實(shí)現(xiàn)這兩種能力。各種應(yīng)用場(chǎng)景都是基于這兩種能力的應(yīng)用。分類能力很好理解,例如判斷一張圖片是貓還是狗?;貧w則是預(yù)測(cè)連續(xù)的值,例如根據(jù)房屋的地理位置、面積等特征預(yù)測(cè)房?jī)r(jià)。在IT運(yùn)維中,我們需要機(jī)器學(xué)習(xí)的分類能力來(lái)判斷當(dāng)前指標(biāo)是正常還是異常,需要回歸能力來(lái)預(yù)測(cè)容量等。將人工智能技術(shù)運(yùn)用到IT運(yùn)維中,將為解決傳統(tǒng)IT運(yùn)維面臨的難題帶來(lái)轉(zhuǎn)機(jī)。

2.智能化運(yùn)維AIOps。

人工智能技術(shù)運(yùn)用在IT運(yùn)維中,提升運(yùn)維能力,這就是AIOps(Artificial Intelligence for IT Operations)智能化運(yùn)維。智能運(yùn)維是在自動(dòng)化運(yùn)維的基礎(chǔ)上,利用機(jī)器學(xué)習(xí)的能力,改進(jìn)和完善現(xiàn)有運(yùn)維方式。智能運(yùn)維涉及場(chǎng)景也非常廣泛,包含異常檢測(cè)、異常預(yù)測(cè)、根因分析、輿情監(jiān)控、異常自愈、智能變更、問(wèn)答機(jī)器人、容量管理和容量預(yù)測(cè)等。智能運(yùn)維的核心是挖掘海量運(yùn)維數(shù)據(jù)的價(jià)值。因此在智能運(yùn)維建設(shè)中涉及到大數(shù)據(jù)技術(shù)、人工智能技術(shù)、自動(dòng)化技術(shù)等很多領(lǐng)域。

民生銀行一直在探索智能運(yùn)維的應(yīng)用和落地。民生銀行信息科技部在各個(gè)運(yùn)維環(huán)節(jié)都在嘗試結(jié)合人工智能技術(shù)改進(jìn)運(yùn)維方式和運(yùn)維能力。其中異常檢測(cè)和根因分析場(chǎng)景是故障運(yùn)維的事中和事后處理環(huán)節(jié),也是IT運(yùn)維中最核心的部分。這套智能運(yùn)維系統(tǒng)通過(guò)持續(xù)接受系統(tǒng)產(chǎn)生的性能數(shù)據(jù),采用人工智能技術(shù),從歷史數(shù)據(jù)中獲取規(guī)則,生成相關(guān)分析方法,為實(shí)時(shí)數(shù)據(jù)提供運(yùn)維分析能力(如圖1所示)。

360截圖16251112669372.png

圖1系統(tǒng)架構(gòu)圖

二、機(jī)器學(xué)習(xí)與異常檢測(cè)

前面提到在IT運(yùn)維中,性能數(shù)據(jù)的告警方式是通過(guò)人為制訂閾值結(jié)合自動(dòng)化運(yùn)維實(shí)現(xiàn)的,這種方式有兩個(gè)弊端。首先相同指標(biāo)的閾值的定義是普適性的,所有的系統(tǒng)采用相同的閾值進(jìn)行告警,不能為單獨(dú)的系統(tǒng)單獨(dú)設(shè)置,只有極少數(shù)系統(tǒng)人為調(diào)整過(guò);其次是只有人從經(jīng)驗(yàn)總結(jié)過(guò)的指標(biāo)才會(huì)設(shè)置閾值告警,不熟悉的指標(biāo)就忽略了。而機(jī)器學(xué)習(xí)的能力可以彌補(bǔ)上述兩種弊端。

該系統(tǒng)異常檢測(cè)功能將會(huì)分析每個(gè)系統(tǒng)的每個(gè)指標(biāo)的歷史數(shù)據(jù),產(chǎn)生機(jī)器學(xué)習(xí)模型,并對(duì)實(shí)時(shí)指標(biāo)進(jìn)行預(yù)測(cè)。因?yàn)闅v史數(shù)據(jù)沒(méi)有標(biāo)簽,也沒(méi)有能力去打標(biāo)簽,所以異常檢測(cè)場(chǎng)景主要采用機(jī)器學(xué)習(xí)里的無(wú)監(jiān)督學(xué)習(xí)方法,在一群數(shù)據(jù)分布中找到可疑的點(diǎn)。例如圖2例子中,紅色的點(diǎn)就是可疑點(diǎn),需要標(biāo)記出來(lái)。

360截圖16251112669372.png

圖2日志行為異常檢測(cè)

為了尋找異常點(diǎn),該系統(tǒng)異常檢測(cè)功能將會(huì)分析每個(gè)系統(tǒng)的每個(gè)指標(biāo)歷史數(shù)據(jù)分布,訓(xùn)練出機(jī)器學(xué)習(xí)模型,然后對(duì)實(shí)時(shí)指標(biāo)進(jìn)行預(yù)測(cè)。

在眾多機(jī)器學(xué)習(xí)算法中,民生銀行實(shí)踐比較好的算法有如下幾種。

孤立森林:這個(gè)算法的核心是找到“容易被孤立的離群點(diǎn)”,也就是分布稀疏且離密度高的群體較遠(yuǎn)的點(diǎn)。這是一種基于連續(xù)數(shù)據(jù)的無(wú)監(jiān)督異常檢測(cè)算法。這個(gè)算法穩(wěn)定有效,并且不需要做數(shù)據(jù)預(yù)處理,例如歸一化、標(biāo)準(zhǔn)化等,因此是當(dāng)前異常檢測(cè)首選算法。

DBSCAN:DBSCAN其實(shí)是一種基于密度的聚類算法,但是同樣適合用來(lái)檢測(cè)異常。DB-SCAN基于一組鄰域來(lái)描述樣本集的密集程度,那么密集程度特別稀疏的點(diǎn)就是需要尋找的異常點(diǎn)。DBSCAN有兩個(gè)參數(shù)ε和MinPts。ε是半徑,MinPts是半徑內(nèi)的期望樣本個(gè)數(shù)。從異常檢測(cè)的思維來(lái)說(shuō),如果ε半徑內(nèi)樣本數(shù)小于MinPts,說(shuō)明密度低、樣本稀疏,是可疑點(diǎn)。這個(gè)算法要求對(duì)原始數(shù)據(jù)做標(biāo)準(zhǔn)化處理,并且參數(shù)ε和MinPts需要交叉驗(yàn)證找到比較通用的合適值。

3σ準(zhǔn)則:這種異常檢測(cè)算法是建立在樣本數(shù)據(jù)滿足高斯分布的基礎(chǔ)上的。通過(guò)對(duì)數(shù)據(jù)樣本求均值μ,標(biāo)準(zhǔn)差σ,距離μ點(diǎn)超過(guò)3倍σ的點(diǎn)概率上只有不到0.3%。這個(gè)算法最大的問(wèn)題是樣本原始數(shù)據(jù)不滿足高斯分布就不適用了。但原始數(shù)據(jù)可以通過(guò)一些算法轉(zhuǎn)變?yōu)榉细咚狗植嫉臄?shù)據(jù)。Sk-learn工具提供了一些轉(zhuǎn)變方法,例如power transform方法和quantile transform方法等。

機(jī)器學(xué)習(xí)算法中還有很多適合做無(wú)監(jiān)督學(xué)習(xí)的異常檢測(cè),這里就不一一列舉。在這些方法的基礎(chǔ)上,我們還可以更進(jìn)一步采用集成學(xué)習(xí)的方式,結(jié)合多個(gè)異常檢測(cè)算法的結(jié)果做出最后的判斷,準(zhǔn)確性會(huì)更好。

三、機(jī)器學(xué)習(xí)與根因分析

快速找到異常問(wèn)題的根源是在異常處理過(guò)程中面臨的最大挑戰(zhàn)。處理人需要從采集的大量數(shù)據(jù)分析問(wèn)題的根本原因,還需要有豐富經(jīng)驗(yàn)才能做出正確判斷。這是比較耗時(shí)并且容易出錯(cuò)的環(huán)節(jié)。如果機(jī)器學(xué)習(xí)模型能夠快速分析當(dāng)前數(shù)據(jù)并幫助處理人做出正確判斷,那么處理人只需要快速采取有效措施,大大減少異常問(wèn)題處理的時(shí)間,減少損失。

問(wèn)題根因分析其實(shí)是一個(gè)追本溯源的過(guò)程。因?yàn)闄C(jī)器學(xué)習(xí)的能力是做預(yù)測(cè),也就是依據(jù)特征數(shù)據(jù)判斷結(jié)果。然而現(xiàn)在的需求是從結(jié)果找到影響最大的特征數(shù)據(jù)。所以這里要求機(jī)器學(xué)習(xí)的算法有逆向的解釋性。根因分析主要使用機(jī)器學(xué)習(xí)里的有監(jiān)督學(xué)習(xí)算法。民生銀行實(shí)踐比較好的算法有如下兩種。

多元線性回歸:這個(gè)算法的核心是每個(gè)特征值x對(duì)結(jié)果值y都有可量化的影響,也就是wx+b=y。結(jié)果y發(fā)生的變化原因可以逆向找到影響最大的x是哪個(gè)指標(biāo),從而找到根因。這種算法簡(jiǎn)單可理解,然而對(duì)特征值x還是有要求,最好是線性無(wú)關(guān)的特征值集合。這種算法適合回歸類型的問(wèn)題,例如分析CPU的占用率就屬于這類問(wèn)題。

決策樹(shù):決策樹(shù)是一種分類算法,呈樹(shù)形結(jié)構(gòu),是基于特征對(duì)結(jié)果進(jìn)行分類的過(guò)程。決策樹(shù)可以看成是一對(duì)if-then規(guī)則的集合,也可以看作是條件概率分布。這種算法可讀性高,也就是可以逆向解讀是什么特征的分布影響了最終結(jié)果的分類。

四、其他IT運(yùn)維場(chǎng)景

智能運(yùn)維涉及場(chǎng)景廣泛,異常檢測(cè)和根因分析只是其中比較重要的兩個(gè)場(chǎng)景。機(jī)器學(xué)習(xí)的算法也適用于很多其他運(yùn)維場(chǎng)景。

異常預(yù)測(cè):異常預(yù)測(cè)是在異常檢測(cè)的基礎(chǔ)上分析已經(jīng)獲取了有標(biāo)簽的數(shù)據(jù),通過(guò)機(jī)器學(xué)習(xí)的分類算法,以歷史數(shù)據(jù)作為特征,當(dāng)前標(biāo)簽作為結(jié)果而進(jìn)行的預(yù)測(cè)。

日志檢測(cè):日志產(chǎn)生大量的文本數(shù)據(jù)。自然語(yǔ)言處理是人工智能的強(qiáng)項(xiàng)。通過(guò)機(jī)器學(xué)習(xí),對(duì)日志內(nèi)容提取,分類,可以實(shí)現(xiàn)日志的異常檢測(cè)和問(wèn)題分析。

系統(tǒng)畫(huà)像:機(jī)器學(xué)習(xí)的眾多聚類算法適合根據(jù)系統(tǒng)特征對(duì)系統(tǒng)進(jìn)行歸類,描繪系統(tǒng)畫(huà)像。例如總結(jié)出一個(gè)系統(tǒng)是讀取繁忙的系統(tǒng)還是IO負(fù)載較重的系統(tǒng)等。

問(wèn)題管理:?jiǎn)栴}管理也可以利用人工智能對(duì)自然語(yǔ)言處理的能力,例如問(wèn)題匹配通過(guò)機(jī)器學(xué)習(xí)的算法,計(jì)算文本之間的相似度來(lái)匹配問(wèn)題。

運(yùn)維機(jī)器人:運(yùn)維機(jī)器人算是一套交互式系統(tǒng),連接運(yùn)維人員與目標(biāo)系統(tǒng)。運(yùn)維機(jī)器人能利用圖像處理能力做登錄人員安全驗(yàn)證、通過(guò)語(yǔ)音識(shí)別獲取操作人員意圖、通過(guò)自然語(yǔ)言處理翻譯成執(zhí)行指令等。

02、實(shí)踐結(jié)果與總結(jié)

民生銀行的智能運(yùn)維實(shí)踐還屬于起步階段,當(dāng)前在異常檢測(cè)和根因分析方面取得一些階段性成果,將人工智能運(yùn)用在其他運(yùn)維場(chǎng)景也在探索和開(kāi)發(fā)中。

民生銀行智能運(yùn)維平臺(tái)當(dāng)前已經(jīng)上線了智能故障發(fā)現(xiàn)與分析模塊,包含智能異常檢測(cè),自動(dòng)故障定位和調(diào)用鏈路分析等功能。其中智能異常檢測(cè)基于無(wú)監(jiān)督學(xué)習(xí),無(wú)需事先標(biāo)注。系統(tǒng)全自動(dòng)訓(xùn)練異常檢測(cè)模型,定期更新模型參數(shù),算法不斷迭代,準(zhǔn)確性高,漏報(bào)誤報(bào)少。這里異常檢測(cè)采用多種模型,包含時(shí)序模型、孤立森林、DBSCAN、高斯分布等算法,最后通過(guò)集成算法獲取最終檢測(cè)結(jié)果,算法容錯(cuò)性高,檢測(cè)結(jié)果更準(zhǔn)確。

自動(dòng)故障定位功能基于多元線性回歸,決策樹(shù),DB-SCAN聚類算法等,分析不同指標(biāo)之間的關(guān)系。一方面量化上下級(jí)指標(biāo)間的關(guān)聯(lián)關(guān)系,找到異常時(shí)刻貢獻(xiàn)度最大的根源指標(biāo)。另一方面基于聚類算法,找到相同行為的其他指標(biāo)并展示出來(lái)。最終異常定位通過(guò)關(guān)系圖示一目了然,加快故障定位和處理。

民生銀行的系統(tǒng)是典型的SOA架構(gòu),系統(tǒng)之間調(diào)用比較多。因此在故障定位過(guò)程中,上下游的關(guān)系也變得尤其重要。因此民生銀行對(duì)系統(tǒng)間訪問(wèn)鏈路進(jìn)行監(jiān)控和分析,展示不同系統(tǒng)的上下游關(guān)系。調(diào)用鏈路分析功能支持交易性能分析,差錯(cuò)分析,單筆交易鏈路分析,下鉆分析等分析行為。

機(jī)器學(xué)習(xí)的強(qiáng)大能力和應(yīng)用前景已經(jīng)非常清晰。智能運(yùn)維就是將機(jī)器學(xué)習(xí)的能力充分利用到當(dāng)前IT運(yùn)維工作中,提高運(yùn)維效率。人工智能將為IT運(yùn)維帶來(lái)非常大的好的改變。

THEEND

最新評(píng)論(評(píng)論僅代表用戶觀點(diǎn))

更多
暫無(wú)評(píng)論