聊一聊自成長(zhǎng)智能運(yùn)維模型
大部分AIOPS廠家主要是面向算法來(lái)提供智能化的分析能力,無(wú)論是異常檢測(cè)、趨勢(shì)評(píng)估還是自動(dòng)分類(lèi),都是基于對(duì)無(wú)法完全認(rèn)知的數(shù)據(jù)的算法實(shí)現(xiàn)。其智能化的能力完全依賴(lài)于算法、數(shù)據(jù)、訓(xùn)練與標(biāo)注。
這種方式的智能化運(yùn)維對(duì)于實(shí)際的日常AIOPS來(lái)說(shuō),可能都過(guò)于“重”了,每個(gè)項(xiàng)目都需要有比較高成本的實(shí)施過(guò)程,無(wú)法讓AIOPS的能力開(kāi)箱即用,在缺乏算法專(zhuān)家的長(zhǎng)期協(xié)助下,算法的能力也無(wú)法持續(xù)自成長(zhǎng)和自動(dòng)進(jìn)化。而算法專(zhuān)家是十分稀缺和昂貴的資源,這使得采用此類(lèi)方法的智能運(yùn)維項(xiàng)目變成了有錢(qián)人的游戲。
造成這種局面的主要原因還是此類(lèi)智能運(yùn)維系統(tǒng)的基礎(chǔ)架構(gòu)問(wèn)題導(dǎo)致的,傳統(tǒng)的軟件是基于“目標(biāo)”的軟件,其邏輯都是根據(jù)目標(biāo)預(yù)先編制好的,為實(shí)現(xiàn)某個(gè)已知的特定目標(biāo)而設(shè)定好具體的目標(biāo),設(shè)計(jì)出具體的實(shí)現(xiàn)路徑,完成軟件基礎(chǔ)能力框架的設(shè)定,最后開(kāi)發(fā)出軟件系統(tǒng)。
在實(shí)際應(yīng)用場(chǎng)景中,為了適應(yīng)不同用戶(hù)的特定場(chǎng)景,頂多是修改配置、調(diào)整參數(shù)參數(shù)、按照目標(biāo)去清理數(shù)據(jù),從而可以實(shí)現(xiàn)一定的差異化化定制化。但是這種差異化與智能化之間還是存在巨大的差距的,這種差異化僅僅被限制在有限的范圍內(nèi),不能圖譜系統(tǒng)預(yù)先設(shè)定的能力極限。
智能化運(yùn)維工具應(yīng)該是能夠根據(jù)不同的運(yùn)維對(duì)象、不同的運(yùn)維場(chǎng)景、不同的運(yùn)行負(fù)載、不同的故障場(chǎng)景,實(shí)現(xiàn)差異化的分析診斷,實(shí)現(xiàn)較為準(zhǔn)確的故障定位。智能化診斷工具應(yīng)該具有極強(qiáng)的抽象能力,能夠通過(guò)不斷的自我學(xué)習(xí)或者在一定的外部輔助下自己發(fā)展自己的能力,以應(yīng)對(duì)不同運(yùn)維環(huán)境的需求。也就是說(shuō),AIOPS分析工具應(yīng)該具備自我感知、自我調(diào)整、自我學(xué)習(xí)、自我成長(zhǎng)的能力。
神經(jīng)網(wǎng)絡(luò)實(shí)際上也是一種對(duì)傳統(tǒng)程序的高度抽象,將軟件中的應(yīng)用邏輯高度抽象為神經(jīng)網(wǎng)絡(luò)。通過(guò)深度學(xué)習(xí),可以實(shí)現(xiàn)異常診斷需求到神經(jīng)網(wǎng)絡(luò)的自動(dòng)化的翻譯。通過(guò)不同的數(shù)據(jù)經(jīng)過(guò)訓(xùn)練生成的神經(jīng)網(wǎng)絡(luò)模型來(lái)實(shí)現(xiàn)對(duì)于不同輸入的智能化感知,從而完成分析。因此在理論上,只要有充足的歷史數(shù)據(jù),進(jìn)行充分的訓(xùn)練,是能夠完成抽象的??吹竭@里我們還不要高興的太早了,因?yàn)槌浞值挠?xùn)練需要極高的成本,無(wú)法低成本的獲得這種能力。
通過(guò)神經(jīng)網(wǎng)絡(luò)的智能化分析算法可以解決AIOPS領(lǐng)域的一部分問(wèn)題,但是無(wú)法解決所有的問(wèn)題。更加復(fù)雜的運(yùn)維環(huán)境需要更復(fù)雜的知識(shí)抽象后通過(guò)知識(shí)推理才能夠?qū)崿F(xiàn)。這種知識(shí)抽象模型無(wú)法從混沌的數(shù)據(jù)中自動(dòng)形成,必須依托于一個(gè)初始推動(dòng)力才能夠形成。因此我們需要兩個(gè)關(guān)鍵因素來(lái)實(shí)現(xiàn)這種初始化的推動(dòng)力的產(chǎn)生。
其中之一是知識(shí)組織形態(tài)的確定,我們需要一種具有很強(qiáng)知識(shí)抽象能力的技術(shù)手段來(lái)存儲(chǔ)被抽象出來(lái)的知識(shí)。從目前的實(shí)踐來(lái)看,圖數(shù)據(jù)庫(kù)是比較好的基礎(chǔ)載體,知識(shí)圖譜是知識(shí)抽象和描述的較好的實(shí)現(xiàn)方式。
第二個(gè)關(guān)鍵因素是已有的領(lǐng)域知識(shí)的導(dǎo)入,哪怕我們已經(jīng)有了一個(gè)十分強(qiáng)大的知識(shí)抽象模型,在一個(gè)空白的知識(shí)庫(kù)里自動(dòng)產(chǎn)生知識(shí),或者說(shuō)發(fā)展知識(shí),在初期階段是十分困難的。因?yàn)槿鄙僮銐虻幕A(chǔ)知識(shí),使得知識(shí)推理無(wú)法完成,同樣,自動(dòng)學(xué)習(xí)和自生長(zhǎng)也無(wú)從談起。如果能夠?qū)胍欢康馁|(zhì)量比較高的知識(shí)圖譜,以此為基礎(chǔ)去積累、自學(xué)習(xí)、自生長(zhǎng)知識(shí)庫(kù),其知識(shí)庫(kù)的生長(zhǎng)過(guò)程會(huì)相對(duì)簡(jiǎn)單。就像一個(gè)嬰兒一樣,最初的能力成長(zhǎng)是相當(dāng)緩慢的,隨著智力的發(fā)展,知識(shí)增長(zhǎng)的速度會(huì)越來(lái)越快,知識(shí)庫(kù)的生長(zhǎng)也是如此。
我們?nèi)绻陨厦娴目蚣軄?lái)構(gòu)建一個(gè)智能化分析系統(tǒng),其中藍(lán)色部分的代碼框架基本上是固定的,不太變化的穩(wěn)定框架。里面包含了高度抽象的模型和算法。知識(shí)圖譜是動(dòng)態(tài)生長(zhǎng)的部分,知識(shí)圖譜的變化,將會(huì)改變藍(lán)色部分計(jì)算框架產(chǎn)生的結(jié)果, 最終決定了整個(gè)系統(tǒng)的能力。
指標(biāo)數(shù)據(jù)集是動(dòng)態(tài)的,個(gè)性化的輸入?yún)?shù)。知識(shí)圖譜中存儲(chǔ)的是通過(guò)高度抽象后的知識(shí)數(shù)據(jù)。這部分內(nèi)容是今后要不斷擴(kuò)展,甚至自動(dòng)生長(zhǎng)的。黃色部分是最終實(shí)現(xiàn)的智能化分析能力。核心框架代碼維持穩(wěn)定的情況下,隨著指標(biāo)數(shù)據(jù)的持續(xù)輸入,模型抽象模塊依靠知識(shí)圖譜不斷的對(duì)數(shù)據(jù)進(jìn)行加工,不斷動(dòng)態(tài)調(diào)整和優(yōu)化在線分析引擎和離線分析引擎,同時(shí)根據(jù)已知的分析結(jié)果,自動(dòng)調(diào)整知識(shí)圖譜,生成新的頂點(diǎn)和邊。
分析引擎通過(guò)標(biāo)準(zhǔn)化的框架,根據(jù)問(wèn)題感知輸入的參數(shù)數(shù)據(jù),通過(guò)知識(shí)推理衍生圖譜,裁剪圖譜,形成與當(dāng)前場(chǎng)景相適應(yīng)的子圖,再通過(guò)標(biāo)準(zhǔn)框架轉(zhuǎn)換為已知的指標(biāo)與規(guī)則的集合。輸入到異常檢測(cè)模塊進(jìn)行探測(cè),發(fā)現(xiàn)可能存在的異常,然后通過(guò)標(biāo)準(zhǔn)的智能裁剪框架,根據(jù)問(wèn)題收斂知識(shí)圖譜對(duì)問(wèn)題進(jìn)行歸類(lèi),通過(guò)迭代生成診斷結(jié)論。再根據(jù)診斷結(jié)論進(jìn)行二次發(fā)散,找到可以定位問(wèn)題的工具,通過(guò)自動(dòng)化執(zhí)行這些工具,進(jìn)行故障路徑二次裁剪,最終獲得診斷結(jié)果。
知識(shí)成長(zhǎng)的方法除了不斷由人工注入新知識(shí)外,還可以通過(guò)模型抽象器自動(dòng)發(fā)現(xiàn)知識(shí),自動(dòng)生成知識(shí)點(diǎn)。該知識(shí)點(diǎn)被稱(chēng)為智能知識(shí)點(diǎn),加入到知識(shí)圖譜之后,可以根據(jù)標(biāo)準(zhǔn)接口自動(dòng)與現(xiàn)有的知識(shí)網(wǎng)絡(luò)的其他知識(shí)點(diǎn)建立關(guān)聯(lián)。從而優(yōu)化整個(gè)知識(shí)網(wǎng)絡(luò)。
(作者:白鱔)