阮曉龍 劉海濱
(1.河南中醫(yī)藥大學(xué)信息技術(shù)學(xué)院 鄭州 450046)(2.鄭州祺石信息技術(shù)有限公司智慧運(yùn)維事業(yè)部 鄭州 450008)
近年來(lái),在“互聯(lián)網(wǎng)+”的推動(dòng)下,互聯(lián)網(wǎng)與傳統(tǒng)行業(yè)深度融合,已經(jīng)成為社會(huì)創(chuàng)新發(fā)展的重要支撐,設(shè)備業(yè)務(wù)運(yùn)行情況和運(yùn)行質(zhì)量倍受運(yùn)維人員關(guān)注,一旦發(fā)生異常或故障可能造成難以預(yù)料的損失,因此如何做到高效、準(zhǔn)確地檢測(cè)出設(shè)備業(yè)務(wù)的異常情況,是保障設(shè)備業(yè)務(wù)持續(xù)運(yùn)行的重中之重。
目前關(guān)于設(shè)備業(yè)務(wù)故障檢測(cè)的相關(guān)技術(shù)或?qū)崿F(xiàn)方法越來(lái)越多,如狀態(tài)估計(jì)法[1]、參數(shù)估計(jì)法[2]、等價(jià)空間法[3]、主成分分析法[4~5]、小波分析法[6~7]、時(shí)間序列分析法[8]、信息融合法[9]。文獻(xiàn)[10]中提出利用監(jiān)控設(shè)備業(yè)務(wù)狀態(tài)參數(shù)變化進(jìn)行設(shè)備業(yè)務(wù)故障檢測(cè);文獻(xiàn)[11]中提出了一種松弛布爾約束診斷方法來(lái)解決通信網(wǎng)絡(luò)中端到端測(cè)量定位故障鏈路難的問題;文獻(xiàn)[12]中提出采用小波變化方法分析IP流和SNMP數(shù)據(jù),揭示四種不同流量異常特征,并利用鏈路流量的時(shí)間相關(guān)性(temportal corre?lation)和多尺度(multiscale)分析方法,在單鏈路異常檢測(cè)方面取得了較好的效果;文獻(xiàn)[13~14]中利用利用多條鏈路的空間相關(guān)性(spatial correlation),提出基于主成分分析(PCA)的全網(wǎng)絡(luò)(net?work-wide)異常檢測(cè)方法,充分考慮流量矩陣的相關(guān)性,但未考慮矩陣數(shù)據(jù)的時(shí)間相關(guān)性;文獻(xiàn)[15]中提出了一種基于MSPCA的全網(wǎng)絡(luò)異常檢測(cè)方法,解決文獻(xiàn)[12]和文獻(xiàn)[13~14]僅僅單獨(dú)利用流量的時(shí)間相關(guān)性或空間相關(guān)性的不足。
以上研究技術(shù)與實(shí)現(xiàn)方法雖然獲得了良好的網(wǎng)絡(luò)異常檢測(cè)效果,但在實(shí)際設(shè)備業(yè)務(wù)故障預(yù)警檢測(cè)中存在一定的局限性。
1)普適性差:僅僅利用流量不能全面覆蓋多種設(shè)備業(yè)務(wù)的異常檢測(cè),且部分業(yè)務(wù)運(yùn)行在服務(wù)器內(nèi)部,其狀態(tài)無(wú)法用流量檢測(cè);
2)預(yù)警信息不詳細(xì):異常檢測(cè)無(wú)法準(zhǔn)確檢測(cè)預(yù)警詳細(xì)情況,預(yù)警判斷無(wú)衡量指標(biāo);
3)缺乏針對(duì)性:無(wú)法有效區(qū)分故障、預(yù)警兩種不同異常情況,無(wú)法實(shí)現(xiàn)不同異常情況的相應(yīng)的處理機(jī)制。
本文基于設(shè)備業(yè)務(wù)運(yùn)行狀態(tài)與監(jiān)控統(tǒng)計(jì)數(shù)據(jù)特點(diǎn),將故障與預(yù)警檢測(cè)進(jìn)行單獨(dú)分析,并且采用“故障優(yōu)先”機(jī)制,先進(jìn)行故障檢測(cè),后對(duì)非故障設(shè)備進(jìn)行預(yù)警檢測(cè)。根據(jù)不同的檢測(cè)機(jī)制采取不同的檢測(cè)方法,從而實(shí)現(xiàn)設(shè)備業(yè)務(wù)故障預(yù)警檢測(cè)引擎系統(tǒng),使設(shè)備業(yè)務(wù)故障預(yù)警檢測(cè)更加準(zhǔn)確。
設(shè)備業(yè)務(wù)故障預(yù)警檢測(cè)引擎框架分故障檢測(cè)和預(yù)警檢測(cè)兩個(gè)模塊,如圖1所示。
圖1 設(shè)備業(yè)務(wù)故障預(yù)警檢測(cè)框架
首先進(jìn)行故障檢測(cè)檢測(cè),在故障檢測(cè)模塊中采用報(bào)文檢測(cè)、數(shù)據(jù)分析和實(shí)時(shí)探測(cè)的三級(jí)檢測(cè)機(jī)制,獲得設(shè)備業(yè)務(wù)狀態(tài)(正常、故障、未知);然后進(jìn)行預(yù)警檢測(cè),在預(yù)警檢測(cè)模塊中按照聚合規(guī)則對(duì)設(shè)定預(yù)警線進(jìn)行檢測(cè),最終得到預(yù)警設(shè)備業(yè)務(wù)和正常設(shè)備業(yè)務(wù)。
設(shè)備業(yè)務(wù)故障預(yù)警檢測(cè)框架中定義如下信息。
1)設(shè)備/業(yè)務(wù)
待檢測(cè)狀態(tài)的對(duì)象集合,包括服務(wù)器、交換機(jī)、路由器、防火墻、入侵檢測(cè)、安全網(wǎng)關(guān)、網(wǎng)站、網(wǎng)站服務(wù)器、數(shù)據(jù)庫(kù)、中間件、域名解析服務(wù)、協(xié)議等,表示為D。
2)待檢測(cè)監(jiān)控指標(biāo)字段
判定待檢測(cè)設(shè)備狀態(tài)的參考監(jiān)控指標(biāo)字段,表示為F。
3)追溯周期
狀態(tài)計(jì)算時(shí)所選用監(jiān)控?cái)?shù)據(jù)的周期,表示為P。可 選 取 值 范 圍:1min、5min、10min、15min、30min、1h、1天、1月。
4)取值方式
待檢測(cè)監(jiān)控指標(biāo)字段數(shù)據(jù)提取計(jì)算方式表示為K。取值范圍:max(最大)、min(最小)、avg(平均)、mon(環(huán)比)、on(同比)。
5)閾值
檢測(cè)設(shè)備業(yè)務(wù)預(yù)警狀態(tài)待檢測(cè)指標(biāo)字段數(shù)據(jù)臨界值Vp。
設(shè)備業(yè)務(wù)異常狀態(tài)時(shí),待檢測(cè)指標(biāo)字段i取值Vi與閾值的比對(duì)條件C。取值范圍:>、<、≥、≤、=、≠、null、區(qū)間內(nèi)、區(qū)間外,其中Vi獲取過程如式(1)所示。
若采用基于監(jiān)控?cái)?shù)據(jù)狀態(tài)進(jìn)行故障檢測(cè),則會(huì)受數(shù)據(jù)更新周期的影響,往往在設(shè)備業(yè)務(wù)故障發(fā)生后的一個(gè)更新周期時(shí)才能發(fā)現(xiàn),存在時(shí)效性差、誤報(bào)率高的問題;若采用實(shí)時(shí)探測(cè)進(jìn)行故障檢測(cè),雖具有較高的準(zhǔn)確性,但會(huì)增加受檢測(cè)設(shè)備業(yè)務(wù)負(fù)載,且實(shí)時(shí)探測(cè)需要等待目標(biāo)對(duì)象響應(yīng)結(jié)果,檢測(cè)效率易受異常監(jiān)控對(duì)象數(shù)量以及網(wǎng)絡(luò)異常影響,存在增加被檢測(cè)對(duì)象負(fù)載、檢測(cè)效率低下、檢測(cè)不穩(wěn)定的問題。
為避免上述問題出現(xiàn),本文區(qū)分網(wǎng)絡(luò)異常與服務(wù)異常,采用報(bào)文檢測(cè)、數(shù)據(jù)分析、實(shí)時(shí)探測(cè)三級(jí)檢測(cè)機(jī)制,通過報(bào)文檢測(cè)發(fā)現(xiàn)網(wǎng)絡(luò)中斷類故障,數(shù)據(jù)分析發(fā)現(xiàn)服務(wù)異常,實(shí)時(shí)探測(cè)進(jìn)一步確認(rèn)服務(wù)異常狀態(tài)。
設(shè)備業(yè)務(wù)故障檢測(cè)一級(jí)檢測(cè)通過協(xié)議請(qǐng)求、業(yè)務(wù)連接的返回狀態(tài)信息(I),根據(jù)設(shè)備業(yè)務(wù)類型(T)選擇狀態(tài)計(jì)算方法(M),直接快速判定被檢測(cè)對(duì)象的狀態(tài)(S)。各類型設(shè)備業(yè)務(wù)報(bào)文檢測(cè)方法見表1。
表1 各類型設(shè)備報(bào)文檢測(cè)方法
狀態(tài)計(jì)算方法選取如式(2)所示。
被檢測(cè)對(duì)象的狀態(tài)計(jì)算如式(3)所示。
經(jīng)過一級(jí)故障檢測(cè),根據(jù)檢測(cè)狀態(tài)對(duì)設(shè)備業(yè)務(wù)進(jìn)行分流處理。故障狀態(tài)設(shè)備業(yè)務(wù)進(jìn)入故障處理流程;正常狀態(tài)設(shè)備業(yè)務(wù)進(jìn)入預(yù)警檢測(cè)流程;未知狀態(tài)設(shè)備業(yè)務(wù)未能直觀判定狀態(tài),需做進(jìn)行二級(jí)檢測(cè),根據(jù)監(jiān)控?cái)?shù)據(jù)作進(jìn)一步分析。
《意見》堅(jiān)持市場(chǎng)主導(dǎo)、政府引導(dǎo)、精準(zhǔn)施策的基本原則,以供給側(cè)結(jié)構(gòu)性改革為主線,提出了推動(dòng)綠色餐飲發(fā)展的主要任務(wù):一是健全綠色餐飲標(biāo)準(zhǔn)體系,二是構(gòu)建大眾化綠色餐飲服務(wù)體系,三是促進(jìn)綠色餐飲產(chǎn)業(yè)化發(fā)展,四是培育綠色餐飲主體,五是倡導(dǎo)綠色發(fā)展理念。
對(duì)于一級(jí)檢測(cè)未能判定出故障/正常狀態(tài)的設(shè)備業(yè)務(wù),讀取關(guān)鍵指標(biāo)的歷史監(jiān)控?cái)?shù)據(jù)進(jìn)行Q值檢驗(yàn)[16]。根據(jù)系統(tǒng)變化的一致性描述和解釋計(jì)算設(shè)備業(yè)務(wù)狀態(tài)。各類型設(shè)備業(yè)務(wù)關(guān)鍵指標(biāo)見表2。
表2 各類型設(shè)備業(yè)務(wù)關(guān)鍵指標(biāo)
Q檢驗(yàn)步驟:
1)取關(guān)鍵指標(biāo)最近10次監(jiān)控?cái)?shù)據(jù),從小到大排列得到數(shù)組U;
2)求出最大值最小值的差值(極差)絕對(duì)值V1,如式(4)所示。
3)求出可疑數(shù)據(jù)(最后一次更新數(shù)據(jù))Vlast與最鄰數(shù)據(jù)Vpre差值的絕對(duì)值V2,如式(5)所示。
4)若V1≠0,求出V2除以V1的商Q1,如式(6)所示。若V1=0,執(zhí)行步驟7):
5)根據(jù)測(cè)定次數(shù)(10)和要求置信度(90%)查找Q2=0.41;
6)若Q1≤Q2,V2保留;
7)若V2≠0,V2保留;若V2=0,V2舍棄。
8)若設(shè)備業(yè)務(wù)全部關(guān)鍵指標(biāo)Q檢驗(yàn)結(jié)果保留,檢測(cè)狀態(tài)為正常,進(jìn)入預(yù)警檢測(cè);若設(shè)備業(yè)務(wù)全部關(guān)鍵指標(biāo)Q檢驗(yàn)結(jié)果舍棄,檢測(cè)狀態(tài)為故障;若部分保留部分舍棄,則進(jìn)行第三級(jí)檢測(cè)。
對(duì)二級(jí)檢測(cè)未確定出故障/正常狀態(tài)的設(shè)備業(yè)務(wù),實(shí)時(shí)發(fā)送SNMP、PING、GET、POST請(qǐng)求以及連接登錄等多種方式進(jìn)行狀態(tài)監(jiān)測(cè)和數(shù)據(jù)采集,根據(jù)實(shí)時(shí)請(qǐng)求的返回值判定設(shè)備業(yè)務(wù)是否故障。
根據(jù)設(shè)備業(yè)務(wù)類型(T)選擇狀態(tài)計(jì)算方法(Method),如式(7)所示。
設(shè)備備業(yè)務(wù)配置信息O,設(shè)備業(yè)務(wù)實(shí)時(shí)探測(cè)數(shù)據(jù)Data,如式(8)所示。
經(jīng)過三級(jí)故障檢測(cè),根據(jù)檢測(cè)狀態(tài)對(duì)設(shè)備業(yè)務(wù)進(jìn)行分流處理:故障狀態(tài)設(shè)備業(yè)務(wù)進(jìn)入故障處理流程;正常狀態(tài)設(shè)備業(yè)務(wù)進(jìn)入預(yù)警檢測(cè)流程。
對(duì)故障檢測(cè)后的正常設(shè)備業(yè)務(wù),需進(jìn)行預(yù)警檢測(cè),查看業(yè)務(wù)是否運(yùn)行達(dá)到預(yù)定的閾值,進(jìn)而通知運(yùn)維人員進(jìn)行預(yù)防性干預(yù)。本文定義的預(yù)警模型采用聚合算法將預(yù)警條件合并產(chǎn)生預(yù)警規(guī)則,每個(gè)設(shè)備業(yè)務(wù)通過一次計(jì)算判定是否預(yù)警,根據(jù)設(shè)置的預(yù)警檢測(cè)次數(shù)(T),最后認(rèn)定設(shè)備業(yè)務(wù)是否進(jìn)行預(yù)警告警通知。
定義預(yù)警規(guī)則(R)為邏輯表達(dá)式(E)聚合計(jì)算后的集合,一個(gè)設(shè)備業(yè)務(wù)(D)只有一套預(yù)警規(guī)則,預(yù)警規(guī)則生成過程如式(9)所示。
定義預(yù)警條件(Con)為預(yù)警規(guī)則的最基本組成單元,待檢測(cè)監(jiān)控指標(biāo)字段(F)取追溯監(jiān)控?cái)?shù)據(jù)樣本數(shù)(N),以取值方式(K)取得的計(jì)算值(Vc)與閾值(V)進(jìn)行比較運(yùn)算滿足條件(C),Vc取值過程如式(10)所示。
預(yù)警條件(Con)計(jì)算過程如式(11)所示。
定義邏輯運(yùn)算符(L)為表示組成邏輯表達(dá)式的預(yù)警條件(Con)之間的邏輯運(yùn)算關(guān)系,取值為或—or、且—and。
定義邏輯表達(dá)式(E)為相互間具有邏輯運(yùn)算關(guān)系且用or/and連接的預(yù)警條件(Con),如式(12)所示。
定義追溯監(jiān)控?cái)?shù)據(jù)樣本數(shù)(N)為取得計(jì)算值(V1)需要追溯的監(jiān)控?cái)?shù)據(jù)個(gè)數(shù),取值:1,2,3,4,5。
定義取值方式(K)為從N個(gè)監(jiān)控?cái)?shù)據(jù)取得計(jì)算值(V1)的計(jì)算方法,取值:當(dāng)前、最大、最小、平均、環(huán)比、同比。
定義比較運(yùn)算有大于(>)、小于(<)、等于(=)、不等于(!=)。
定義預(yù)警對(duì)象(P)為需檢測(cè)預(yù)警狀態(tài)的設(shè)備和業(yè)務(wù)。
每次變更預(yù)警條件時(shí),需調(diào)用聚合算法將相同的預(yù)警表達(dá)式轉(zhuǎn)化,消除相同預(yù)警字段以及取值方式重復(fù)添加產(chǎn)生的冗余預(yù)警條件,生成最終預(yù)警規(guī)則,算法處理過程。
1)以邏輯運(yùn)算符or為基準(zhǔn),將預(yù)警對(duì)象(P)的邏輯表達(dá)式集合(E)拆分成最小預(yù)警判定單元集合U,如式(13)所示。
2)檢測(cè)集合U中的各預(yù)警表達(dá)式,按預(yù)警字段&取值方式組合歸類整理得到Us。
3)合并相同預(yù)警字段&取值方式組合Us中的預(yù)警表達(dá)式,合并原則:大大取大、小小取小、大小取中、沖突舍棄。
檢測(cè)為正常的設(shè)備和業(yè)務(wù)作為預(yù)警對(duì)象,根據(jù)預(yù)警規(guī)則檢測(cè)設(shè)備業(yè)務(wù)是否預(yù)警,并通過預(yù)警分析算法,最終獲取設(shè)備業(yè)務(wù)的預(yù)警狀態(tài)及描述信息,其分析算法處理過程如下:
1)從預(yù)警對(duì)象的預(yù)警規(guī)則獲得“預(yù)警字段&取值方式”集合Uv;
2)取得讀取并計(jì)算生成Uv對(duì)應(yīng)的值V;
3)對(duì)預(yù)警規(guī)則中各預(yù)警表達(dá)式進(jìn)行比較,得出當(dāng)前預(yù)警對(duì)象是否預(yù)警以及預(yù)警信息。
本文研究了設(shè)備業(yè)務(wù)故障預(yù)警檢測(cè)的相關(guān)技術(shù),通過分析設(shè)備業(yè)務(wù)運(yùn)行狀態(tài)與監(jiān)控統(tǒng)計(jì)數(shù)據(jù)特點(diǎn),設(shè)計(jì)了一種設(shè)備業(yè)務(wù)故障分級(jí)檢測(cè)與預(yù)警聚合分析模式。通過故障/預(yù)警分離檢測(cè)、多層次判斷算法、高效聚合處理等多種技術(shù)和方法,使該模型在工作中具有良好的普適性、準(zhǔn)確性和高效性,能夠快速、準(zhǔn)確地發(fā)現(xiàn)故障或預(yù)警,并提供詳細(xì)的預(yù)警信息,以便即時(shí)提醒相關(guān)運(yùn)維人員,幫助相關(guān)人員處理異常,為信息化應(yīng)用中各類設(shè)備業(yè)務(wù)持續(xù)穩(wěn)定運(yùn)行提供有力保障。