丁三軍,薛 宇,王朝霞,徐 蕾
(1.中國航空工業(yè)集團(tuán)公司沈陽飛機設(shè)計研究所,沈陽110136;2.沈陽航空航天大學(xué)計算機學(xué)院,沈陽110136)
基于模糊數(shù)據(jù)挖掘的虛擬環(huán)境主機故障預(yù)測
丁三軍1,薛 宇2,王朝霞1,徐 蕾2
(1.中國航空工業(yè)集團(tuán)公司沈陽飛機設(shè)計研究所,沈陽110136;2.沈陽航空航天大學(xué)計算機學(xué)院,沈陽110136)
為避免虛擬計算環(huán)境中由于資源配置不合理,導(dǎo)致虛擬主機服務(wù)中斷或數(shù)據(jù)丟失的問題,設(shè)計一種虛擬主機故障預(yù)測模型。利用主機運行日志進(jìn)行模糊數(shù)據(jù)挖掘,獲得故障預(yù)測的模糊關(guān)聯(lián)規(guī)則。根據(jù)故障預(yù)測中聚類區(qū)域邊緣數(shù)據(jù),給出基于規(guī)則的閾值迭代算法求解日志數(shù)據(jù)預(yù)處理修正系數(shù),進(jìn)而提高規(guī)則的匹配率。實驗結(jié)果表明,該模型能夠在實際服務(wù)失效前預(yù)測故障,預(yù)測準(zhǔn)確率達(dá)到85%以上。
虛擬環(huán)境;主機故障預(yù)測;模糊數(shù)據(jù)挖掘;關(guān)聯(lián)規(guī)則;閾值迭代
在大型數(shù)據(jù)中心,為充分利用系統(tǒng)資源、提升數(shù)據(jù)中心的計算能力、避免IT設(shè)備的非必要擴(kuò)充而普遍采用了虛擬化技術(shù)。虛擬化技術(shù)的使用提高了數(shù)據(jù)中心設(shè)備的利用率,但也存在一些潛在的問題。若虛擬機資源配置與運行任務(wù)的資源需求不匹配,部分虛擬機長時間負(fù)載過重導(dǎo)致服務(wù)失效,即虛擬機不能正常運行任務(wù)或者任務(wù)在沒有完成的時候被意外終止。因此有必要對虛擬機服務(wù)失效(故障)狀態(tài)提前預(yù)測,便于數(shù)據(jù)中心的運維系統(tǒng)能夠及時的響應(yīng)。
主機故障預(yù)測通常利用機器運行日志文件中的數(shù)據(jù)進(jìn)行數(shù)據(jù)挖掘,得到機器故障的預(yù)測規(guī)則,現(xiàn)有的預(yù)測技術(shù)主要有:(1)基于支持向量機(Support Vector Machine,SVM)機器學(xué)習(xí)的故障預(yù)測,文獻(xiàn)[1]利用并行支持向量機分析系統(tǒng)日志來進(jìn)行故障預(yù)測,達(dá)到了較高的故障預(yù)測率;由于SVM求解支持向量時會耗費大量的機器內(nèi)存和運算時間,當(dāng)訓(xùn)練樣本與支持向量數(shù)目過多時,分類器的分類速度過慢,限制了支持向量機的應(yīng)用。(2)基于關(guān)聯(lián)規(guī)則的故障預(yù)測。通常方法是把日志文件中的每個數(shù)據(jù)屬性劃分為若干個區(qū)間,每個區(qū)間用布爾型值1或0表示,若數(shù)據(jù)屬性值在某個區(qū)間范圍內(nèi),則該區(qū)間值為1,否則為0。這種方法存在劃分邊界過硬的問題。文獻(xiàn)[2]提出了加權(quán)關(guān)聯(lián)規(guī)則的分類預(yù)測方法,通過引入屬性權(quán)值提高預(yù)測的準(zhǔn)確率。文獻(xiàn)[3]提出基于模糊關(guān)聯(lián)規(guī)則與多重最小支持度的預(yù)測方法,模糊關(guān)聯(lián)規(guī)則[4-5]使用模糊集來軟化屬性論域劃分邊界,解決了區(qū)間劃分邊界過硬的問題;規(guī)則匹配的分類速度相對較快,解決了SVM對大樣本分類速度慢的缺陷,然而規(guī)則方法的故障預(yù)測準(zhǔn)確率相對較低[6]。
本文實現(xiàn)一種虛擬機的主機故障預(yù)測模型。利用虛擬機的運行日志數(shù)據(jù)進(jìn)行故障的模糊關(guān)聯(lián)規(guī)則挖掘,提出基于規(guī)則的日志數(shù)據(jù)加權(quán)預(yù)處理方法。
虛擬環(huán)境下主機故障預(yù)測模型的工作過程如圖1所示,模型利用主機運行日志樣本數(shù)據(jù)集進(jìn)行模糊數(shù)據(jù)挖掘獲得主機故障預(yù)測的模糊關(guān)聯(lián)規(guī)則,工作過程如下:用模糊C均值算法求得樣本數(shù)據(jù)集的聚類中心及隸屬度矩陣,再用Apriori數(shù)據(jù)挖掘算法求出故障預(yù)測的模糊關(guān)聯(lián)規(guī)則;進(jìn)一步基于數(shù)據(jù)挖掘獲得的故障預(yù)測規(guī)則用本文提出的閾值迭代算法得到一組日志數(shù)據(jù)加權(quán)系數(shù),其中的閾值為規(guī)則的故障檢錯率,迭代過程中設(shè)為固定的值(閾值不能設(shè)定的太小,否則不容易收斂),日志加權(quán)系數(shù)迭代時,首先設(shè)定加權(quán)系數(shù)的初值,將日志樣本數(shù)據(jù)加權(quán)計算后做模糊化,匹配故障預(yù)測規(guī)則,若規(guī)則的故障檢錯率超過閾值,則調(diào)整加權(quán)系數(shù)繼續(xù)迭代直至小于閾值為止;進(jìn)行實時主機故障預(yù)測時,首先對日志數(shù)據(jù)做加權(quán)處理,再進(jìn)行模糊化與規(guī)則匹配,得到故障預(yù)測結(jié)果。
圖1 主機故障預(yù)測模型
2.1 主機日志屬性提取及故障分析
分析服務(wù)器中虛擬主機的系統(tǒng)運行日志,提取日志數(shù)據(jù)中的相關(guān)屬性進(jìn)行故障預(yù)測規(guī)則挖掘,提取的屬性如表1所示。
虛擬環(huán)境下的主機故障定義為一段時間內(nèi)某個虛擬主機的服務(wù)失效。主機服務(wù)失效主要表現(xiàn)如表2所示,表中所有服務(wù)失效現(xiàn)象的檢測時間為60 s,稱為單位檢測時間。
表1 與主機故障相關(guān)的運行狀態(tài)屬性
表2 虛擬主機服務(wù)失效表現(xiàn)
表2第2項故障是指處理器在內(nèi)存中讀取某一頁出現(xiàn)錯誤時,就會產(chǎn)生缺頁中斷,在日志屬性M emoryPage Faults/s會有所反應(yīng),錯誤會使系統(tǒng)的運行效率很快下降。M emoryPage Input(Reads)/s表示為解決錯誤而寫入(讀取)硬盤的頁數(shù),數(shù)值越大表示硬錯誤越多,系統(tǒng)性能越低,若在單位檢測時間內(nèi)數(shù)值超過20以上認(rèn)為存在故障。
因為一些CPU允許操作系統(tǒng)并行多個未完成請求的輸入/輸出操作。PhysicalDisk(-Total)\% Disk Time屬性的值會超過100%,其數(shù)值長時間較高時磁盤操作成為瓶頸。計算機在單位檢測時間內(nèi)對文件系統(tǒng)進(jìn)行高頻率(2 000以上)讀/寫時,系統(tǒng)運行效率會嚴(yán)重下降,導(dǎo)致故障產(chǎn)生。
NetworkBytes Total/s監(jiān)控是否由于網(wǎng)絡(luò)原因?qū)е孪到y(tǒng)故障,由于1 M b/s帶寬影響,Network Byte Total/s數(shù)值接近帶寬時網(wǎng)絡(luò)連接達(dá)到瓶頸。用戶狀態(tài)模式是指除一般系統(tǒng)服務(wù)、進(jìn)程管理、內(nèi)存管理等由操作系統(tǒng)自行啟動的進(jìn)程外CPU處理線程的百分比,數(shù)值過大的原因是應(yīng)用系統(tǒng)消耗了大量的CPU時間,引起CPU性能下降。
當(dāng)虛擬主機的運行特征中頻繁出現(xiàn)上述現(xiàn)象時,表明虛擬機的部分資源不能滿足運行任務(wù)的要求,服務(wù)質(zhì)量下降。若能夠提前預(yù)測這種服務(wù)失效,可以及時采取措施,避免服務(wù)中斷。
2.2 數(shù)據(jù)模糊化與關(guān)聯(lián)規(guī)則挖掘
利用主機運行的日志數(shù)據(jù)進(jìn)行故障預(yù)測的模糊關(guān)聯(lián)規(guī)則挖掘。設(shè)規(guī)則挖掘的樣本數(shù)據(jù)集為X={x1,x2,…,xn}(n為樣本數(shù)),其中xi={xi,1,xi,2,…,xi,8}(1≤i≤n)是具有上述8個屬性的日志數(shù)據(jù),利用FCM(Fuzzy-C-M eans)算法[7]對X進(jìn)行模糊化處理。將數(shù)據(jù)的每個屬性模糊化為5類,分別為極低(VLow)、低(Low)、中等(M idd)、高(High)、極高(VHigh)。FCM算法計算每個屬性的聚類中心并求樣本集相對聚類中心的隸屬度,使得非相似性指標(biāo)的價值函數(shù)達(dá)到最?。?]。
設(shè)聚類中心C={cj,k}(C為矩陣,1≤j≤8,1≤k≤5),U={ui,j,k}是樣本集到聚類中心C的隸屬度,0<ui,j,k<1,C為n×8×5的矩陣。模糊聚類是按照日志數(shù)據(jù)的屬性分別進(jìn)行,對每個日志屬性數(shù)據(jù)設(shè)置價值函數(shù):
初始化:設(shè)置初始聚類中心C,迭代標(biāo)準(zhǔn)ε>0,初始化隸屬矩陣C,若ui,j,k的j屬性值距離某個聚類中心cj,k的距離最近,則初始化隸屬度ui,j,k為0.6,其余隸屬度ui,j,l(1≤l≤5∧l≠k)為0.1。
步驟1 用下式計算聚類中心C:
步驟2 用下式計算隸屬度矩陣U:
步驟3 根據(jù)式(1)計算價值函數(shù)。如果它大于閾值ε,返回步驟1,迭代計算聚類中心C和隸屬度矩陣U。
步驟4 算法停止,獲得聚類中心C和隸屬度矩陣U。
由上述的FCM算法得到樣本數(shù)據(jù)的模糊集之后,利用Apriori數(shù)據(jù)挖掘算法從模糊數(shù)據(jù)集中提取有意義的故障預(yù)測關(guān)聯(lián)規(guī)則[9-10]。經(jīng)Apriori挖掘算法挖掘得到關(guān)聯(lián)規(guī)則例子如表3所示。
表3 故障預(yù)測關(guān)聯(lián)規(guī)則例子
2.3 閾值迭代法
日志數(shù)據(jù)模糊化后,直接匹配上述得到的模糊關(guān)聯(lián)規(guī)則進(jìn)行故障預(yù)測產(chǎn)生了較大的誤差。分析發(fā)現(xiàn)是聚類區(qū)域邊緣的數(shù)據(jù)導(dǎo)致了這些誤差。因此,本文提出一種基于故障預(yù)測規(guī)則的閾值迭代算法求出一組權(quán)值向量,在日志數(shù)據(jù)模糊化之前對其進(jìn)行按屬性加權(quán),使得數(shù)據(jù)模糊化時能夠向聚類中心靠攏,減少模糊規(guī)則不匹配的情況,提高預(yù)測準(zhǔn)確率。
基于規(guī)則的閾值迭代算法是利用日志樣本數(shù)據(jù)對故障預(yù)測規(guī)則的匹配情況進(jìn)行權(quán)值迭代,以期能夠獲得更高的規(guī)則匹配率。設(shè)數(shù)據(jù)挖掘獲得的模糊規(guī)則集為R={r1,r2,…,rs}(s≥1),利用上節(jié)中得到的模糊聚類中心C={cj,k}(1≤j≤8,1≤k≤5),日志樣本數(shù)據(jù)集X={x1,x2,…xn}進(jìn)行權(quán)值迭代獲得權(quán)值向量W={w1,w2,…,w8}。算法中權(quán)值迭代的終止條件為規(guī)則的檢錯率e(所有規(guī)則使用同一個值),算法如下:
算法中將按規(guī)則求得的權(quán)值用求均值的方法求出一組權(quán)值,用于日志數(shù)據(jù)的調(diào)整。
2.4 實時主機故障預(yù)測
虛擬環(huán)境下實時主機故障預(yù)測過程如下:
(1)獲得主機運行日志數(shù)據(jù),提取相關(guān)屬性數(shù)據(jù)。
(2)將主機日志數(shù)據(jù)與前節(jié)獲得的權(quán)值向量做加權(quán)處理(方法同上),利用已知的聚類中心根據(jù)式(3)對加權(quán)后的日志數(shù)據(jù)進(jìn)行模糊化。
(3)得到的模糊數(shù)據(jù)與規(guī)則集R中規(guī)則進(jìn)行匹配,若匹配R中的一條或多條規(guī)則,則選擇其中置信度最高的規(guī)則結(jié)論作為預(yù)測結(jié)果[11-13]。
主機故障預(yù)測時,日志數(shù)據(jù)讀取太頻繁,會影響到主機的工作效率,設(shè)置主機日志每T s(T<60)讀取一次,單位預(yù)測時間內(nèi)提取n條數(shù)據(jù),若其中有2/3以上數(shù)據(jù)表達(dá)出故障狀態(tài),則認(rèn)為此單位時間內(nèi)為故障狀態(tài)。若表達(dá)故障狀態(tài)數(shù)據(jù)在2/3以內(nèi),之后數(shù)值平穩(wěn)下降趨于穩(wěn)定,則認(rèn)為系統(tǒng)正常運行,此時狀態(tài)為非故障狀態(tài)。
實現(xiàn)上述故障預(yù)測系統(tǒng)以驗證模型的有效性。實驗平臺搭建采用一臺IBM X 3650M 4服務(wù)器,CPU為10核頻率3.0 GHz、16 GB內(nèi)存、10 TB硬盤容量、2.4 Gb/s網(wǎng)絡(luò)接入能力。虛擬化環(huán)境為VMw are vSphere,利用VMw are ESX i組件將服務(wù)器分為3個虛擬機,每個虛擬機分配4 GB內(nèi)存、3個處理器核。3臺虛擬機上運行的任務(wù)是飛機飛行參數(shù)的分布式處理與數(shù)據(jù)交換,當(dāng)虛擬機進(jìn)行某類飛參故障分析時會出現(xiàn)集中的計算或數(shù)據(jù)交換。實驗提取某個虛擬機中的10 000條日志數(shù)據(jù)作為訓(xùn)練樣本。
在數(shù)據(jù)挖掘時,價值函數(shù)的閾值ε取值是0.01,樣本數(shù)據(jù)獲得的聚類中心C如表4所示,數(shù)據(jù)挖掘過程中,規(guī)則的最小支持度0.5、最小置信度0.5,得到384條關(guān)聯(lián)規(guī)則。
表4 FCM算法迭代結(jié)束后的聚類中心C
基于規(guī)則的閾值迭代算法設(shè)置e=0.2,獲得的權(quán)值向量W={0.043,0.0105,0.215,0.15,0.17,0.28,0.3,0.225}。
故障實時預(yù)測實驗中,獲取日志的時間T= 5 s,單位檢測時間內(nèi)讀取12條數(shù)據(jù)。實驗時間內(nèi)除正常運行的任務(wù)之外,隨機地在某臺虛擬機內(nèi)增加一些數(shù)據(jù)運算與交換任務(wù)以制造服務(wù)失效引起故障,并在模型進(jìn)行預(yù)測后及時撤出任務(wù),以免對后期實驗結(jié)果產(chǎn)生影響。實驗計數(shù)了某臺虛擬機10 h內(nèi)故障的預(yù)測情況。模型的預(yù)測結(jié)果如圖2所示。實驗測試的日志數(shù)據(jù)加權(quán)預(yù)處理的結(jié)果如表5所示。
圖2 故障預(yù)測模型故障預(yù)測結(jié)果
表5 2種方法預(yù)測結(jié)果對比
數(shù)據(jù)模糊化使得對數(shù)據(jù)描述的分級數(shù)增加,同時采用的日志數(shù)據(jù)加權(quán)又使得模糊集邊緣的數(shù)據(jù)向中心靠攏,因此日志數(shù)據(jù)模糊化后能夠提前預(yù)測故障的發(fā)生;實驗結(jié)果驗證故障預(yù)測模型平均提前10 m in(10個單位檢測時間)預(yù)報故障的出現(xiàn);日志數(shù)據(jù)的加權(quán)預(yù)處理也提高了模型的故障檢測率,降低了檢錯率。
實時故障預(yù)測過程中,系統(tǒng)必須實時獲取主機運行日志,進(jìn)而消耗部分系統(tǒng)資源,實驗得出每5 s處理一條運行日志數(shù)據(jù)時,平均匹配28.8條規(guī)則,約為總規(guī)則數(shù)的1/11,平均耗時2 ms,所消耗的系統(tǒng)資源在可接受的范圍內(nèi)。
本文提出一種基于主機日志模糊數(shù)據(jù)挖掘的主機故障預(yù)測模型,由于日志數(shù)據(jù)模糊化后數(shù)據(jù)描述分級數(shù)增加,同時采用了加權(quán)預(yù)處理的方法,該模型獲得較好的故障預(yù)測效果和檢測率。由于模型中數(shù)據(jù)模糊化時分為5級,更加細(xì)致的分級可能會增加規(guī)則的數(shù)量進(jìn)而增加系統(tǒng)的開銷,基于數(shù)據(jù)挖掘獲得規(guī)則的預(yù)測系統(tǒng)受到數(shù)據(jù)挖掘使用樣本的限制,下一步將研究如何動態(tài)調(diào)整規(guī)則以適應(yīng)主機運行環(huán)境及運行任務(wù)的變化。
[1] Kumar R A.Pragmatic Approach to Predict Hardware Failures in Storage System s Using MPP Database and Big Data Technologies[C]//Proceedings of IACC'14. Washington D.C.,USA:IEEE Press,2014:779-788.
[2] Sunita S.An Associative Classifier Using Weighted Association Rule[C]//Proceedings of 2009 World Congresson Nature&Biologically Inspired Computing. Piscataway,USA:IEEE Publications,2009:1492-1496.
[3] Soean B.Fuzzy Association Rule Mining Approaches for Enhancing Prediction Performance[J].Expert System s with Applications,2013,40(17):6928-6937.
[4] Kuok C M,F(xiàn)u A.Mining Fuzzy Association Rules in Database[J].SIGMOD Record,1998,27(1):41-46.
[5] Chen Zuoliang.Building an Associative Classifier Based on Fuzzy Association Rules[J].International Journal of Computational Intelligence System s,2008,1(3):262-272.
[6] Faustino C P,Novaes C P.Improving the Performance of Fuzzy Rules-based Forecasters Through Application of FCM Algorithm[J].Artificial Intelligence Review,2014,41(2):287-300.
[7] Ichihashi H.FCM Classifier for High-dimensional Data[C]//Proceedings of IEEE International Conference on Fuzzy System s.Washington D.C.,USA:IEEE Press,2008:200-206.
[8] Pi Dechang.A Modified Fuzzy C-means Algorithm for Association Rules Clustering[M].Berlin,Germany:Springer,2006.
[9] Touzi A G.Efficient Reduction of the Number of Associations Rules Using Fuzzy Clustering on the Data[C]//Proceedings of ICSI'11.Washington D.C.,USA:IEEE Press,2011:191-199.
[10] Chen Chunhao.A Fuzzy Coherent Rule Mining Algorithm[J].Applied Soft Computing,2013,13(7):3422-3428.
[11] Kuncheva L I.How Good are Fuzzy If-then Classifiers?[J].IEEE Transactions on Systems,Man,and Cybernetics,2000,30(4):501-509.
[12] 肖 波,徐前方,藺志青,等.可信關(guān)聯(lián)規(guī)則及其基于極大團(tuán)的挖掘算法[J].軟件學(xué)報,2008,19(10):2597-2610.
[13] 楊海蓉,方 紅,張 成,等.基于回溯的迭代硬閾值算法[J].自動化學(xué)報,2011,37(3):276-182.
編輯索書志
Fault Prediction of Virtual Environment Host Based on Fuzzy Data Mining
DING Sanjun1,XUE Yu2,WANG Chaoxia1,XU Lei2
(1.Shenyang Aircraft Design and Research Institute,Aviation Industry Corporation of China,Shenyang 110136,China;2.Computing College,Shenyang Aerospace University,Shenyang 110136,China)
In order to report the service failure of the host or data interrupt in the virtual environment caused by undue resource allocation,this paper proposes a fault prediction model for virtual host.This model uses logs of the virtual host to mining the fuzzy association rules of fault predictions.Aiming at large error about rule matching problem in fault predictions caused by the edge data in cluster region,the model presents the threshold iterative algorithm based on the rules for solving the log data preprocessing coefficient,improving the rule matching rate.Experimental result show s that the prediction model can predict fault before the actual service fails,with an accuracy above 85%.
virtual environment;host fault prediction;fuzzy data mining;association rule;threshold iteration
丁三軍,薛 宇,王朝霞,等.基于模糊數(shù)據(jù)挖掘的虛擬環(huán)境主機故障預(yù)測[J].計算機工程,2015,41(11):202-206.
英文引用格式:Ding Sanjun,Xue Yu,Wang Chaoxia,et al.Fault Prediction of Virtual Environment Host Based on Fuzzy Data Mining[J].Computing Engineering,2015,41(11):202-206.
1000-3428(2015)11-0202-05
A
TP18
10.3969/j.issn.1000-3428.2015.11.035
丁三軍(1968-),男,研究員、碩士,主研方向:機器學(xué)習(xí),信息安全;薛 宇,碩士研究生;王朝霞,研究員、碩士;徐 蕾,教授。
2014-09-25
2014-12-02 E-m ail:dsanjun@163.com