郭鎮(zhèn)遠(yuǎn)
摘要:大型服務(wù)平臺內(nèi)部上百個系統(tǒng)間的相互調(diào)用并產(chǎn)生上萬條告警數(shù)據(jù),大量冗余的信息給處理帶來不便。為此我們設(shè)計了告警信息預(yù)處理、根因定位和可視化拓?fù)淠K,利用網(wǎng)絡(luò)拓?fù)湫畔⒓案婢瘮?shù)據(jù),及時有效的對告警進行過濾,并設(shè)計算法快速定位網(wǎng)絡(luò)故障中根因節(jié)點位置,并可視化展現(xiàn)出所有網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),當(dāng)網(wǎng)絡(luò)中出現(xiàn)故障時候根據(jù)告警信息來生成局部拓?fù)浣Y(jié)構(gòu),并將產(chǎn)生故障的根因節(jié)點可視化展示出來。
關(guān)鍵詞:網(wǎng)絡(luò);拓?fù)浣Y(jié)構(gòu);故障定位
中圖分類號:TP393.07?文獻標(biāo)識碼:A?文章編號:1672-9129(2020)10-0075-01
1?引言
當(dāng)今大型業(yè)務(wù)平臺內(nèi)部涉及上百個系統(tǒng)間的相互調(diào)用,每天會產(chǎn)生上萬條告警數(shù)據(jù),巨大數(shù)據(jù)量使得傳統(tǒng)的人工定位無法及時有效的處理告警信息,我們基于拓?fù)湫畔?、時間信息和告警內(nèi)容,對告警信息進行收斂處理,去除大量榮譽告警數(shù)據(jù)和噪聲數(shù)據(jù),將有用的告警信息簡潔的呈現(xiàn)給運維人員。
2?基本原理
2.1告警事件預(yù)處理。根據(jù)告警信息與網(wǎng)絡(luò)節(jié)點拓?fù)溥B接關(guān)系關(guān)聯(lián),去除掉數(shù)據(jù)中對根因定位無影響的數(shù)字、字符、噪聲信息,去除網(wǎng)絡(luò)節(jié)點拓?fù)渲胁贿B接的節(jié)點數(shù)據(jù)。并對剩余告警信息按相似性進行分類,便于后續(xù)定位算法中因果模型的構(gòu)建。
2.2告警信息收斂。從時間維度獲取時間上相關(guān)的拓?fù)涔?jié)點,從拓?fù)渚S度獲取拓?fù)渖舷嚓P(guān)的拓?fù)涔?jié)點,通過時間和拓?fù)鋬蓚€維度進行收斂,收斂出時間和拓?fù)渖隙季哂嘘P(guān)聯(lián)性的告警節(jié)點,并根據(jù)收斂得到的告警節(jié)點生成節(jié)點事件。
2.3告警事件轉(zhuǎn)換。將收斂過后的節(jié)點事件,通過節(jié)點與告警關(guān)聯(lián)的方式進行告警類型的轉(zhuǎn)換,將節(jié)點的關(guān)聯(lián)關(guān)系轉(zhuǎn)化成告警的關(guān)聯(lián)關(guān)系,用于后續(xù)模型的訓(xùn)練。
2.4根因定位算法。基于收斂后的告警關(guān)聯(lián)數(shù)據(jù),通過因果發(fā)現(xiàn)算法構(gòu)建因果圖,并基于已知的數(shù)據(jù)進行分析和驗證,最終得出相關(guān)模型,通過模型即可對根因進行定位。
2.5可視化根因信息。使用Echart可視化圖表框架,可視化展現(xiàn)出所有網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),當(dāng)網(wǎng)絡(luò)中出現(xiàn)故障時候根據(jù)告警信息來生成局部拓?fù)浣Y(jié)構(gòu),并將產(chǎn)生故障的根因節(jié)點信息可視化展示出來。
3?實現(xiàn)過程
3.1提取日志中的節(jié)點信息。在節(jié)點的告警事件中,包含告警信息,告警時間,告警節(jié)點等信息,由于這些信息并沒有進行分離處理,因此觀察起來十分不便。通過正則匹配以及數(shù)據(jù)預(yù)處理,將其告警信息內(nèi)容進行提取,提取出對定位根因告警有用的信息,并且無用干擾和噪聲信息進行剔除。之后通過對告警信息分詞,計算其信息熵的方式來獲取告警信息之間的相關(guān)性,將告警信息相關(guān)性較強的信息進行聚合,從而實現(xiàn)對告警信息的分類。分類好的數(shù)據(jù),可以提高算法效率,得到較為準(zhǔn)確的定位結(jié)果。
3.2告警數(shù)據(jù)收斂處理。在收斂階段,通過對事件和拓?fù)鋬蓚€維度進行聚合,來獲取告警事件。首先在時間維度上,利用滑動窗口的方法,收斂在一段時間內(nèi)的告警節(jié)點,并且將這些節(jié)點信息放到同一個事件中,通過時間窗口聚合,提取出時間維度上相互關(guān)聯(lián)緊密的告警節(jié)點。在獲取到時間上相關(guān)的收斂事件后,對節(jié)點事件進行拓?fù)渚S度的收斂。
基于網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)圖,對時間維度收斂過后的事件進行拓?fù)渚S度上的收斂。通過網(wǎng)絡(luò)拓?fù)鋱D匹配時間維度收斂過后的節(jié)點事件,對事件中節(jié)點在網(wǎng)絡(luò)拓?fù)鋱D中存在連接關(guān)系的,進行收斂處理,對其中不存在拓?fù)溥B接關(guān)系的進行剔除處理。通過拓?fù)渚S度上的聚合,可以找到節(jié)點之間拓?fù)渖系南嚓P(guān)關(guān)系,從而用于模型訓(xùn)練。
通過對時間和拓?fù)鋬蓚€維度的收斂,把兩個維度上的關(guān)聯(lián)關(guān)系全部提取出來,從而生成的事件可以進行模型訓(xùn)練。
3.3告警轉(zhuǎn)換。由于我們要對告警進行定位,因此要將上一步收斂好的節(jié)點事件進行告警轉(zhuǎn)換,將節(jié)點的聚合連接關(guān)系轉(zhuǎn)化成告警連接關(guān)系。對文件中節(jié)點進行聚合處理,獲取每個節(jié)點上的告警信息,根據(jù)節(jié)點和告警的關(guān)聯(lián),將節(jié)點事件轉(zhuǎn)化成告警的事件,從而可以對告警事件進行模型訓(xùn)練。
3.4模型訓(xùn)練。首先將存在根因告警的文件進行分組,同一種根因告警類型劃分為一組,通過劃分得到不同的根因,分別對存在根因的文件進行因果模型訓(xùn)練。利用規(guī)則生成的方式,進行因果模型圖的生成。遍歷每組中告警類型的連接關(guān)系,對首次遍歷到的告警類型節(jié)點生成一個連接關(guān)系,并為其設(shè)置權(quán)重,之后重復(fù)遍歷到的節(jié)點每次遍歷將權(quán)重增加,最終可以獲得不同的根因告警的因果結(jié)構(gòu)圖,并且每個因果節(jié)點上附帶節(jié)點的權(quán)重。每種因果告警因果圖對應(yīng)于一種根因告警模型,通過對模型的匹配來定位根因結(jié)果。
3.5驗證預(yù)測。通過遍歷預(yù)測文件中所有節(jié)點,來進行定位。如果節(jié)點告警類型在根因告警類型里,查找上層調(diào)用節(jié)點幾跳的節(jié)點連接信息,構(gòu)建一個樹狀的節(jié)點連接結(jié)構(gòu),并且將其節(jié)點連接結(jié)構(gòu)轉(zhuǎn)換成告警連接結(jié)構(gòu),通過匹配模型上的對應(yīng)的路徑獲得節(jié)點的權(quán)重,通過權(quán)重對這條路徑打分,遍歷告警節(jié)點上所有路徑,計算打分之合。遍歷預(yù)測文件中所有節(jié)點,獲取打分和,最終打分最高的節(jié)點告警即為根因告警。
3.6可視化展示。使用前后端分離的方式建立可視化網(wǎng)站,前端使用百度Echart插件對進行可視化拓?fù)浣Y(jié)構(gòu)的展示,后端使用python對數(shù)據(jù)進行處理。通過前后端配合,最終建立了系統(tǒng)中所有節(jié)點間的拓?fù)溥B接關(guān)系,系統(tǒng)間的拓?fù)溥B接關(guān)系,系統(tǒng)內(nèi)的拓?fù)溥B接關(guān)系,節(jié)點與告警的連接關(guān)系,以及動態(tài)的網(wǎng)絡(luò)拓?fù)浔O(jiān)控系統(tǒng)。通過動態(tài)的網(wǎng)絡(luò)節(jié)點拓?fù)浔O(jiān)控系統(tǒng),運維人員可以清晰看到網(wǎng)絡(luò)中拓?fù)涞慕Y(jié)構(gòu),以及某一時間段內(nèi)的告警信息情況,幫助運維人員進行管理;通過網(wǎng)絡(luò)拓?fù)鋱D定位可視化,可以將其根因節(jié)點以及告警信息展示給運維人員。
4?結(jié)語
本系統(tǒng)從收集的海量告警當(dāng)中,基于深層關(guān)聯(lián)規(guī)則分析和神經(jīng)網(wǎng)絡(luò)技術(shù),保留關(guān)鍵告警信息,減少告警數(shù)量,減輕運維負(fù)擔(dān)。對告警信息進行多角度統(tǒng)計,聯(lián)動分析及可視化,支持任意屬性特征查找詳細(xì)告警信息,并且展示告警節(jié)點與告警信息的關(guān)聯(lián),實時展示網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)上的告警狀態(tài),并將其信息進行整理展示給運維人員,實現(xiàn)了網(wǎng)絡(luò)故障告警和根因定位。
參考文獻:
[1]馮魯漢. 智能運維中多維監(jiān)測指標(biāo)的異常定位研究[D].西安電子科技大學(xué),2019.