黃強
摘 要:數據中心日常運維會收到大量來自不同監控源、不同設備、不同類型的原始告警。這些原始告警不僅包含原始信息,而且存在大量不需要IT運維人員關注的告警、單一重復告警、同一系統故障引發大量關聯告警等,不便于運維人員快速判斷和處理。因此,需要對原始告警信息進行收集、格式化、過濾、壓縮、豐富、根源分析,最終呈現給運維人員的是根源告警,并且攜帶有便于運維人員后續處理的告警和配置資源信息,實現故障快速定位和恢復。本文是結合貴州電網公司信息中心IT集中監控系統規劃建設進行的分析設計。
關鍵詞:告警關聯分析模型;原始告警;運維人員
1 告警關聯分析模型在整體架構中的定位
告警管理分析模型處在數據處理層,通過內存數據庫實現。其核心模塊為告警預處理引擎、告警豐富處理引擎、告警關聯性分析引擎和告警后期處理引擎。本模型處理各個監控源采集到的原始告警,通過調用告警知識庫和配置管理庫的規則和配置信息,實現對告警的收集、格式化編碼、過濾、壓縮、豐富、關聯分析等處理,并為業務運行狀態評價模型提供告警狀態。
2 告警關聯分析模型引入的意義
貴州電網需要的是針對大型網絡中基礎架構平臺和應用的實時故障處理及運行管理系統,包含各管理子系統的綜合故障管理功能。引入告警關聯分析具有重要意義:(1)有效精簡告警數量,縮短故障定位時間;豐富告警所包含的信息量,提升運維人員的故障處理效率;(2)可以將專家支持團隊的經驗以算法的形式直接應用到運維實踐中,快速提高團隊運維能力;(3)提高告警處理的標準化程度。
3 告警關聯分析模型研究內容
告警關聯分析模型主要研究內容是如何對系統中大量告警進行精簡,只對需要干預和處理的告警進行通知和展示,因此需要將內存數據庫中的告警在其各個生命周期、使用不同算法進行處理。
首先,根據各個監控源的原始告警進行格式化處理,格式化處理后形成的告警中攜帶了原始告警的全部信息;告警預處理引擎內置告警處理算法,將告警信息進行壓縮、過濾;然后,調用告警知識庫中的告警表和配置表,對需要進一步處理的告警進行告警豐富和配置豐富,將告警信息和配置信息豐富到告警內存庫中;將業務關聯信息豐富到告警流水表,發送給業務狀態評價模型;按照關聯算法,消除已恢復告警和非根源告警;對告警內存庫處理后的告警通知到一線運維人員、事件管理平臺,并對告警做歸檔存入統一信息庫,以供后續查詢。
4 告警關聯分析模型的重點和難點
4.1 模型研究的重點
告警關聯分析模型包含4個子模型:告警預處理模型、告警豐富模型、告警關聯性分析模型和告警后期處理模型。設計研究重點如下:(1)告警預處理模型:告警格式化編碼設計和告警過濾、壓縮是本模型的重點。完備的告警格式化編碼設計,可以使監控源的信息量有效傳遞,也可以為后續告警處理奠定基礎;告警過濾和壓縮屬于源消息處理,有效的過濾和壓縮可以減少告警內存庫的告警處理量,大大提高告警后續處理的性能和效率,降低告警內存庫的負荷。(2)告警豐富模型:本模型研究重點是告警內存庫與告警知識庫的接口設計。原始告警本身只攜帶監控源采集到的監控指標信息,其信息量與后續干預、處理還有很大差距,將配置信息、告警知識庫信息以及業務關聯信息有效豐富到告警中,可以充分利用現有的知識儲備,豐富告警的信息量,提高后續處理效率,不斷提升告警處理能力。(3)告警關聯性分析:本模型研究重點是告警關聯性分析算法設計,建立告警關系的樹形結構。告警經過關聯分析引擎后,將直接進入告警通知過程,通過展示層呈現給運維人員。多個關聯告警同時發生,如何根據多個告警有效分析出根源告警,將衍生告警吸收;或者多個告警發生,根據既有告警推論得出一個新告警的發生。
4.2 模型研究的難點
告警格式化編碼設計:不同業務、不同系統對各個指標參數的要求不同,告警格式也不盡相同,不同軟件、硬件產品的告警格式也不盡相同,因此,設計告警編碼格式和規范,對不同類型原始告警,將其信息正確有效的寫入告警流水表的各個字段,才可以保證信息傳遞不失真;后續告警處理需要大量調用管理配置庫和告警知識庫內容,格式化告警中需要預留相應的字段,同時需要兼顧告警內存庫的資源,因此格式化告警編碼設計需要合理高效。
與關鍵應用監控系統其他子模塊(配置關聯模型、告警知識庫)的接口設計:配置關聯數據庫和告警知識庫中存儲了大量的配置信息和知識信息,在告警豐富、告警關聯性分析等多個過程中,需要通過接口正確調用和重新組織告警知識庫和配置資源信息。
告警壓縮、過濾算法和告警關聯性分析算法:告警處理告警關聯分析模型的輸入之一是監控告警源,輸出是直接呈現給運維人員看到的告警信息,如何過濾無效告警、壓縮重復告警、正確獲取關聯告警中的根源告警,直接關系到運維人員的告警處理效率。需要設計科學有效的告警處理算法。算法設計涵蓋了告警處理流程設計和告警知識庫關聯規則管理模塊的數據結構設計。
5 告警關聯性分析模型設計
5.1 告警預處理模型設計
各監控源采集到的原始告警信息進入告警總線進行處理,需要經過壓縮、過濾、關聯性分析等過程,從而達到告警的提煉,使得最終呈現給運維人員面前的信息是最關鍵、最重要的告警。告警格式化、告警過濾、壓縮不涉及告警關聯分析模型和告警知識庫模型之間的相互調用,實現的算法邏輯相對簡單,但是可以過濾絕大部分無關告警。
5.2 告警豐富模型設計
根據用戶的實際管理需要對告警進行的豐富,將用戶的資源信息與原始告警進行關聯,使運維人員在收到告警的同時,直接可以查看到相關的內容,如聯系人、聯系電話、處理方式等,將有價值的數據進行整合,集中呈現到告警管理平臺,不用進行額外的手工查詢工作,提高處理效率。
告警過濾和壓縮過程在告警內存庫中進行,邏輯相對簡單,處理過程并不需要直接調用告警知識庫中的數據表。在后續的告警關聯性分析以及進一步處理過程,僅憑原始告警信息已經無法進行,需要大量調用告警知識庫模型的信息。為了提高告警處理效率,需要將告警知識庫和配置管理庫中的關鍵信息寫入格式化告警的相應字段,在告警內存庫中處理。
5.3 告警關聯性分析模型設計
告警處理引擎的數據來自不同的基礎監控系統系統,這些數據之間是否有關聯?如果有,是何種關聯關系?關聯關系的判斷是依賴系統告警本身就可以實現,還是需要連接到外部數據源,從外部數據源獲得信息幫助判斷?這些問題都需要整理和回答,讓系統自動實現關聯關系的分析。通過對這些信息的分析,包括告警信息本身、外部數據依賴關系、告警發生的時段和頻率甚至外部的問題支持數據庫等,來告訴管理系統,告警的根源是什么,是否已有解決方案,如果是,解決方案是什么,告警的影響情況如何,相關告警中,是否可以將部分告警抑制等等。這些工作就是在梳理告警之間的關聯關系,本模型中告警關聯分析的工作就是利用這些規則,系統自動發現多重告警的根源告警,減少人為處理的工作強度,提高運維效率。
在實際的監控系統中,經統計發現告警在每天不是平均分布的,經常是在短時間內產生大量的報警。針對以上的場景在處理告警時有可能因為沒有從大量告警中找到最主要告警信息而延誤故障的處理時間。因此針對有關聯關系的報警,需要一套方法來進行合并,減少無效報警。為了滿足南方電網告警關聯分析的需求,可以使用基于樹形規則的相關性分析模型。
很多告警會成對出現,例如故障的發生告警和故障的恢復告警。告警關聯能夠根據預定義的特征將這些告警關聯在一起并消除相應的告警。告警關聯具備告警相關性分析功能,如故障告警發生在前,故障恢復告警在后,才自動關聯歸并,否則不予關聯。支持資源內部告警關聯(如服務器Down造成的應用、數據庫等不可用的告警能夠自動關聯定位故障根源為服務器Down)和跨資源關聯(如網絡端口Down造成服務器Ping Failure等告警發生,自動關聯定位故障根源為網絡端口Down)。
5.4 告警后期處理
告警在數據處理層經過了壓縮、過濾、豐富和關聯分析等過程后,形成了最終的通知告警。從告警生命周期來看,還需要通知到告警展示平臺,并提供相應的操作接口;從告警的歷史持久化來看,需要進行歸檔并提供檢索功能。
6 總結
通過以上4個模型,可以大幅降低告警量;在告警發生時也只會報出需要運維人員處理的根源告警;對于根源告警,其信息量也足夠豐富,實現快速處理。
參考文獻
[1]張現飛,侯思祖.電力通信網監控系統告警關聯分析[J].電力系統通信,2009,30(1):47-50.
[2]王旭勇.基于電網IT集中監控系統告警關聯分析研究[J].中國電子商務,2014,(19):75.
(作者單位:貴州電網有限責任公司信息中心)