在超級互聯(lián)網(wǎng)公司,隨著服務器規(guī)模都早早邁過10萬臺量級,加之業(yè)務模式的多樣性和IT架構的云化遷移,其
IT運維團隊面臨的挑戰(zhàn)與日俱增,常規(guī)的系統(tǒng)和經(jīng)驗都需要不斷迭代更新。
本文將給大家介紹在超級互聯(lián)網(wǎng)公司如何基于網(wǎng)絡的故障根因自動定位技術,提高故障定位速度,從而提高業(yè)務可用性。
規(guī)模效應和云的效應極大提升了運維的復雜性
首先,我們先來看看超級互聯(lián)網(wǎng)公司的業(yè)務架構示例圖:
圖1 超級互聯(lián)網(wǎng)公司的業(yè)務架構示例圖
在超級互聯(lián)網(wǎng)公司中,通常不同的層次都由不同的團隊來負責運維管理,同層次不同的硬件/系統(tǒng)/應用都由不同的小組來負責運維管理。
就基礎設施即服務這層來說,隨著IT設備規(guī)模的不斷增加,IT設備故障的告警種類與告警數(shù)量也隨之急劇增加。
告警的多面性、冗余性、耦合性,導致某些核心層面的故障會引起大面積告警的現(xiàn)象,而這些告警又有可能分屬不同小組,運維人員處理故障會增加排查問題的難度以及增加小組間溝通成本。
同時因為對故障信息缺乏統(tǒng)一的管理,無法對告警系統(tǒng)進行反饋優(yōu)化,致使誤報漏報頻出。同樣也無法進行全面的故障信息統(tǒng)計分析,不知道如何對基礎設施資源進行風險管理。
眾所周知,IT基礎設施層的運維工作,直接影響公司服務穩(wěn)定性。一次服務中斷事件便會對公司造成極大的經(jīng)濟損失。
但正如上述現(xiàn)狀描述中提到的問題:
告警系統(tǒng)缺乏有效的反饋機制進行系統(tǒng)優(yōu)化,同時缺少全面有效的故障信息沉淀,無法幫助預算與評估采購系統(tǒng)進行合理采購。
這些都極大約束了運維水平的與時俱進,新的方法論和新的運維技術有迫切的內(nèi)部需求。
我們收斂匯總一下復雜運維場景下的主要痛點:
如何應對?打造以故障定位為核心的運維生態(tài)體系!
基于上述背景下的痛點問題,一套以故障定位為核心的運維生態(tài)體系的建立便成為高逼格的不可或缺:
-
統(tǒng)一故障信息入口,使用機器學習的算法對信息進行分類整合和推理,自動定位故障生成case,設計開發(fā)統(tǒng)一故障處理平臺,通知工程師來平臺進行處理故障。
而在這套生態(tài)體系中,故障自動定位技術便是體系是否能夠成功建立的核心要素。
圖2 自動定位技術便是體系是否能夠成功建立的核心要素
故障根因自動定位簡要科普
故障根因自動定位系統(tǒng)為人工智能的分支,屬于診斷性專家系統(tǒng),專家系統(tǒng)通常包含:
其中最重要的是知識庫和推理機。知識庫用于專家經(jīng)驗的存儲,是一種靜態(tài)規(guī)則,推理機根據(jù)現(xiàn)象結合知識庫中的規(guī)則反復推理得出結論。規(guī)則集的組成形式有多種方式,本文重點介紹的是二叉決策樹。
圖3 人工智能診斷型專家系統(tǒng)
故障根因定位系統(tǒng)的設計架構系統(tǒng)
故障根因自動定位系統(tǒng)主要由監(jiān)控系統(tǒng)、接入系統(tǒng)、推理系統(tǒng)、通告系統(tǒng)四個部分組成,分別的功能如下:
-
監(jiān)控系統(tǒng):監(jiān)控系統(tǒng)負責各類探針數(shù)據(jù)的采集,根據(jù)監(jiān)控規(guī)則產(chǎn)生告警。
-
接入系統(tǒng):接入系統(tǒng)負責對各類監(jiān)控系統(tǒng)的告警信息進行匯總并格式化處理。
-
推理系統(tǒng):推理系統(tǒng)根據(jù)專家推理樹進行故障根因定位推理,定位最終告警原因,確定故障根源。
-
通告系統(tǒng):通告系統(tǒng)根據(jù)定位出的故障根因進行故障信息通告。
看個實際案例,看看到底能解決啥問題?
故障推理算法是整個故障定位系統(tǒng)的核心,這里重點闡述下故障推理算法的實現(xiàn)方式。
故障定位算法采用機器學習中的二叉決策樹的方式實現(xiàn):
一方面希望將故障所產(chǎn)生的所有告警信息整合為一條信息,減少告警量。
另一方面希望能夠智能定位出故障點,減少工程師排查問題的時間,并引入自動化處理。
以某公司網(wǎng)絡故障根因定位為例,實現(xiàn)上述目標需要三步:
第一步:將問題排障過程的經(jīng)驗提煉成二叉決策樹。
第二步:將告警信息按照時間分片算法進行分類分組。
第三步:將分組的告警信息輸出給決策樹進行自動推理輸出推理結果。
看看推理樹是怎么構建的呢?
根據(jù)某公司目前網(wǎng)絡故障時的告警特點和網(wǎng)絡工程師運維的特點,得出下面的一些結論,而這些結論可幫助我們構建出經(jīng)驗推理樹。
A、告警信息是分層次的:
第一層是交換機級別,如ROUTER_ID、CPU、TM告警。
第二層次是板卡告警,比如板卡芯片問題,板卡故障。
第三層次是端口告警,LINK-NEW告警等與端口相關的告警。
B、每一層的告警又可分為原子告警,衍生性告警。
比如:
第三層告警,LINK-NEW便是衍生性的告警,而PORTDOWN的告警為原子告警,即PORTDOWN了一定會有LINK-NEW的告警,反之不然。
根據(jù)以上結論,故障定位的原則為:重要性從最高層往最低層報,每層中重要性從原子告警到衍生性告警報。
比如:
收到了ROUTER_ID,PORTDOWN,LINK-NEW的告警,那么只需報ROUTER_ID的告警。
如果只有PORTDOWN,LINK-NEW的告警,就重點報`PORT。
DOWN的告警,如果只有LINK-NEW的告警,則只能報LINK-NEW`的告警。
引入故障追蹤列表,比如第二層的【B
OARD告警】引起第三層的告警【PORT、OSPF、LINK-NEW】,每個故障追蹤列表形成一個Case,即Case的生成過程不是以某交換機為單位,而是以故障追蹤列表為單位。
根據(jù)上述的分析,設計推理樹如下圖所示:
圖4 設計推理樹
沒太看明白?看看推理樹的構建原則和實現(xiàn)方式
A、推理樹的構建有以下四個原則:
原則一:告警從高層向底層,在邏輯層次上面,越根源性的告警越先判斷。
例如:
A出現(xiàn)問題必然導致B出現(xiàn)問題,B出現(xiàn)問題必然導致C出現(xiàn)問題,在邏輯層次上面,A的根源性最高,當A、B、C告警同時到達,先判斷A,判定A、B、C故障的根因為A。
在告警關聯(lián)度上面,越明確關聯(lián)的告警越先判斷。
例如:
故障A對應有A1、A2、A3三種告警,關聯(lián)度依次為A1>A2>A3,先判斷A1,由A1直接確定A1、A2、A3的故障根因為A。
原則二:從原子到衍生告警。
原則三:推理樹的建立根據(jù)告警來定。
原則四:驗證規(guī)則,根據(jù)經(jīng)驗和知識庫來定。
B、推理過程實現(xiàn),有以下三種方式:
方式一:
給出特征—>推理機—>結論—>驗證—>發(fā)出結果
方式二:
自主收集特征—>推理機—>結論—>驗證—>發(fā)出結果
方式三:
數(shù)據(jù)—>根據(jù)特征設計的推理機—>結論—>驗證—>發(fā)出結果
簡單來說,方式一就是半人工方式、方式二就是簡單機器學習方式、方式三就是智能機器學習方式。
來個總結吧!4步搭建你的故障根因定位系統(tǒng)
看完是不是有點小激動,想動手試試如何構建一套智能故障根因定位系統(tǒng),需要如下幾個步驟:
第一步:構建CMDB
CMDB是監(jiān)控系統(tǒng)的基礎,數(shù)據(jù)部分通常分為靜態(tài)、動態(tài)兩大類。
就網(wǎng)絡設備而言,靜態(tài)數(shù)據(jù)通常包括:
動態(tài)數(shù)據(jù)通常包括:
第二步:告警標準化
需要統(tǒng)一告警信息的格式,便于故障定位系統(tǒng)提取關鍵特征級并進行分類分組。
第三步:梳理告警關系
理清告警之間的關聯(lián)關系,關聯(lián)關系需要是邏輯上面的,形成必要的關系,例如A是B上游模塊,A出現(xiàn)問題必然會導致B出現(xiàn)問題。
第四步:構建推理樹
根據(jù)人工故障定位判斷邏輯,構建推理樹,設定每個推理節(jié)點的判決條件。
OK啦!做完以上幾步,您就搭建了一個簡單的故障根因自動定位系統(tǒng),通過對每個推理節(jié)點判斷條件的不斷優(yōu)化,您可以不斷提升故障自動定位準確率,讓您的運維效率得到大幅提升,IT運營水平逐步與BAT等超級互聯(lián)網(wǎng)公司運營水平對齊。
核心關注:拓步ERP系統(tǒng)平臺是覆蓋了眾多的業(yè)務領域、行業(yè)應用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務管理理念,功能涉及供應鏈、成本、制造、CRM、HR等眾多業(yè)務領域的管理,全面涵蓋了企業(yè)關注ERP管理系統(tǒng)的核心領域,是眾多中小企業(yè)信息化建設首選的ERP管理軟件信賴品牌。
轉載請注明出處:拓步ERP資訊網(wǎng)http://www.ezxoed.cn/
本文標題:復雜運維場景下,如何實現(xiàn)分鐘級的故障根因定位
本文網(wǎng)址:http://www.ezxoed.cn/html/solutions/14019319508.html