摘 要:智能運(yùn)維系統(tǒng)涉及多種維度的監(jiān)測指標(biāo),系統(tǒng)的重要功能是異常信息檢測和原因自動化分析。本研究基于變分循環(huán)網(wǎng)絡(luò)建立了異常信息時(shí)序定位算法,利用蒙特卡洛樹搜索(Monte Carlo Tree Search,MCTS)設(shè)計(jì)針對多維因素的根因分析優(yōu)化方法。利用系統(tǒng)實(shí)際監(jiān)測數(shù)據(jù)訓(xùn)練算法模型,并對其性能進(jìn)行檢驗(yàn)。結(jié)果顯示,與對照組相比,設(shè)計(jì)算法在精確率、召回率等方面具有優(yōu)勢。
關(guān)鍵詞:智能運(yùn)維;多維監(jiān)測指標(biāo);異常定位算法;性能試驗(yàn)
中圖分類號:TP 31" " " " " " " " " " " " " " 文獻(xiàn)標(biāo)志碼:A
智能運(yùn)維系統(tǒng)中的異常信息發(fā)生在監(jiān)測時(shí)段內(nèi),但是監(jiān)測模型對時(shí)間與異常之間的關(guān)聯(lián)性反映不足。構(gòu)建一種能夠識別異常現(xiàn)象以及對應(yīng)發(fā)生時(shí)刻的算法模型具有突出的實(shí)踐價(jià)值。同時(shí),多維監(jiān)測指標(biāo)對異常信息的影響程度存在主次之分,算法模型應(yīng)該具備分析根本原因的功能。
1 基于變分循環(huán)網(wǎng)絡(luò)的異常定位算法
1.1 異常定位算法的實(shí)施流程
智能運(yùn)維系統(tǒng)中存在多種維度的監(jiān)測指標(biāo),當(dāng)部分指標(biāo)在監(jiān)測時(shí)間內(nèi)出現(xiàn)異常時(shí),要求算法工具能夠在相關(guān)的時(shí)間序列內(nèi)檢測出異常時(shí)刻。假設(shè)時(shí)刻t為監(jiān)測時(shí)序中的一個(gè)時(shí)間節(jié)點(diǎn),數(shù)據(jù)集{xt-N,…,xt-1,xt}為時(shí)刻t之前的歷史監(jiān)測數(shù)據(jù)。基于變分循環(huán)網(wǎng)絡(luò)(Variational Recurrent Neural Network,VRNN)的異常定位算法可用于檢測異常時(shí)刻,其實(shí)施流程為利用最小化損失函數(shù)訓(xùn)練多維監(jiān)測指標(biāo)數(shù)據(jù),形成異常定位模型。計(jì)算模型重建概率,判斷重建概率是否大于設(shè)定的閾值,當(dāng)判斷結(jié)果為大于時(shí)說明數(shù)據(jù)異常。
1.2 基于VRNN網(wǎng)絡(luò)的異常定位算法建模
在異常檢測中,變分自編碼器(VAE)的使用十分廣泛,但是以VAE為基礎(chǔ)的檢測方法并沒有考慮時(shí)間序列內(nèi)時(shí)間的相關(guān)性,而VRNN網(wǎng)絡(luò)以VAE和長短期記憶(LSTM)網(wǎng)絡(luò)為基礎(chǔ),VAE網(wǎng)絡(luò)模塊分布在每個(gè)時(shí)刻t上,長短期記憶網(wǎng)絡(luò)的狀態(tài)變量(記為ht-1)是VAE網(wǎng)絡(luò)模塊在時(shí)刻t的重要條件。在此基礎(chǔ)上,VRNN網(wǎng)絡(luò)模型能夠反映監(jiān)測數(shù)據(jù)的時(shí)序特征,進(jìn)而定位異常數(shù)據(jù)對應(yīng)的時(shí)間點(diǎn),其網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。其中,xt和zt分別為VAE模型在時(shí)刻t的輸入變量和隱藏變量[1]。xt為矢量數(shù)據(jù),如果以智能運(yùn)維系統(tǒng)中的數(shù)據(jù)為標(biāo)量,就需要對其進(jìn)行矢量化表示,可采用滑動窗口技術(shù)實(shí)現(xiàn)。
VAE是VRNN的重要基礎(chǔ),因此VRNN中也存在隱蔽變量z,其先驗(yàn)分布參數(shù)的數(shù)學(xué)表達(dá)如公式(1)所示。
φtprior(ht-1)=zt~N(μztprior,(σztprior)2I),[μztprior,σztprior] (1)
式中:zt為隱藏變量z隨時(shí)間的先驗(yàn)分布;μztprior,σztprior為zt中的參數(shù),分別為該分布的均值和標(biāo)準(zhǔn)差;函數(shù)φtprior為神經(jīng)網(wǎng)絡(luò),其輸入?yún)?shù)為ht-1;I為指示策略;N為采樣集。
該先驗(yàn)分布表達(dá)式在智能運(yùn)維監(jiān)測數(shù)據(jù)和時(shí)間序列之間建立了關(guān)聯(lián)。從公式(1)可知,φtprior主要取決于2個(gè)參數(shù)。將ht-1的非線性映射結(jié)果記為h't-1,其運(yùn)算過程如公式(2)所示。
h't-1=ReLU(linear(ht-1)) (2)
式中:linear()、ReLU()分別為線性變換函數(shù)、一種非線性激活函數(shù);μztprior,σztprior2個(gè)參數(shù)的計(jì)算方法均與h't-1有統(tǒng)計(jì)學(xué)意義,具體計(jì)算過程如公式(3)、公式(4)所示。
μztprior=linear(h't-1) (3)
μztprior=Softplus(linear(h't-1)) (4)
式中:Softplus為另一種非線性激活函數(shù)。求解標(biāo)準(zhǔn)差可通過該激活函數(shù)和ε(服從標(biāo)準(zhǔn)正態(tài)分布的變量)導(dǎo)出σx和σz。
VRNN網(wǎng)絡(luò)能夠重新構(gòu)建xt,重構(gòu)過程與隱藏變量在前一時(shí)刻的狀態(tài)變量以及其隨時(shí)間的先驗(yàn)分布有統(tǒng)計(jì)學(xué)意義,其解碼過程與VAE網(wǎng)絡(luò)模塊的解碼原理基本一致。以高斯分布描述經(jīng)過重建的xt,采集隱藏變量的近似后驗(yàn)分布樣本,通過 VRNN 解碼網(wǎng)絡(luò)的映射變換獲取xt重建時(shí)的參數(shù)分布,重構(gòu)過程如公式(5)所示。
xt|zt~N(μσ2I),[μ,σ]=φτdec(φτz(zt),ht-1) (5)
式中:當(dāng)以高斯分布表示重構(gòu)的xt時(shí),需要引入對應(yīng)的均值參數(shù)和標(biāo)準(zhǔn)差參數(shù)μ、σ;φτz(zt)為神經(jīng)網(wǎng)絡(luò)的特征提取階段,用于從隱藏變量中提取有效的特征點(diǎn);φτdec()為神經(jīng)網(wǎng)絡(luò)模型的解碼階段,以重構(gòu)的xt為數(shù)據(jù),經(jīng)過解碼后生成參數(shù)分布。Softplus、ReLU這2種激活函數(shù)可構(gòu)建出神經(jīng)網(wǎng)絡(luò)特征提取階段和解碼階段的函數(shù)表達(dá)式[2]。VRNN網(wǎng)絡(luò)模型在迭代的過程中需要更新隱藏狀態(tài),參數(shù)ht也隨之變化,ht與ht-1之間的關(guān)系如公式(6)所示。
ht=fθ(φτx(xt),φτz(zt),ht-1) (6)
式中:fθ為LSTM網(wǎng)絡(luò)的運(yùn)行機(jī)制。
通過以上分析可知,VRNN網(wǎng)絡(luò)兼顧了長短期記憶網(wǎng)絡(luò)的時(shí)序特征和變分自編碼器的隱藏變量,形成了具備時(shí)序特征的建模能力。
2 優(yōu)化根因分析算法
在智能運(yùn)維系統(tǒng)的多維指標(biāo)監(jiān)測中,除了定位異常指標(biāo)及其發(fā)生的時(shí)間點(diǎn),還需在此基礎(chǔ)上進(jìn)一步分析異常的原因,根因分析算法用于確定系統(tǒng)運(yùn)維數(shù)據(jù)異常的根本原因。傳統(tǒng)的根因分析算法采用MCTS原理,但是該算法在實(shí)際使用中存在一定的局限性,因此本研究以該算法為基礎(chǔ),建立了一種優(yōu)化的根因分析算法,實(shí)現(xiàn)過程如下。
2.1 定義算法中的符號
智能運(yùn)維系統(tǒng)的監(jiān)測指標(biāo)通常具有多個(gè)維度,即使確定了指標(biāo)異常的具體時(shí)間點(diǎn),但是各屬性在異?,F(xiàn)象中的作用有所差異,問題也無法解決。因此只有確定根因?qū)傩缘慕M合,才能為異常問題的解決創(chuàng)造條件[3]。智能運(yùn)維系統(tǒng)的監(jiān)測數(shù)據(jù)由事件、時(shí)間戳以及屬性值組成。事件包括多個(gè)屬性,例如所在省份(記為P)、通信頻道(記為C)、數(shù)據(jù)中心(記為D)以及運(yùn)行商類型(記為I)。1個(gè)事件記為E(P,I,D,C),示例為(北京,電信,DC1,Channel3)。時(shí)間戳為系統(tǒng)檢測出的事件發(fā)生的具體時(shí)間點(diǎn)。將根因分析算法中的異常屬性組合記為e=(p,i,d,c),其中的4個(gè)屬性為各自對應(yīng)屬性集中的1個(gè)元素。將所有屬性組合e組成1個(gè)集合,將該集合記為LEAF,元素e在時(shí)間尺度下的實(shí)際值記為v(e),其對應(yīng)值記為Value。
2.2 計(jì)算潛在分?jǐn)?shù)
為了以形象化的方式表示多維監(jiān)測指標(biāo),在分析過程中引入數(shù)據(jù)立方體(Data Cube)模型,其作用為支持多維度數(shù)據(jù)查詢。根因集合中存在多個(gè)元素,其中任一元素的變化都會在數(shù)據(jù)立方體中產(chǎn)生影響,使后者發(fā)生一定程度的變化。
元素e是否屬于集合LEAF的判斷條件為e中是否存在通配符*,如果存在,則e不屬于LEAF。將元素e在數(shù)據(jù)立方體中的子代元素記為e',而元素e'i屬于子代元素集合,記為e'i∈Desc'(e)[4]。當(dāng)元素e發(fā)生變化時(shí),將其變化量記為h(e),如公式(7)所示。
h(e)=f(e)-v(e) (7)
式中:f(e)為對元素e的預(yù)測值,可將元素e相應(yīng)歷史數(shù)據(jù)的均值賦值給f(e);v(e)為智能運(yùn)維監(jiān)控系統(tǒng)在數(shù)據(jù)立方體下的實(shí)測結(jié)果;作為e的子代元素,ei'的預(yù)測值為f(ei'),其在元素e中占有一定的比例,該比例關(guān)系記為a(ei'),其計(jì)算過程如公式(8)所示。
(8)
但是需要注意,在不同維度拆分下元素e存在很多可能性,例如當(dāng)e'=(p1,i1,d1),則e有可能是(p1,i1,*)、(p1,*,d1)或者(*,i1,d1)。因此,當(dāng)對不同維度、不同集合的某一元素進(jìn)行推導(dǎo)時(shí),得到的a(ei)也存在差異。
潛在分?jǐn)?shù)的計(jì)算闡明了根因集合中的元素對根因分析的整體影響程度。該計(jì)算方法對確定根因集合中的元素具有重要的作用,對比元素的潛在分?jǐn)?shù)計(jì)算結(jié)果與實(shí)際觀測值f(ei'),2種數(shù)值越接近,相應(yīng)的集合成為根因集合的可能性越大[5]。
潛在分?jǐn)?shù)的計(jì)算結(jié)果在0~1,當(dāng)2個(gè)潛在的根因集合中均存在多個(gè)元素時(shí),要綜合計(jì)算集合的潛在分?jǐn)?shù),此時(shí)引入?yún)?shù)解釋力(記為EP),其計(jì)算過程如公式(9)所示。
(9)
式中:f(ei)為根因集合中任一元素ei的預(yù)測值;v(ei)為f(ei)對應(yīng)的智能運(yùn)維系統(tǒng)實(shí)測值;f(total)為集合中所有元素預(yù)測值之和;v(total)為集合中所有元素觀測值之和。可通過公式(9)對比不同根因集合的解釋力EP值,從而確定最優(yōu)的根因集合。
2.3 算法優(yōu)化
將數(shù)據(jù)立方體記為B,根因分析算法的功能是從B中搜索潛在分?jǐn)?shù)最大的子集。B對應(yīng)的事件集記為E(B),其中存在n個(gè)元素,那么算法需要搜索2n-1次。顯然,隨著元素?cái)?shù)量n越來越大,算法的搜索次數(shù)將快速增加,會造成極大的搜索負(fù)擔(dān)。此處以MCTS原理為基礎(chǔ),構(gòu)建優(yōu)化的根因分析算法,目標(biāo)位縮小搜索空間,減少負(fù)擔(dān)。
在MCTS算法中,將搜索樹的狀態(tài)記為s,與之對應(yīng)的智能運(yùn)維系統(tǒng)多維監(jiān)控指標(biāo)異常根本原因集合記為S。狀態(tài)s由3個(gè)變量加以描述,分別為訪問計(jì)數(shù)、集合S的潛在分?jǐn)?shù)以及狀態(tài)s轉(zhuǎn)換后的新狀態(tài)s',前2個(gè)變量的數(shù)學(xué)表示方法為N(s,a)、ps(s)。將狀態(tài)s轉(zhuǎn)化為狀態(tài)s'的動作值記為Q(s,a),其計(jì)算過程如公式(10)所示。
Q(s,a)=max ps(S(u)),u∈{s'} (10)
式中:u為集合。
MCTS算法通過4個(gè)步驟進(jìn)行根因分析。第一步為選擇。目標(biāo)是從其自身的搜索樹中選擇需要擴(kuò)展的數(shù)據(jù)節(jié)點(diǎn),從搜索樹的根節(jié)點(diǎn)開始,遍歷每個(gè)節(jié)點(diǎn)。當(dāng)執(zhí)行此步驟時(shí),應(yīng)使用上置信界(Upper Confidence Bound,UCB)算法實(shí)現(xiàn)對節(jié)點(diǎn)的選擇,但是UCB算法會對全部節(jié)點(diǎn)進(jìn)行一次初始化處理,此時(shí)如果以相同概率初始化全部節(jié)點(diǎn),就會浪費(fèi)時(shí)間和空間,因此此處采用漸進(jìn)展開策略選取擴(kuò)展節(jié)點(diǎn)。逐層計(jì)算每個(gè)元素的潛在得分ps(e),元素e根據(jù)計(jì)算結(jié)果排序,后以排定的次序再利用UCB算法得到高分元素。通過上述步驟,就能夠在合理、有效的時(shí)間范圍內(nèi)及時(shí)尋找到具有最高潛在分?jǐn)?shù)的節(jié)點(diǎn)。第二步為添加。這一步驟的目的是拓展MCTS,增加新狀態(tài)s'。s'應(yīng)滿足表達(dá)式S(s')=S(s)∩{e*},在該表達(dá)式中,e*為集合,是從集合{e1,e2,…,en}中選擇的子集,以剩余元素的潛在得分為選取e*中子元素的標(biāo)準(zhǔn)。第三步為計(jì)算。計(jì)算各元素的ps、N及Q。第四步為反饋。從MCTS的根節(jié)點(diǎn)到狀態(tài)節(jié)點(diǎn)s',形成搜索路徑,更新該路徑上所有節(jié)點(diǎn)的訪問計(jì)數(shù)和動作值。
2.4 基于Apriori算法的分層剪枝方法
分層剪枝的作用是進(jìn)一步降低算法的計(jì)算量,通過剪枝操作將不可能成為根因的元素集合排除在搜索范圍之外。分層剪枝方法基于Apriori算法,屬于數(shù)據(jù)挖掘領(lǐng)域的關(guān)聯(lián)規(guī)則學(xué)習(xí)算法,具有先驗(yàn)功能。假設(shè)B中存在一層數(shù)據(jù),將該層記為l,運(yùn)用MCTS原理從中獲取最大潛在分?jǐn)?shù)集合,將該集合記為BSet(l,B)。由于父元素和子元素的潛在分?jǐn)?shù)水平具有一定的繼承性,父元素得分高說明子元素的得分也較高,因此可將集合BSet(l,B)以外的元素全部進(jìn)行修剪,l+1層中將不再出現(xiàn)潛在分?jǐn)?shù)較低的子元素,由此便簡化了搜索樹。
3 算法性能試驗(yàn)及結(jié)果分析
3.1 試驗(yàn)數(shù)據(jù)源介紹
以真實(shí)的智能運(yùn)維系統(tǒng)為數(shù)據(jù)源,采集A、B、C這3種數(shù)據(jù)集,采集時(shí)長為70天,采集頻率為1次/min,因此每個(gè)數(shù)據(jù)集中包括100 800條運(yùn)維數(shù)據(jù)。將前55天的數(shù)據(jù)作為模型訓(xùn)練的樣本集,后15天的數(shù)據(jù)作為模型檢驗(yàn)的數(shù)據(jù)集。數(shù)據(jù)集可形成四階數(shù)據(jù)立方體,每層的根因集合元素?cái)?shù)量≤5個(gè),因此4層數(shù)據(jù)最多包括20種異常根因。智能運(yùn)維系統(tǒng)樣本數(shù)據(jù)示例見表1。
3.2 算法性能優(yōu)劣的評價(jià)指標(biāo)
算法有異常定位和根因分析2種功能,性能評價(jià)的指標(biāo)均為召回率(Recall)、精確率(Precision)、F-score,其對應(yīng)的計(jì)算過程如公式(11)~公式(13)所示。
(11)
(12)
(13)
式中:TP為被模型預(yù)測為正類的正樣本;FP為被模型預(yù)測為正類的負(fù)樣本;FN為被模型預(yù)測為負(fù)類的正樣本;F-score為召回率和精確率的加權(quán)調(diào)和平均值。
3.3 試驗(yàn)方法以及結(jié)果分析
3.3.1 算法異常定位性能試驗(yàn)
3.3.1.1 設(shè)置試驗(yàn)對照組
為了檢驗(yàn)文章提出的算法對多維指標(biāo)異常檢測與定位的性能,將異常檢測中的經(jīng)典算法Dount(基于VAE的Web應(yīng)用周期性KPI無監(jiān)督異常檢測)和Opprentice算法作為試驗(yàn)對照組。
3.3.1.2 試驗(yàn)結(jié)果及分析
3種算法對樣本數(shù)據(jù)的異常檢測結(jié)果見表2。從表2可知,本研究提出的改進(jìn)算法在精確率、召回率以及F-score這3項(xiàng)性能指標(biāo)的得分上均高于Dount算法和Opprentice算法,并且在3種數(shù)據(jù)集上表現(xiàn)出穩(wěn)定性。
3.3.2 算法根因分析性能試驗(yàn)
為檢驗(yàn)算法在根因分析中的性能,同樣設(shè)置2個(gè)對照組,分別為HotSpot算法和Adtributor算法,將B作為性能檢測的數(shù)據(jù)源,得到的試驗(yàn)結(jié)果見表3。從表3可知,本文提出的根因分析優(yōu)化算法在精確率和召回率2項(xiàng)指標(biāo)上全面優(yōu)于HotSpot算法和Adtributor算法。
4 結(jié)語
針對智能運(yùn)維系統(tǒng)多維監(jiān)測指標(biāo)的異常定位算法應(yīng)具備異常信息檢測以及根因分析的功能。變分循環(huán)網(wǎng)絡(luò)能夠整合長短期記憶網(wǎng)絡(luò)和變分自編碼器,可從時(shí)序變化層面監(jiān)測系統(tǒng)中的異常情況。在根因分析方面,經(jīng)過符號定義、潛在分?jǐn)?shù)計(jì)算以及分層剪枝等操作,以MCTS算法為基礎(chǔ)設(shè)計(jì)出優(yōu)化方法,縮小了搜索空間,降低了算法的計(jì)算量。試驗(yàn)結(jié)果表明本研究提出的新算法具有良好的性能。
參考文獻(xiàn)
[1]王雅鑫,趙月愛.基于KL退火的VRNN視頻異常預(yù)測算法研究[J].太原師范學(xué)院學(xué)報(bào)(自然科學(xué)版),2023,22(1):38-44.
[2]管延霞,劉遜韻,劉運(yùn)韜,等.面向多智能體博弈的并行蒙特卡洛樹搜索算法研究[J].計(jì)算機(jī)工程與科學(xué),2022,44(12):2128-2133.
[3]宋英健,侯榮旭,孫嘉榮,等.動態(tài)混合局面評估MCTS算法在愛恩斯坦棋中的應(yīng)用[J].沈陽工程學(xué)院學(xué)報(bào)(自然科學(xué)版),2022,18(3):72-76.
[4]趙曉杰,陳曄.面向計(jì)算機(jī)實(shí)驗(yàn)室智能運(yùn)維的網(wǎng)絡(luò)設(shè)備視覺識別算法研究[J].西安文理學(xué)院學(xué)報(bào)(自然科學(xué)版),2023,26(2):39-43.
[5]賈靜茹,包健,劉濤,等.智能運(yùn)維體系在超大型數(shù)據(jù)中心中的實(shí)踐[J].長江信息通信,2022,35(9):133-136.