屠要峰+吉鋒+文韜
摘要:通過(guò)對(duì)中興通訊大視頻運(yùn)維系統(tǒng)整體架構(gòu)和關(guān)鍵模塊的介紹,以及機(jī)器學(xué)習(xí)技術(shù)在大視頻運(yùn)維系統(tǒng)中端到端異常檢測(cè)、根因分析與故障預(yù)測(cè)等場(chǎng)景的具體應(yīng)用的分析,并結(jié)合硬盤故障預(yù)測(cè)的實(shí)例,認(rèn)為隨著人工智能在運(yùn)維領(lǐng)域的應(yīng)用發(fā)展,從基于規(guī)則的自動(dòng)化運(yùn)維轉(zhuǎn)向基于機(jī)器學(xué)習(xí)的智能運(yùn)維必然成為趨勢(shì)。中興通訊適時(shí)采用了機(jī)器學(xué)習(xí)方法來(lái)提取歷史巡檢數(shù)據(jù)中蘊(yùn)含的故障特征,并構(gòu)建集成預(yù)測(cè)模型來(lái)提升大視頻運(yùn)維的精度和效率,目前取得了較好的效果。
關(guān)鍵詞: 大視頻;大數(shù)據(jù);機(jī)器學(xué)習(xí);人工智能
隨著移動(dòng)互聯(lián)網(wǎng)和寬帶網(wǎng)絡(luò)的快速發(fā)展,視頻業(yè)務(wù)以廣泛的受眾、高頻次的使用、較高的付費(fèi)意愿,已經(jīng)具備成為“殺手應(yīng)用”的潛質(zhì)。越來(lái)越多的電信運(yùn)營(yíng)商將視頻業(yè)務(wù)視為發(fā)展的新機(jī)遇,并作為與寬帶、語(yǔ)音并列的基礎(chǔ)業(yè)務(wù)。據(jù)Conviva用戶視頻報(bào)告的數(shù)據(jù),35%的用戶把視頻觀看體驗(yàn)作為選擇視頻服務(wù)的首要條件[1]。因此,運(yùn)維保障成為視頻業(yè)務(wù)的關(guān)鍵。
當(dāng)前視頻業(yè)務(wù)發(fā)展已進(jìn)入“大內(nèi)容”“大網(wǎng)絡(luò)”“大數(shù)據(jù)”“大生態(tài)”的大視頻時(shí)代。業(yè)務(wù)形態(tài)多樣,包括交互式網(wǎng)絡(luò)電視(IPTV)、基于互聯(lián)網(wǎng)應(yīng)用服務(wù)(OTT)的TV、移動(dòng)視頻等;組網(wǎng)復(fù)雜,視頻在多屏之間的無(wú)縫銜接、碼率格式適配等需求對(duì)網(wǎng)絡(luò)提出了更高的要求;數(shù)據(jù)多樣性大大增加,需要從視頻碼流、終端播放器、內(nèi)容分發(fā)網(wǎng)絡(luò)(CDN)、業(yè)務(wù)平臺(tái)、網(wǎng)絡(luò)設(shè)備等各個(gè)環(huán)節(jié)獲取數(shù)據(jù),既有結(jié)構(gòu)化數(shù)據(jù),又有半結(jié)構(gòu)化、非結(jié)構(gòu)化數(shù)據(jù);數(shù)據(jù)實(shí)時(shí)性要求大大提高,傳統(tǒng)網(wǎng)管采集數(shù)據(jù)的粒度是5 min,而大視頻業(yè)務(wù)要求秒級(jí)的數(shù)據(jù)采集和分析,數(shù)據(jù)量和計(jì)算量增加了百倍。
這些都對(duì)傳統(tǒng)的運(yùn)維模式和技術(shù)方案帶來(lái)很大的挑戰(zhàn)。如何在大視頻背景下客觀評(píng)價(jià)和度量終端用戶的體驗(yàn)質(zhì)量,如何界定視頻業(yè)務(wù)系統(tǒng)故障和網(wǎng)絡(luò)故障,如何快速診斷網(wǎng)絡(luò)中的故障并提前發(fā)現(xiàn)網(wǎng)絡(luò)隱患,如何發(fā)掘視頻業(yè)務(wù)運(yùn)營(yíng)和利潤(rùn)的增長(zhǎng)點(diǎn),成為各大運(yùn)營(yíng)商對(duì)大視頻業(yè)務(wù)運(yùn)維的關(guān)注重點(diǎn)。
1 大視頻智能運(yùn)維系統(tǒng)的架構(gòu)及關(guān)鍵技術(shù)
在原有運(yùn)維技術(shù)手段基礎(chǔ)上,進(jìn)一步依托大數(shù)據(jù)及人工智能技術(shù),對(duì)大視頻業(yè)務(wù)系統(tǒng)產(chǎn)生的各類信息進(jìn)行匯聚、分析、統(tǒng)計(jì)、預(yù)測(cè)等,中興通訊形成了智能化的大視頻運(yùn)維系統(tǒng),其系統(tǒng)架構(gòu)如圖1所示。
大視頻運(yùn)維系統(tǒng)有以下幾個(gè)部分組成:
(1)數(shù)據(jù)源。數(shù)據(jù)源主要指大視頻業(yè)務(wù)智能運(yùn)維所需要采集的數(shù)據(jù),包括終端的播放記錄、關(guān)鍵績(jī)效指標(biāo)(KPI)數(shù)據(jù);接入網(wǎng)絡(luò)的用戶寬帶信息、資源拓?fù)鋽?shù)據(jù);CDN的錯(cuò)誤日志、告警、鏈路狀態(tài)、碼流信息等;IPTV業(yè)務(wù)賬戶、頻道/節(jié)目信息等。
(2)數(shù)據(jù)采集及預(yù)處理。數(shù)據(jù)采集層主要是Kafka、文件傳輸協(xié)議(FTP)、超文本傳輸協(xié)議(HTTP)等用于數(shù)據(jù)采集的組件;數(shù)據(jù)預(yù)處理是指對(duì)各種異構(gòu)日志數(shù)據(jù)進(jìn)行解析、轉(zhuǎn)換、清洗、規(guī)約等操作,主要完成數(shù)據(jù)使用前的必要處理及數(shù)據(jù)質(zhì)量保證。
(3)數(shù)據(jù)分析處理。數(shù)據(jù)分析處理主要包括流式計(jì)算處理框架Spark、離線批處理MR框架、人工智能計(jì)算框架、數(shù)據(jù)存儲(chǔ)及檢索引擎等。業(yè)務(wù)組件包括批處理、數(shù)據(jù)實(shí)時(shí)分析、機(jī)器學(xué)習(xí)等模塊。批處理模塊主要是對(duì)時(shí)效性要求不高的業(yè)務(wù)模塊的處理及數(shù)據(jù)的離線分析,包含但不限于故障及異常的根源分析、故障及特定規(guī)則閾值的動(dòng)態(tài)預(yù)測(cè)、事件的依賴分析及關(guān)聯(lián)分析、異常及重要時(shí)序模式發(fā)現(xiàn)、多事件的自動(dòng)分類等;數(shù)據(jù)實(shí)時(shí)處理主要是對(duì)于時(shí)效性要求較高的安全事件進(jìn)行監(jiān)測(cè)控制、異常檢測(cè)與定位、可能引發(fā)嚴(yán)重故障的預(yù)警、對(duì)已知問(wèn)題的實(shí)時(shí)智能決策等;機(jī)器學(xué)習(xí)模塊包括離線的機(jī)器學(xué)習(xí)訓(xùn)練平臺(tái)、算法框架和模型。
(4)業(yè)務(wù)應(yīng)用層。業(yè)務(wù)應(yīng)用層主要提供智能業(yè)務(wù)監(jiān)測(cè)控制、端到端故障定界定位、用戶體驗(yàn)感知、統(tǒng)計(jì)分析與報(bào)表等主要業(yè)務(wù)場(chǎng)景的分析及應(yīng)用。
大視頻運(yùn)維系統(tǒng)涉及的關(guān)鍵技術(shù)包括:
(1)大數(shù)據(jù)技術(shù)。該技術(shù)可以構(gòu)建基于大數(shù)據(jù)的處理平臺(tái),實(shí)現(xiàn)數(shù)據(jù)的采集、匯聚、建模、分析與呈現(xiàn)。
(2)探針技術(shù)。該技術(shù)可以實(shí)現(xiàn)全網(wǎng)探針部署,包括機(jī)頂盒探針、直播源探針、CDN探針、無(wú)線探針、固網(wǎng)視頻探針等,通過(guò)探針技術(shù)實(shí)現(xiàn)全面的視頻質(zhì)量實(shí)時(shí)監(jiān)測(cè)控制以及數(shù)據(jù)采集。
(3)視頻質(zhì)量分析指標(biāo)。該指標(biāo)以用戶體驗(yàn)為依據(jù)建立視頻質(zhì)量評(píng)估體系,對(duì)視頻清晰度、流暢度、卡頓等多項(xiàng)用戶體驗(yàn)質(zhì)量(QoE)指標(biāo)進(jìn)行分析。
(4)人工智能技術(shù)。機(jī)器學(xué)習(xí)本身有很多成熟的算法和系統(tǒng),以及大量的優(yōu)秀的開源工具。如果成功地將機(jī)器學(xué)習(xí)應(yīng)用到運(yùn)維之中,還需要3個(gè)方面的支持:數(shù)據(jù)、標(biāo)注的數(shù)據(jù)和應(yīng)用[2]。大視頻系統(tǒng)本身具有海量的日志,包括從終端、網(wǎng)絡(luò)、業(yè)務(wù)系統(tǒng)多方面的數(shù)據(jù),在大數(shù)據(jù)系統(tǒng)中做優(yōu)化存儲(chǔ);標(biāo)注的數(shù)據(jù)是指日常運(yùn)維工作會(huì)產(chǎn)生標(biāo)注的數(shù)據(jù),比如定位一次現(xiàn)網(wǎng)事件后,運(yùn)維工程師會(huì)記錄下過(guò)程,這個(gè)過(guò)程會(huì)反饋到系統(tǒng)之中,反過(guò)來(lái)提升運(yùn)維水平;應(yīng)用指運(yùn)維工程師是智能運(yùn)維系統(tǒng)的用戶,用戶使用過(guò)程發(fā)現(xiàn)的問(wèn)題可以對(duì)智能系統(tǒng)的優(yōu)化起正向反饋?zhàn)饔谩?/p>
2 人工智能技術(shù)在大視頻運(yùn)維系統(tǒng)中的應(yīng)用
2.1 基于人工智能的端到端智能運(yùn)維
傳統(tǒng)電信網(wǎng)絡(luò)、業(yè)務(wù)系統(tǒng)的運(yùn)維模式通常是在故障發(fā)生后,運(yùn)維、開發(fā)人員被動(dòng)地進(jìn)行人工故障的定位與修復(fù)。技術(shù)專家通過(guò)分析系統(tǒng)日志,依據(jù)事先制訂的系統(tǒng)運(yùn)行保障規(guī)則、策略和依賴模型,判斷故障發(fā)生的原因并進(jìn)行修復(fù)。這一過(guò)程不僅工作量巨大,操作繁瑣,代價(jià)高昂,容易出錯(cuò),且不能滿足持續(xù)、快速變化的復(fù)雜系統(tǒng)環(huán)境需求。
大視頻業(yè)務(wù)系統(tǒng)的故障定界定位尤其復(fù)雜且耗時(shí)耗力,原因在于:大視頻系統(tǒng)中網(wǎng)元眾多且業(yè)務(wù)流程復(fù)雜,如包括IPTV管理系統(tǒng)、電子節(jié)目菜單(EPG)、CDN、機(jī)頂盒、直播源編碼器等眾多網(wǎng)元,發(fā)現(xiàn)問(wèn)題需要各個(gè)網(wǎng)元一起定位排查,對(duì)人員技能的要求很高。大視頻系統(tǒng)對(duì)網(wǎng)絡(luò)要求比較高,機(jī)頂盒經(jīng)過(guò)光網(wǎng)絡(luò)單元(ONU)、光線路終端(OLT)、寬帶遠(yuǎn)程接入服務(wù)器(BRAS)、核心路由器(CR)等,從接入設(shè)備、承載設(shè)備到CDN服務(wù)器,中間任何一個(gè)網(wǎng)絡(luò)設(shè)備出現(xiàn)丟包、抖動(dòng)等問(wèn)題都會(huì)導(dǎo)致用戶的觀看體驗(yàn)受影響,對(duì)這種卡頓分析是一個(gè)大難題。隨著視頻業(yè)務(wù)的快速發(fā)展和業(yè)務(wù)量不斷增長(zhǎng),如何快速定位問(wèn)題,降低運(yùn)維門檻變得越來(lái)越迫切。
端到端智能運(yùn)維系統(tǒng)就是利用大數(shù)據(jù)采集分析、人工智能與機(jī)器學(xué)習(xí)等技術(shù)提升系統(tǒng)運(yùn)維智能化能力,從智能化的故障定位、智能化的根因分析機(jī)制入手,覆蓋從被動(dòng)式事后根源追溯到主動(dòng)式事中實(shí)時(shí)監(jiān)測(cè)控制及事前提前預(yù)判的各種業(yè)務(wù)場(chǎng)景(如圖2所示),提供從數(shù)據(jù)收集分析,故障預(yù)判到定位,再到故障自動(dòng)修復(fù)的端到端保障能力。
面向歷史的事后追溯主要有歷史故障根因分析、系統(tǒng)瓶頸分析、業(yè)務(wù)熱點(diǎn)分析等;面向?qū)崟r(shí)的事中告警主要有異常監(jiān)測(cè)、異常告警、事件關(guān)聯(lián)關(guān)系挖掘、實(shí)時(shí)故障根因分析等;面向未來(lái)的事前預(yù)判主要有故障預(yù)測(cè)、容量預(yù)測(cè)、趨勢(shì)預(yù)測(cè)、熱點(diǎn)預(yù)測(cè)等。其中,事后追溯更多面向離線、非實(shí)時(shí)的運(yùn)維故障分析,事中告警和事前預(yù)判更多面向?qū)崟r(shí)或準(zhǔn)實(shí)時(shí)的運(yùn)維故障檢測(cè)、分析及預(yù)測(cè)。
機(jī)器學(xué)習(xí)技術(shù)在端到端的智能運(yùn)維系統(tǒng)中有幾個(gè)應(yīng)用點(diǎn)。
(1)日志預(yù)處理模塊
預(yù)處理的核心問(wèn)題是將半結(jié)構(gòu)、非結(jié)構(gòu)化的日志轉(zhuǎn)換為結(jié)構(gòu)化的事件對(duì)象。事件被定義為一種現(xiàn)實(shí)世界系統(tǒng)狀態(tài)的體現(xiàn),通常涉及到系統(tǒng)狀態(tài)的改變。本質(zhì)上,事件是時(shí)序的且經(jīng)常以日志的方式進(jìn)行存儲(chǔ),例如:業(yè)務(wù)事務(wù)日志、股票交易日志、傳感器日志、計(jì)算系統(tǒng)日志、HTTP請(qǐng)求、數(shù)據(jù)庫(kù)查詢和網(wǎng)絡(luò)流量數(shù)據(jù)等。捕獲這些事件體現(xiàn)了隨著時(shí)間變化的系統(tǒng)狀態(tài)和系統(tǒng)行為以及它們之間的時(shí)序關(guān)系。事件對(duì)象可以簡(jiǎn)單定義為: Event={時(shí)間戳,事件類型,<屬性1:屬性值1,屬性2:屬性值2 …>}。事件挖掘是一系列從歷史事件和日志數(shù)據(jù)中自動(dòng)、高效地獲取有價(jià)值知識(shí)的技術(shù),正確提取事件才能后續(xù)從時(shí)間、空間等多角度挖掘事件之間的關(guān)聯(lián)、依賴等關(guān)系。將文本日志集轉(zhuǎn)換成系統(tǒng)事件的典型技術(shù)方案包括:基于日志解析器、基于分類和基于聚類的方法。
最為直接的解決方案是采用日志解析器,該方法為每一種特定的系統(tǒng)日志實(shí)現(xiàn)對(duì)應(yīng)的日志解析器,每種類型的日志采用正規(guī)表達(dá)式或預(yù)定義模板進(jìn)行抽取。這種方式需要用戶了解系統(tǒng)日志,一個(gè)日志解析器難以適配不同格式的多種系統(tǒng)日志,需要大量的人力來(lái)開發(fā)定制的日志解析器軟件。從機(jī)器學(xué)習(xí)輔助人工完成日志解析的角度,可以采用分類或聚類的方式。
日志分類方法是一種直接從日志數(shù)據(jù)中識(shí)別事件類型的方法,它通過(guò)分類器模型將一條條日志消息劃分成若干個(gè)預(yù)定義的事件類型,如圖3所示。
一種簡(jiǎn)單的分類方法是為每一個(gè)事件類型預(yù)先定義一種對(duì)應(yīng)的正則表達(dá)式模式(如前所述的解析器或稱為過(guò)濾器);另一種更為通用的日志消息分類方法是基于機(jī)器學(xué)習(xí)分類模型的方法,即用戶提供一些標(biāo)記過(guò)的日志消息,每個(gè)消息的事件類型已被明確標(biāo)注;然后,機(jī)器學(xué)習(xí)算法根據(jù)標(biāo)記的數(shù)據(jù)建立一個(gè)分類模型,利用這個(gè)模型對(duì)新的日志消息進(jìn)行分類。雖然這種方式帶來(lái)一定的泛化性,其主要問(wèn)題在于需要大量的帶標(biāo)記日志消息,需要一定數(shù)據(jù)積累與人力消耗。
另外一種基于聚類的方法,不需要大量人力且適用于多種系統(tǒng)日志,雖并非十分準(zhǔn)確,但可以應(yīng)用于能夠容忍一些錯(cuò)誤或噪音事件的事件挖掘應(yīng)用中。日志消息聚類采用無(wú)監(jiān)督方法將日志劃分為各種類型事件,因?yàn)槿罩鞠⒕垲惒⒉灰鬁?zhǔn)備一系列標(biāo)記過(guò)的訓(xùn)練數(shù)據(jù),所以這種方法更加實(shí)用。業(yè)界典型的日志聚類方式包括基于日志消息簽名[3]和基于樹狀結(jié)構(gòu)的聚類[4]等算法。
在實(shí)際應(yīng)用場(chǎng)景中,需要根據(jù)業(yè)務(wù)的復(fù)雜度和數(shù)據(jù)積累情況,綜合選擇日志預(yù)處理解決方案:準(zhǔn)確性要求非常高的場(chǎng)景需要使用專業(yè)日志解析器;而分類、聚類的機(jī)器學(xué)習(xí)方式更適合容忍一些錯(cuò)誤或噪音事件的事件挖掘應(yīng)用。
(2)日志離線分析模塊
日志離線分析的核心問(wèn)題是通過(guò)機(jī)器學(xué)習(xí)算法發(fā)現(xiàn)事件之間的關(guān)聯(lián)、依賴關(guān)系。離線分析負(fù)責(zé)從歷史日志數(shù)據(jù)中獲得事件間關(guān)聯(lián)性和依賴性知識(shí)并構(gòu)建知識(shí)庫(kù)。事件挖掘綜合利用數(shù)據(jù)挖掘、機(jī)器學(xué)習(xí)、人工智能等相關(guān)技術(shù)去發(fā)現(xiàn)事件之間的隱藏模式、未來(lái)的趨勢(shì)等關(guān)系。分析人員可以利用已發(fā)現(xiàn)的事件模式對(duì)未來(lái)事件的行為作預(yù)測(cè),同時(shí)挖掘出的事件依賴關(guān)系也可以用于系統(tǒng)故障的診斷,幫助運(yùn)維人員找出問(wèn)題的根因,達(dá)到解決問(wèn)題的目的。
事件的關(guān)聯(lián)分析,本質(zhì)上根據(jù)日志文件中的每個(gè)消息事件的時(shí)間戳,發(fā)現(xiàn)時(shí)序事件之間的關(guān)聯(lián)性。我們重點(diǎn)挖掘兩種類型的相關(guān)性:基于時(shí)序連續(xù)值數(shù)據(jù)的相關(guān)性和基于離散事件數(shù)據(jù)的相關(guān)性。以大視頻系統(tǒng)為例:中央處理器(CPU)使用率、內(nèi)存使用情況、磁盤讀寫數(shù)據(jù)量、網(wǎng)絡(luò)接收或發(fā)送數(shù)據(jù)量都可以表示為時(shí)間序列的連續(xù)值;而應(yīng)用程序服務(wù)器上請(qǐng)求和應(yīng)答序列被視作事件數(shù)據(jù),因?yàn)槊總€(gè)數(shù)據(jù)項(xiàng)的值都是屬于某個(gè)類別的離散值,例如:CPU使用率的時(shí)序圖與磁盤讀寫數(shù)據(jù)量時(shí)序圖(如橫軸時(shí)間、縱軸數(shù)值的可視化表示)就會(huì)有很強(qiáng)的相關(guān)性;網(wǎng)絡(luò)異常事件與應(yīng)用程序服務(wù)器上請(qǐng)求和應(yīng)答異常事件,通過(guò)離散事件數(shù)據(jù)分布圖(橫軸時(shí)間、縱軸事件類型的可視化展示)分析就存在一定相關(guān)性,如兩類事件基本在同一時(shí)間點(diǎn)同時(shí)出現(xiàn),具備一定的關(guān)聯(lián)性。
事件之間存在關(guān)聯(lián)性,不一定表明事件之間一定存在依賴或因果關(guān)系,比如事件A和B具備相關(guān)性,并不代表A引發(fā)B或B引發(fā)A,因此需要基于關(guān)聯(lián)關(guān)系基礎(chǔ)上進(jìn)一步挖掘相互依賴關(guān)系。所謂事件依賴分析,發(fā)現(xiàn)類似A→B的依賴關(guān)系,最終形成一個(gè)事件依賴的動(dòng)態(tài)概率模型圖。如圖4所示,A、B、C對(duì)應(yīng)于大視頻運(yùn)維中不同事件,通過(guò)基于時(shí)間窗的事件依賴算法[5]挖掘出各種故障事件之間的依賴并形成相應(yīng)的依賴圖。
總之,離線分析主要是通過(guò)機(jī)器學(xué)習(xí)算法形成關(guān)聯(lián)、依賴的規(guī)則或概率圖模型,另外還包括利用歷史時(shí)序故障數(shù)據(jù)進(jìn)行傳統(tǒng)機(jī)器學(xué)習(xí)特征工程建?;蛏疃葘W(xué)習(xí)端到端的時(shí)序建模,為接下來(lái)的在線實(shí)時(shí)故障分析、定位與預(yù)測(cè)等提供支撐。
(3)實(shí)時(shí)分析模塊
實(shí)時(shí)分析模塊負(fù)責(zé)實(shí)時(shí)處理新產(chǎn)生的日志數(shù)據(jù)并根據(jù)離線分析獲得的知識(shí)模型完成在線運(yùn)維的管理操作。典型的實(shí)時(shí)分析技術(shù)主要有異常檢測(cè)、故障根因分析、故障預(yù)判和問(wèn)題決策等。
對(duì)于實(shí)時(shí)的異常檢測(cè),可選擇的方案有兩種:基于監(jiān)督學(xué)習(xí)和基于無(wú)監(jiān)督的方案。前者利用基于離線訓(xùn)練出來(lái)的檢測(cè)模型進(jìn)行判斷,這種方式不如后者使用普遍。
故障預(yù)判更多的是基于歷史的數(shù)據(jù)進(jìn)行分析建模,如下文即將講述的基于Smart硬盤故障預(yù)測(cè)示例。
問(wèn)題決策則更為全面,對(duì)前述檢測(cè)出的異常,預(yù)判即將要出現(xiàn)的故障以及定位已知故障的原因,進(jìn)行高層的資源調(diào)度,或發(fā)出設(shè)備替換的決策指令,最終避免可能出現(xiàn)的故障,自動(dòng)修復(fù)已知的故障(若可以修復(fù))或者發(fā)出告警通知運(yùn)維人員進(jìn)行人工修復(fù)。
(4)智能故障定位及根源分析
故障智能定位是模擬人工排查故障的流程,對(duì)可疑的故障檢查點(diǎn)進(jìn)行逐一排查,通過(guò)采集各業(yè)務(wù)模塊的告警、性能指標(biāo)、錯(cuò)誤和異常日志,組織生成故障定位的基礎(chǔ)事件數(shù)據(jù),針對(duì)故障現(xiàn)象配置對(duì)應(yīng)的檢查點(diǎn)及處理建議。
在故障定位時(shí),從故障現(xiàn)象出發(fā),通過(guò)中序遍歷方式遍歷整個(gè)故障樹。前一個(gè)節(jié)點(diǎn)的出參是后一個(gè)節(jié)點(diǎn)的入?yún)?,檢查點(diǎn)調(diào)用應(yīng)用程序編程接口(API)檢查本節(jié)點(diǎn)的故障原因是否存在,通過(guò)API來(lái)分別從各種網(wǎng)元獲取對(duì)應(yīng)現(xiàn)象的證據(jù)信息,直至分析到葉子節(jié)點(diǎn)。然后將所有滿足條件的節(jié)點(diǎn)進(jìn)行回歸,根據(jù)權(quán)重返回現(xiàn)象的原因。遍歷結(jié)束后綜合各個(gè)節(jié)點(diǎn)的檢查結(jié)果形成本次故障定位的診斷結(jié)論。
在用戶報(bào)障時(shí)可能對(duì)故障產(chǎn)生的時(shí)間、觸發(fā)的位置、觀看的節(jié)目等信息記憶模糊不清。在故障定位過(guò)程中首先需要從用戶的行為記錄里篩選出故障記錄,這個(gè)篩選的過(guò)程采用前述的日志聚類算法,對(duì)影響用戶感知的KPI進(jìn)行聚類,對(duì)聚類結(jié)果根據(jù)預(yù)定的規(guī)則或分類器判斷出屬于故障類的記錄。如果有多條故障記錄,任選一條故障記錄進(jìn)行定位。除通過(guò)算法篩選故障記錄外,另提供人工輔助篩選功能提高準(zhǔn)確性。
智能化的根因分析,主要根據(jù)前期分析出來(lái)的事件依賴概率圖模型,建立基于歷史故障定位及處理經(jīng)驗(yàn)集的專家知識(shí)庫(kù),利用機(jī)器學(xué)習(xí)的理論與技術(shù),在多維變量間因果關(guān)系做出權(quán)重的動(dòng)態(tài)調(diào)整,調(diào)整各個(gè)檢查點(diǎn)的權(quán)重。故障定位方法較之前的傳統(tǒng)方法具有更精確的錯(cuò)誤定位效果和更顯著的定位效率。
2.2 基于人工智能的硬盤故障預(yù)測(cè)實(shí)例
當(dāng)前大視頻運(yùn)維過(guò)程中遇到的難題之一就是CDN故障硬盤的置換。為了規(guī)避軟硬件風(fēng)險(xiǎn),提升數(shù)據(jù)中心管理效率,制訂合理的數(shù)據(jù)備份遷移計(jì)劃,業(yè)界各大主流IT企業(yè)均展開針對(duì)硬盤故障預(yù)測(cè)的研究工作。研究者認(rèn)為:在此預(yù)測(cè)技術(shù)的支撐下,可以極大地提升服務(wù)/存儲(chǔ)系統(tǒng)的整體可用性。我們接下來(lái)將列舉一個(gè)基于機(jī)器學(xué)習(xí)實(shí)現(xiàn)的CDN硬盤故障預(yù)判的實(shí)例。
當(dāng)前,自我監(jiān)測(cè)分析和報(bào)告技術(shù)(SMART)已經(jīng)成為工業(yè)領(lǐng)域中硬盤驅(qū)動(dòng)狀態(tài)監(jiān)測(cè)和故障預(yù)警技術(shù)的事實(shí)標(biāo)準(zhǔn)[6]。研究表明:硬盤的一些屬性值如溫度、讀取錯(cuò)誤率等,和硬盤是否發(fā)生故障有一定的關(guān)系。如果被檢測(cè)的屬性值超過(guò)預(yù)先設(shè)定的一個(gè)閾值,則會(huì)發(fā)出警報(bào)。然而,硬盤制造商估計(jì),這種基于閾值的算法只能取得3%~10%的故障預(yù)測(cè)準(zhǔn)確率和低預(yù)警率[7]。學(xué)術(shù)界和工業(yè)界在采用機(jī)器學(xué)習(xí)方法提升SMART硬盤故障預(yù)測(cè)精度方面的工作由來(lái)已久,但受限于數(shù)據(jù)集規(guī)模,現(xiàn)有方法取得的預(yù)測(cè)模型效果不佳。近年來(lái),隨著越來(lái)越多廠商的關(guān)注,基于SMART巡檢數(shù)據(jù)的硬盤故障預(yù)測(cè)研究有了很好的數(shù)據(jù)支撐,一方面體現(xiàn)在硬盤規(guī)??焖僭鲩L(zhǎng),另一方面體現(xiàn)在采樣工作正規(guī)化。在以上高質(zhì)量數(shù)據(jù)支撐下,基于SMART巡檢數(shù)據(jù)的故障預(yù)測(cè)水平得到了顯著提升。
我們?cè)诖笠曨l運(yùn)維中基于SMART數(shù)據(jù)進(jìn)行硬盤故障預(yù)測(cè),采用了基于旋轉(zhuǎn)森林的集成預(yù)測(cè)模型方案,基本流程如圖5所示。
將SMART掃描數(shù)據(jù)集按照局點(diǎn)和硬盤型號(hào)進(jìn)行細(xì)分,每個(gè)局點(diǎn)每個(gè)硬盤型號(hào)的數(shù)據(jù)分別建立預(yù)測(cè)模型,每個(gè)預(yù)測(cè)模型的構(gòu)建過(guò)程為:
(1)特征工程。特征工程是決定預(yù)測(cè)效果的關(guān)鍵步驟。我們不但需要考慮觀測(cè)點(diǎn)當(dāng)時(shí)的SMART取值,也需要考慮該SMART取值的歷史變化趨勢(shì)、震蕩幅度、跳變頻率等因素,主要策略包括取高價(jià)值屬性和衍生時(shí)序特征。取高價(jià)值屬性,即采用“數(shù)據(jù)驅(qū)動(dòng)和領(lǐng)域知識(shí)相結(jié)合”的策略,一方面和相關(guān)硬件專家交流,聽取他們的領(lǐng)域指導(dǎo)意見;另一方面,從故障硬盤的歷史SMART記錄集出發(fā),找出“故障硬盤和健康硬盤在該屬性上統(tǒng)計(jì)性質(zhì)存在不一致”的SMART屬性。專家知識(shí)和數(shù)據(jù)驅(qū)動(dòng)結(jié)果都作為特征工程結(jié)論的一部分,寧多勿少。衍生時(shí)序特征,即在找出具有提示性效果的高價(jià)值SMART屬性后,對(duì)其時(shí)序特征做進(jìn)一步衍生、調(diào)整。以上兩種特征工程策略相互補(bǔ)充,共同組成了模型訓(xùn)練需要的特征空間。
(2)模型訓(xùn)練。模型選擇和訓(xùn)練、優(yōu)化是構(gòu)造預(yù)測(cè)模型的直接步驟,由于基于SMART記錄集做硬盤預(yù)測(cè)是一個(gè)高維分類問(wèn)題,同時(shí)正負(fù)數(shù)據(jù)嚴(yán)重不平衡,采用線性分類模型往往沒有很好結(jié)果,因此考慮采用構(gòu)造非線性模型來(lái)解決問(wèn)題,主要分兩大步驟:重新平衡正負(fù)樣本和非線性建模。重新平衡正負(fù)樣本,即采用“過(guò)采樣+降采樣”結(jié)合的策略,對(duì)于負(fù)樣本(健康硬盤),考慮采用聚類方法提取聚類質(zhì)心,將質(zhì)心附近的樣本按比例提取作為該聚類的代表,從而實(shí)現(xiàn)降采樣,而聚類算法和聚類質(zhì)量評(píng)價(jià)準(zhǔn)則需要根據(jù)實(shí)際數(shù)據(jù)分布來(lái)決定;對(duì)于正樣本(故障硬盤),考慮采用過(guò)采樣方法來(lái)提升正樣本數(shù)據(jù)分布。以上降采樣和過(guò)采樣策略結(jié)合,把正負(fù)樣本的比率從1:50重構(gòu)到1:5以內(nèi),重構(gòu)訓(xùn)練集。非線性建模,即利用旋轉(zhuǎn)森林技術(shù)對(duì)以上訓(xùn)練集進(jìn)行降維,并選擇核方法、神經(jīng)網(wǎng)絡(luò)來(lái)構(gòu)造分類超平面,擇優(yōu)選擇其中有代表性的模型,然后再將這些模型利用層疊泛化技術(shù)組合形成最后的預(yù)測(cè)模型。
(3)模型評(píng)估。模型評(píng)估即將模型訓(xùn)練階段生成的模型,在測(cè)試集上進(jìn)行測(cè)試,重點(diǎn)關(guān)注預(yù)測(cè)準(zhǔn)確率和故障覆蓋率(召回率),直到選出符合要求的模型。
(4)模型上線。模型上線即將通過(guò)模型評(píng)估的最終模型部署到現(xiàn)網(wǎng)環(huán)境后,每次SMART掃描得到的新樣本均需要輸入本模型,得到“未來(lái)一段時(shí)間該硬盤是否發(fā)生故障”的預(yù)測(cè)結(jié)果。
我們?cè)贐ackblaze數(shù)據(jù)集(2016年Q1—Q2)[8]上選取了某型號(hào)希捷硬盤的SMART掃描記錄做驗(yàn)證,其中時(shí)間跨度為6個(gè)月182天,數(shù)據(jù)粒度為每天掃描,涉及到11 890塊硬盤(連續(xù)3天掃描找不到則視為故障盤,這種盤共242塊),共2 118 925條掃描記錄。按照7:3的大致比例劃分訓(xùn)練集和測(cè)試集:測(cè)試集共3 560塊硬盤(故障盤共83塊),共634 950條掃描記錄。
我們采用如表1所示的SMART基礎(chǔ)屬性來(lái)進(jìn)行建模,共有12個(gè)基礎(chǔ)屬性。
考慮到SMART屬性前后變化趨勢(shì)也可能昭示著后續(xù)硬盤故障,因此我們?cè)谝陨匣A(chǔ)屬性上衍生了時(shí)序率屬性,包括每個(gè)基礎(chǔ)采集之前9天內(nèi)的相對(duì)變化率。
將以上基本SMART屬性和衍生屬性融合,作為SMART故障預(yù)測(cè)的特征參與模型構(gòu)建。我們采用的子分類器如表2所示,共4類18個(gè)。
隨著旋轉(zhuǎn)森林特征子集分塊參數(shù)的變化,生成的子分類器對(duì)故障的預(yù)測(cè)能力也在不斷調(diào)整,最終生成 不同分塊參數(shù)對(duì)應(yīng)的模型在同一測(cè)試集下不同的預(yù)測(cè)效果(如圖6所示)。當(dāng)旋轉(zhuǎn)森林特征子集分塊參數(shù)為6時(shí),能夠取得98.8%的最高覆蓋率,同時(shí)達(dá)到5.75%的誤報(bào)率;當(dāng)旋轉(zhuǎn)森林特征子集分塊參數(shù)為5時(shí),能夠取得3.6%的最低誤報(bào)率,同時(shí)達(dá)到97.6%的覆蓋率。
此外,在當(dāng)前測(cè)試中可以發(fā)現(xiàn):絕大部分故障在預(yù)報(bào)30天內(nèi)可以被證實(shí),圖7是預(yù)警提前天數(shù)的分布累計(jì)情況。
綜上所述,基于SMART的故障預(yù)測(cè)技術(shù)在當(dāng)前智能運(yùn)維領(lǐng)域已經(jīng)有了長(zhǎng)足的進(jìn)步和發(fā)展,中興通訊在大視頻運(yùn)維中也適時(shí)采用了機(jī)器學(xué)習(xí)方法來(lái)提取歷史巡檢數(shù)據(jù)中蘊(yùn)含的故障特征,并構(gòu)建集成預(yù)測(cè)模型來(lái)提升大視頻運(yùn)維的精度和效率。從當(dāng)前Backblaze數(shù)據(jù)集的測(cè)試情況來(lái)看,也取得了較好的效果。
在當(dāng)前工作的基礎(chǔ)上,我們后續(xù)將進(jìn)一步提升人工智能在大視頻運(yùn)維中的落地效果,包括采用半監(jiān)督學(xué)習(xí)來(lái)提高模型的數(shù)據(jù)利用率,采用遷移學(xué)習(xí)來(lái)加速模型在新局點(diǎn)的訓(xùn)練部署進(jìn)度,使用強(qiáng)化學(xué)習(xí)來(lái)優(yōu)化大視頻運(yùn)維的策略和流程等。
3 結(jié)束語(yǔ)
信息通信技術(shù)(ICT)時(shí)代,無(wú)論對(duì)于運(yùn)營(yíng)商網(wǎng)絡(luò)還是業(yè)務(wù)系統(tǒng)的運(yùn)維支撐,都需要加速與人工智能技術(shù)的落地實(shí)踐,提供高度自動(dòng)化和智能化的運(yùn)維解決方案。人工智能、機(jī)器學(xué)習(xí)技術(shù)在大視頻運(yùn)維的智能化提升重點(diǎn)體現(xiàn)在運(yùn)維模式從被動(dòng)式事后分析轉(zhuǎn)為積極主動(dòng)預(yù)測(cè)、分析及決策。隨著人工智能技術(shù)的加速發(fā)展,大視頻運(yùn)維與人工智能技術(shù)的結(jié)合會(huì)越來(lái)越緊密,大視頻運(yùn)維技術(shù)將朝著更加智能化的方向演進(jìn),實(shí)現(xiàn)更加自動(dòng)化和精準(zhǔn)的故障預(yù)測(cè)和排查,主動(dòng)發(fā)現(xiàn)業(yè)務(wù)系統(tǒng)中的故障或薄弱環(huán)節(jié)并加以修復(fù)。在實(shí)現(xiàn)智能運(yùn)維基礎(chǔ)上,通過(guò)對(duì)視頻業(yè)務(wù)使用者的行為分析、家庭及用戶畫像等一系列的建模分析,充分挖掘海量數(shù)據(jù)的價(jià)值,衍生出新的業(yè)務(wù)形態(tài),實(shí)現(xiàn)智能化的運(yùn)營(yíng)系統(tǒng),為運(yùn)營(yíng)商創(chuàng)造新的商機(jī)。
參考文獻(xiàn)
[1] 黃珂,李銳,姜春鶴.基于大數(shù)據(jù)的視頻體驗(yàn)保障[J]. 中興通訊技術(shù)(簡(jiǎn)訊), 2017 (3): 22-25
[2] 基于機(jī)器學(xué)習(xí)的智能運(yùn)維[EB/OL].(2017-04-22)[2017-06-25].https://zhuanlan.zhihu.com/p/26216857
[3] TANG L, LI, T, PERNG C S. LogSig: Generating System Events from Raw Textual Logs[C]//In Proceedings ACM International Conference on Information and knowledge Management. UK:ACM, 2011:785-794
[4] TANG L, LI T. LogTree: A Framework for Generating System Events from Raw Textual Logs[C]//In Proceedings of IEEE International Conference on Data Mining (ICDM). USA:IEEE, 2010:491-500
[5] LUO C, LOU J G, LIN Q W, et al. Correlating Events with Time Series for Incident Diagnosis[C]//In Proceedings of the 20th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. USA:ACM, 2014: 1583-1592
[6] HAMERLY G, ELKAN C. Bayesian Approaches to Failure Prediction for Disk Drives[EB/OL].[2017-06-28]. http://cseweb.ucsd.edu/~elkan/smart.pdf ICML
[7] ECKART B, CHEN X, HE X, et al. Failure Prediction Models for Proactive Fault Tolerance within Storage Systems[C]//Modeling, Analysis and Simulation of Computers and Telecommunication Systems 2008, IEEE International Symposium on. USA: IEEE, 2008. DOI:10.1109/MASCOT.2008.4770560
[8] ECKART B, CHEN X, HE X, et al. Failure Prediction Models for Proactive Fault Tolerance within Storage Systems[J]. IEEE International Symposium on Modeling, 2009,1(3):1-8. DOI:10.1109/MASCOT.2008.4770560
[9] Hard Drive Reliability Statistics [EB/OL].[2017-06-28].https://www.backblaze.com/b2/hard-drive-test-data.html