王麗君, 張銀鐵, 萬晶
(國網(wǎng)電力科學(xué)研究院有限公司, 南京 江蘇 211106)
智能運維相較于傳統(tǒng)運維更能滿足大數(shù)據(jù)時代的需求,近年來隨著機器學(xué)習(xí)技術(shù)發(fā)展,將人工智能與IT運維相結(jié)合,出現(xiàn)了智能運維技術(shù)。數(shù)據(jù)中心信息系統(tǒng)故障檢測、故障預(yù)測及故障恢復(fù)技術(shù)是確保數(shù)據(jù)中心正常運營的重要支撐,相關(guān)研究在近幾年迅速成為熱點。
通過故障檢測技術(shù),能利用信息系統(tǒng)當(dāng)前及過去狀態(tài)檢測出已出現(xiàn)的故障。而故障預(yù)測技術(shù)能根據(jù)當(dāng)前的系統(tǒng)狀態(tài)預(yù)測出未來時刻系統(tǒng)可能會出現(xiàn)的狀況,主要是為了避免信息系統(tǒng)出現(xiàn)故障,在故障發(fā)生前進行預(yù)測并采用相應(yīng)的故障預(yù)防策略避免故障的發(fā)生,也可幫助縮短故障恢復(fù)時間,提高系統(tǒng)的安全性、可靠性與可用性。故障恢復(fù)技術(shù)是在故障發(fā)生并檢測出來后根據(jù)運維經(jīng)驗及故障恢復(fù)策略,將信息系統(tǒng)盡可能恢復(fù)至故障發(fā)生前的狀態(tài),保證系統(tǒng)能繼續(xù)正常運行。近幾年來,企業(yè)運維人員和研究者們越來越關(guān)注預(yù)防性運維技術(shù)[1]。Ahmed F, Erman J等[2]在 2015 年提出了一種端到端的異常檢測與定位方法,但是該方法只是根據(jù)關(guān)聯(lián)規(guī)則挖掘描述了一個大概的方案,并沒有具體的方案細節(jié)。Qingwei Lin等[3]針對問題報告數(shù)量這一多維監(jiān)測指標(biāo)提出了名為 iDice 根因分析算法,該算法通過三種剪枝策略來減少各維度下屬性值之間的組合,從而減少運維人員的工作量。清華大學(xué)和百度公司在 2018 年提出一種名為 HotSpot 的根因分析算法[4],該算法將根因分析轉(zhuǎn)化為一個巨大的空間搜索問題,通過啟發(fā)式的搜索算法來定位導(dǎo)致異常發(fā)生的根本原因。故障預(yù)測可以幫助運維人員進行預(yù)防性運維,預(yù)測時間與信息系統(tǒng)的可靠性緊密相關(guān)[5]。
故障恢復(fù)方面的研究主要聚焦在高可用系統(tǒng)的設(shè)計上[6-7]。文獻[8]提出了一種全新的雙機熱備算法,該算法基于共享存儲,并實現(xiàn)了一種虛擬機層面的故障恢復(fù)工具集。故障預(yù)測聚焦于在線故障預(yù)測[9],可采用分類算法的評價指標(biāo)——準(zhǔn)確率、召回率和 F-Measure,作為故障預(yù)測能力的評價指標(biāo)[10]。對于故障檢測方法的評價,可采用檢測準(zhǔn)確、誤檢率和平均檢測準(zhǔn)確率作為評價指標(biāo)[11-12]。
目前,國內(nèi)外有關(guān)故障檢測、故障預(yù)測和故障恢復(fù)技術(shù)的研究有不少,在故障檢測和預(yù)測領(lǐng)域,相關(guān)研究中通常會采取經(jīng)典評價指標(biāo)來驗證故障檢測和預(yù)測方法的準(zhǔn)確性、有效性。然而,故障恢復(fù)能力評估方面研究并不多見,也沒有統(tǒng)一的評價方法。因此,關(guān)于故障恢復(fù)能力的評估方法研究還存在較大的研究空間,本文針對數(shù)據(jù)中心保障要點與故障恢復(fù)驗證方法進行了研究。
為了從整體評估數(shù)據(jù)中心保障要點與故障恢復(fù)能力,構(gòu)建主機、系統(tǒng)、網(wǎng)絡(luò)、數(shù)據(jù)庫、中間件等運維對象恢復(fù)評估模型,構(gòu)建了智能運維五維模型。覆蓋從業(yè)務(wù)、事務(wù)、拓?fù)?、物理鏈路和基礎(chǔ)設(shè)施多維度,貫穿業(yè)務(wù)和軟硬件資源,既是運維保障的要點,也是輔助運維人員快速判斷故障恢復(fù)成效的評價方法。
構(gòu)建的五維模型,共分為5個維度,自下而上分別是:基礎(chǔ)設(shè)施層、物理鏈路層、邏輯拓?fù)鋵印⒐δ苁聞?wù)層、業(yè)務(wù)流程層。邏輯關(guān)系是業(yè)務(wù)流程依賴功能節(jié)點的運行支撐,功能事務(wù)運行在邏輯架構(gòu)上,邏輯架構(gòu)運行在物理設(shè)備中,物理設(shè)備運行在基礎(chǔ)設(shè)施環(huán)境中。如圖1所示。
圖1 五維模型
這五個維度含義介紹如下。
(1) 業(yè)務(wù)流程層:記錄了系統(tǒng)業(yè)務(wù)對應(yīng)的功能項,以及業(yè)務(wù)流程間的依賴關(guān)系。每個功能都對應(yīng)系統(tǒng)的一個菜單按鈕,菜單按鈕又對應(yīng)該按鈕訪問的后臺的URL路徑。研究不同業(yè)務(wù)恢復(fù)驗證的核心業(yè)務(wù)流包括哪些,例如查詢、交易等核心流程等,這是保障和恢復(fù)要點中必須最終確認(rèn)的內(nèi)容;
(2) 功能事務(wù)層:記錄了在系統(tǒng)運行時軟件內(nèi)的請求調(diào)用關(guān)系,主要包含請求的發(fā)起源信息、目的信息以及整個請求的用時等信息,同時還包括代碼的調(diào)用棧信息以及SQL的執(zhí)行信息。支持業(yè)務(wù)流程的功能節(jié)點或程序集成的狀態(tài),可判斷各功能是否處于正常運行中,資源消費是否正常等,避免僵尸進程等虛假運行狀態(tài);
(3) 邏輯拓層:記錄了軟件連接關(guān)系與軟件運行指標(biāo)、日志,軟件連接關(guān)系主要包括業(yè)務(wù)系統(tǒng)中間件之間的連接關(guān)系,負(fù)載均衡與應(yīng)用的連接關(guān)系,應(yīng)用系統(tǒng)與數(shù)據(jù)庫的連接關(guān)系,軟件集群、數(shù)據(jù)庫集群或RAC(oracle)的連接關(guān)系。指標(biāo)主要為應(yīng)用系統(tǒng)工單量、業(yè)務(wù)量、數(shù)據(jù)庫連接并發(fā)讀寫、中間件隊列等指標(biāo)。日志主要包含中間件、數(shù)據(jù)庫自身的日志,也包含用戶打印操作等日志。可判斷分析所有應(yīng)用節(jié)點之間的通信是否狀態(tài)協(xié)調(diào)一致,避免任何環(huán)節(jié)的邏輯不通造成的上層應(yīng)用失效;
(4) 物理鏈路層:記錄了機房內(nèi)IT設(shè)備的實際連接關(guān)系與設(shè)備運行指標(biāo)以及設(shè)備運行日志。連接關(guān)系主要包含主機與交換機之間的連接關(guān)系,主機與負(fù)載均衡之間的連接關(guān)系,防火墻與交換機之間的連接關(guān)系。指標(biāo)主要包含CPU、內(nèi)存、IO的使用率,網(wǎng)絡(luò)接口的延遲丟包率,存儲的使用率與吞吐量等。日志主要對應(yīng)主機、網(wǎng)絡(luò)、存儲及安全設(shè)備的運行日志??膳袛嗑唧w承載業(yè)務(wù)全局的基礎(chǔ)架構(gòu)設(shè)備狀態(tài),如計算設(shè)備、存儲設(shè)備、網(wǎng)絡(luò)設(shè)備是否還存在告警或物理缺陷等;
(5) 基礎(chǔ)設(shè)施層:記錄了機房的物理設(shè)備與動力環(huán)境指標(biāo)。主要指標(biāo)包括設(shè)備臺賬、機房溫度、設(shè)備溫度、設(shè)備異常告警、設(shè)備投運時長等??膳袛嘤绊憳I(yè)務(wù)的關(guān)鍵基礎(chǔ)設(shè)施狀態(tài)是否恢復(fù),例如核心網(wǎng)絡(luò)鏈路,重要設(shè)備的供電和空調(diào)環(huán)境等狀態(tài)。
在第1節(jié)中,我們對五維模型進行了介紹。另外,為了更加準(zhǔn)確地評估數(shù)據(jù)中心保障要點與故障恢復(fù)能力,將故障檢測時間也作為評估的一個重要指標(biāo)。因此,根據(jù)故障檢測時間、業(yè)務(wù)流程恢復(fù)時間、業(yè)務(wù)流程恢復(fù)程度、功能事務(wù)恢復(fù)時間、功能事務(wù)恢復(fù)程度、邏輯拓?fù)浠謴?fù)時間、邏輯拓?fù)浠謴?fù)程度、物理鏈路恢復(fù)時間、物理鏈路恢復(fù)程度、基礎(chǔ)設(shè)施恢復(fù)時間、基礎(chǔ)設(shè)施恢復(fù)程度等指標(biāo),我們可全面考慮數(shù)據(jù)中心業(yè)務(wù)及軟硬件資源恢復(fù)情況,可全方位評估數(shù)據(jù)中心保障要點與故障恢復(fù)能力。
為了便于在不同場景下評估,將時間類指標(biāo)進行歸一化,各維度的恢復(fù)程度是與故障前的狀態(tài)進行比較,用百分比表示。然后,將各指標(biāo)值加權(quán)求和得到故障恢復(fù)能力得分,也可利用雷達圖觀察各指標(biāo)得分,從各維度分析故障恢復(fù)能力的優(yōu)勢與劣勢。
基于歸一化與多維評估的方法,設(shè)計評估模型,對數(shù)據(jù)中心保障要點與故障恢復(fù)能力進行量化評估。首先,針對每個時間指標(biāo),進行歸一化處理,將這些測試指標(biāo)值映射到[0,1]的區(qū)間之中。然后,對每個測試指標(biāo),便可通過歸一化的值,比較好壞的程度。
以故障檢測時間為例,時間越短,表示故障檢測能力越強,歸一化函數(shù)式如式(1)。
(1)
其中,t表示采集的時間指標(biāo);Tnor表示歸一化的時間指標(biāo);tmin表示當(dāng)時間不超過該值,能力較好,為1;tmax表示當(dāng)時間超過該值時,能力較差,為0。
為了綜合考慮數(shù)據(jù)中心保障要點與故障恢復(fù)能力,采用加權(quán)求和的計算方法,可通過最后得分評估故障恢復(fù)能力。根據(jù)前面建立的指標(biāo)體系,提出數(shù)據(jù)中心保障要點與故障恢復(fù)能力評估模型如式(2)。
(2)
其中,y為數(shù)據(jù)中心保障要點與故障恢復(fù)能力綜合得分;xi為第i個指標(biāo)的得分;wi為第i個指標(biāo)的權(quán)重。
為了便于從各個維度評估數(shù)據(jù)中心保障要點與故障恢復(fù)能力,可以利用雷達圖進行多維指標(biāo)評價展示。雷達圖形式如圖2所示。
圖2 指標(biāo)雷達圖
通過雷達圖,可以更直觀地看到各個指標(biāo)的得分情況,哪些指標(biāo)的得分較高,哪些指標(biāo)得分偏低。從而幫助運維人員分析數(shù)據(jù)中心故障恢復(fù)情況,可以反過來為故障檢測與恢復(fù)方法提供改進建議。
對某電力系統(tǒng)的電費充值服務(wù)注入故障,在一次充值服務(wù)中,由于服務(wù)器斷網(wǎng),導(dǎo)致用戶充值失敗。記錄下該故障注入時間點t1,根據(jù)故障檢測策略檢測出故障并記錄時間點t2,則故障檢測時間為t2-t1。由第一章所述,該故障涉及到業(yè)務(wù)流程層和物理鏈路層指標(biāo)的恢復(fù)。然后根據(jù)故障恢復(fù)策略恢復(fù)服務(wù),這個過程所經(jīng)歷的時間為故障恢復(fù)時間,分別記為t3、t4。
根據(jù)第1、2章所述的評估方法,得到數(shù)據(jù)如表1所示。
表1 實驗數(shù)據(jù)
將故障檢測時間、業(yè)務(wù)流程層恢復(fù)時間和物理鏈路層恢復(fù)時間分別設(shè)置tmax和tmin,分別為:100、50;50、10;50、10。各指標(biāo)權(quán)重根據(jù)可根據(jù)實際運維經(jīng)驗設(shè)定,本文設(shè)為0.2。
由3.1可得到,score=0.2×0.88+0.2×0.875+0.2×1+0.2×0.825+0.2×1=0.916。根據(jù)評估模型,Score值在[0,1]區(qū)間,并且越接近于 1 能力越強,因此判定被測故障恢復(fù)能力較強。
隨著機器學(xué)習(xí)技術(shù)的發(fā)展,國內(nèi)外關(guān)于數(shù)據(jù)中心信息系統(tǒng)故障檢測、故障預(yù)測和故障恢復(fù)技術(shù)的研究成為熱點。在故障檢測和預(yù)測領(lǐng)域,相關(guān)研究中通常會采取經(jīng)典評價指標(biāo)來驗證故障檢測和預(yù)測方法的準(zhǔn)確性、有效性。但是對于數(shù)據(jù)中心保障要點與故障恢復(fù)能力的評估方法研究還非常少,且不成體系。因此,本文聚焦數(shù)據(jù)中心保障要點與故障恢復(fù)驗證方法研究,構(gòu)建包含主機、系統(tǒng)、網(wǎng)絡(luò)、數(shù)據(jù)庫、中間件等運維對象恢復(fù)評估模型,形成智能運五維模型,覆蓋從業(yè)務(wù)、事務(wù)、拓?fù)?、物理鏈路和基礎(chǔ)設(shè)施多維度,貫穿業(yè)務(wù)和軟硬件資源,全面評估數(shù)據(jù)中心保障要點與故障恢復(fù)能力。