吳迅 齊艷


摘 要:隨著各地地鐵線路的增加,各種設備故障告警量也越來越多,各種等級的告警量也較多,有時會有大量的告警是由某個告警衍生出來的,運營人員只能靠專業知識和經驗去識別哪些告警是根因告警,也沒有預測重大告警的能力。
關鍵詞:軌道交通;告警;相關性
0 引言
集中告警系統負責對通信各子系統告警數據的采集和展示,因此,對集中告警系統的告警數據進行相關性分析顯得尤為重要。傳統的相關性分析方法由于過多地依賴專家知識而難以適應復雜、多變的情況,采用數據挖掘的算法則可以彌補這方面的不足。
1 算法確定
目前關聯規則挖掘的研究主要集中在設計發現頻繁模式的算法上,主要算法分兩類:Apriori算法及其改進和頻繁模式增長算法(FP-Growth: Frequent Pattern Growth)及其改進算法。從算法效率上來看,FP-Growth算法要高于Apriori,故在集中告警系統告警相關性分析中使用FP-Growth算法。
2 告警分析流程
告警分析是一個處理過程,通常分為告警的預處理階段,告警挖掘階段(即告警關聯規則的挖掘)、告警的后處理階段(即對結果解釋、評估以及進一步地調整合并等)。
2.1 數據預處理階段
這個階段分為三個子步驟:數據選取、數據預處理、數據變換。
數據選取的目的是確定發現任務的操作對象,即目標數據。在告警相關性分析中主要是從告警庫中將不同網元發送的告警進行統一格式處理,根據用戶需要(給定的時間段)從中選出需要分析的告警數據。
2.2 數據預處理
將目標數據處理成便于挖掘的形式,通常包括去噪聲、缺值數據處理、消除重復記錄、完成數據類型轉換等操作。這一步對于告警關聯性分析至關重要。
(1)去噪聲。刪除告警中由于各種原因而無法識別的數據。
(2)消除重復記錄。在告警記錄中通常有很多重復記錄,如告警網元,告警類型和告警發生時間相同的告警記錄應該在告警相關性分析中將其刪除。
另外,告警持續時間小于閾值(如2秒、5秒或10秒)的告警記錄刪除。
2.3 告警的后處理階段
主要對結果進行解釋、評估等。
3 集中告警-FP-Growth算法應用分析
挖掘告警的序列模式就是發現整個告警數據庫中告警序列之間的關聯關系,如果告警A、B發生后,告警C經常在很短的時間內發生,則表明告警A、B和告警C之間存在著一定的關聯關系。如下圖:
這種告警間的關聯關系至少要滿足“經常在一起發生”這個條件。所謂“經?!笔侵改撤N序列模式不是偶然出現的,要具有一定的規律性,需要達到一定的頻度,才能夠表示他們之間可能有關聯關系;所謂“在一起”是指這些有關聯的告警時間跨度不能太大,否則挖掘出來的規則也毫無意義。例如在圖1中若告警A、B發生一年之后告警C發生,這樣的關系是沒有價值的。因此具有關聯關系的告警應在一定的時間間隔內發生。
在序列模式挖掘中,一般首先通過時間窗對告警序列進行劃分,認為在同一個時間窗內的告警可能存在關聯關系,不在同一個時間窗內的告警沒有關系。通常情況下時間窗以固定的滑動步長從告警序列的起點向終點滑動,如圖2所示:
然后,統計告警序列模式在每個時間窗口中的發生情況,來確定其是否為頻繁項集。圖2 中為一告警序列S,其中{A-F}為告警類型,采用長度為win的滑動時間窗從S的初始時間開始,以單位步長向后滑動,直到S的末尾,由此形成告警窗口(告警子序列)集合W(S,win)。
告警數據是一個時間序列,在遍歷告警數據庫時,需要采用滑動窗口,這個窗口從第一條告警記錄開始,滑向最后一條告警記錄,因此還需要定義窗口的滑動速度,即滑動步長。窗口滑動步長越大,算法的執行效率越高,但規則的準確性會下降;相反步長越小,關聯規則準確性提高的同時會降低算法的執行效率,占用系統資源,一般情況下,為了保證相鄰窗口間有足夠的重疊,滑動步長通常小于窗口寬度大小的一半。
告警序列關系分為以下三種情況:
串行關系:告警序列包含A、B,且告警A會導致告警B出現,則A與B為串行關系。
并行關系:告警序列包含A、B,告警A和B通常一起發生,但它們出現的順序不定,則A和B為并行關系。
混合關系:告警序列包含A、B、和C,且通常告警A和B共同發生后會引起告警C發生,那么A、B和C為混合關系。
結合集中告警的告警數據,取告警時間窗口為10分鐘,滑動步長為4分鐘。
4 數據獲取
將某地鐵線路各個子系統的告警按車站分開導入不同的excel表格,告警記錄時間從2017年11月30日到2018年4月25日。
只對告警量較多的子系統進行告警相關性分析,經過篩選為傳輸和電源。
對20個車站的各子系統告警量最多的一個車站進行統計,告警情況如下:
(1)傳輸系統。共839條告警,共31個告警碼,雖也有不少復重告警,但有些是分散的,可以嘗試做相關性分析。
(2)電源系統。共2651條告警,共24個告警碼,重復告警較分散,可以嘗試做相關性分析。
5 相關性分析
選取傳輸系統數據使用FP-GROWTH算法進行分析:
傳輸系統共839條告警,以10分鐘為告警時間窗口,4分鐘為滑動步長來統計告警序列,將數據通過該算法進行計算,取支持度數為40,可計算出滿足支持度數的頻繁項集:
1 告警A為5441,告警B為4430時,置信度為0.818181818
2 告警A為4430,告警B為5441時,置信度為0.818181818
3 告警A為4506,告警B為5548時,置信度為0.818181818
5441告警內容為:以太網物理接口 Ethernet端口半雙工連接。
4330告警內容為:以太網物理接口 Ethernet端口未連接。
4506告警內容為:VCG(RPR Span)端口保護倒換事件(PSE) 。
5548告警內容為:RPR 端口拓撲不一致。
咨詢了傳輸專業的工程師,得知:
在發生告警“以太網物理接口 Ethernet端口未連接”的情況下,一定會發生“以太網物理接口 Ethernet端口半雙工連接”;
在發生告警“VCG(RPR Span)端口保護倒換事件(PSE) ”,一定會發生“RPR 端口拓撲不一致”;
即規則2和規則3成立。
規則1和規則2包括的告警碼是相同的,互為因果,但反而置信度較低的一方是正確的,可見并不是置信度高的就一定成立,當然這也可能是由于數據預處理不當造成的。
參考文獻:
[1]張彬,郭軍.基于數據挖掘的智能化移動通信網絡故障管理關鍵技術研究[J].計算機科學,2006(10):36-40.
[2]王艷.數據挖掘中關聯規則的探討[J].成都信息工程學院學報,2004(2):17-18.