發表于 2017-11-01 09:38
當運維工程師每天面對來自不同監控系統中數量龐大、類型復雜的故障告警時,是否感到心有余而力不足呢?
當這些故障告警來自各個不同的廠家設備且類型不一,需要你對各種異構設備都非常了解且完全憑借個人經驗時,你是否變得無所適從?
當你從應用系統預警追查到其所在服務器,從中間件服務追查到數據庫集群,再從某個數據庫節點的緩存命中指標降低追查到是因為存儲磁盤的IOPS指標出現了瓶頸,才導致應用所涉及的設備都產生不同程度告警時,你是否曾經祈禱過——當應用系統因訪問過慢預警時,上帝能否直接告訴我,就是存儲磁盤的IOPS指標出現了問題呢?
答案是肯定的。ITBA運維大數據分析——“故障根源分析”為你揭開神秘的面紗。
在實際運維過程中,現場各種專業監控工具多達十余種,在每天產生紛繁復雜的告警數據中,存在大量的冗余告警信息,它們之間隱藏著一些具有強關聯性的告警規則,也就是說某些設施的某些指標告警是由于別的指標告警引起的。
不同類型的設備與設備之間,設備的指標與指標之間,都存在著這樣的關系,我們只有找到產生告警的根本原因,才能快速、有效地排除故障,確保業務系統安全穩定運行。
告警關聯分析通過融合并轉化多條有聯系的告警,將它們轉換成一條或少量幾條包含更多故障信息的告警,以此達到降低活動告警的種類和數目,減輕運維人員的工作壓力,提高故障精確定位效率,使系統運行更快恢復正常。
關聯規則挖掘是在給定數據集中搜索反復出現的聯系?!肮收细捶治觥敝荚诎l現“告警事務”中“有趣”的相關聯系。什么是“告警事務”?所謂事務就是幾乎在同一時刻同時發生的事情,我們把幾乎在同一時刻發生的告警集合當作一個告警事務,由于告警的產生以及告警數據的傳輸都會存在一定的時間滯后或者誤差,所以把某一“時間窗”(如10分鐘)內產生的告警近似為同一告警事務。何為“有趣”的聯系呢?我們主要對那種常常(置信度高)在同一事務中出現,并且在歷史事務中出現頻率較高(支持度大)的指標告警數據感興趣,其數學描述如下闡述。
關聯規則是形如下圖的蘊涵表達式,其中x和y是不相交的項集,即關聯規則的強度可以用它的支持度和置信度度量,支持度(s,support)和置信度(c,confidence)這兩種度量的形式定義如下:
N為歷史時間段內總的事務數,σ(x∪y)為支持度計數,表示x和y在N次事務中同時出現的次數。置信度實際上是一個條件概率,表示事件x已發生的條件下事件y發生的概率。
關聯規則的發現,給定事務的集合T,發現滿足最小支持度閾值Minsup的所有項集(頻繁項集),并從頻繁項集中提取所有滿足最小置信度閾值Minconf的規則。從大型數據集中挖掘頻繁項集的主要挑戰是,這種挖掘常常產生大量滿足最小支持度(Minsup)閾值的項集,當Minsup設置得很低時尤其如此,一個寬度為100的項集產生可能的頻繁項集個數為
頻繁項集的復雜度是指數級的。
ITBA關聯分析采用的是Apriori算法(Agrawal和R.Srikant于1994年提出),通過限制候選產生發現頻繁項集,如果一個項集是頻繁的,則它的所有子集也是頻繁的(先驗原理),若{a,b,c}是頻繁項集,那么{a,b}、{a,c}、{b,c}都是頻繁項集。Apriori算法的核心思想是根據先驗原理的逆否命題(如果一個項集是非頻繁項集,那么它的超集也不是頻繁項集)來進行候選頻繁項集的剪枝。
關聯指標拓撲圖
當我們從所有歷史告警數據中挖掘出形如A->B,B->C,C->D這樣的強關聯規則時,我們可以把這三條規則合并為一條規則,隨著時間的推移,告警數據量越來越大,且上述關聯規則依然有效時,我們就有充分的理由認為告警D是由告警A引起的,而不必去關心告警B和C,從而大大減輕運維人員的工作量,提高了排查故障的準確率和時效性。
關聯指標組排查
隨著ITBA運維大數據分析平臺的廣泛推廣和深入應用,不同用戶、不同業務系統發現的告警關聯規則可以逐步提煉為知識,對IT運維具有深遠的指導意義。
Copyright ?2005-2021 勤智數碼科技股份有限公司 川公網安備 51019002003506號 蜀ICP備11012966號-7