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