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