本發(fā)明涉及云計算技術(shù)領(lǐng)域,特別是涉及一種云平臺故障預(yù)測診斷系統(tǒng)。
背景技術(shù):
隨著云計算技術(shù)的快速發(fā)展,對計算資源、存儲資源和網(wǎng)絡(luò)資源統(tǒng)一管理和編排的技術(shù)發(fā)展的越來越成熟,使得云平臺中計算、存儲、網(wǎng)絡(luò)和虛擬化操作系統(tǒng)等各種元素緊密地結(jié)合在一起,且規(guī)模越來越大。
在云平臺中,如何及時對故障進行診斷,是目前本領(lǐng)域技術(shù)人員亟需解決的技術(shù)問題。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的是提供一種云平臺故障預(yù)測診斷系統(tǒng),以及時對故障進行診斷,獲得故障結(jié)論,為云平臺的正常運行提供有力保障,可以降低云平臺的維護成本,提高數(shù)據(jù)中心的可用性。
為解決上述技術(shù)問題,本發(fā)明提供如下技術(shù)方案:
一種云平臺故障預(yù)測診斷系統(tǒng),包括故障預(yù)測模塊和深度檢測診斷模塊,其中,
所述故障預(yù)測模塊,用于收集云平臺中各種資源的運行數(shù)據(jù),基于收集到的各類數(shù)據(jù)預(yù)測是否存在故障,及可能存在的故障的故障類型,并將所述故障類型發(fā)送給所述深度檢測診斷模塊;
所述深度檢測診斷模塊,用于依據(jù)所述故障類型對故障進行深度檢測和診斷,獲得故障結(jié)論。
在本發(fā)明的一種具體實施方式中,
所述深度檢測診斷模塊,具體用于依據(jù)所述故障類型,確定故障是否與網(wǎng)絡(luò)相關(guān);如果是,則啟動診斷進程或者虛擬機發(fā)送測試包,對故障進行深度檢測診斷,獲得故障結(jié)論。
在本發(fā)明的一種具體實施方式中,
所述深度檢測診斷模塊,具體用于依據(jù)所述故障類型,確定故障是否與存儲相關(guān);如果是,則啟動診斷進程或者虛擬機存儲、讀取測試文件,對故障進行深度檢測診斷,獲得故障結(jié)論。
在本發(fā)明的一種具體實施方式中,
所述深度檢測診斷模塊,具體用于依據(jù)所述故障類型,確定故障是否與計算相關(guān);如果是,則啟動診斷進程或者虛擬機存儲、讀取內(nèi)存數(shù)據(jù),對故障進行深度檢測診斷,獲得故障結(jié)論。
在本發(fā)明的一種具體實施方式中,
所述深度檢測診斷模塊,具體用于依據(jù)所述故障類型,確定故障是否與虛擬化軟件相關(guān);如果是,則啟動虛擬機分配、存儲網(wǎng)絡(luò),對故障進行深度檢測診斷,獲得故障結(jié)論。
在本發(fā)明的一種具體實施方式中,
所述深度檢測診斷模塊,具體用于依據(jù)所述故障類型,確定故障是否為硬件損傷類故障或環(huán)境故障;如果是,則直接記錄所述故障類型。
在本發(fā)明的一種具體實施方式中,
所述深度檢測診斷模塊,還用于確定所述故障結(jié)論是否符合預(yù)設(shè)的反饋條件;如果是,則將所述故障結(jié)論反饋給所述故障預(yù)測模塊;
所述故障預(yù)測模塊,還用于在接收到所述深度檢測診斷模塊反饋的故障結(jié)論時,基于收集到的各類數(shù)據(jù)和所述故障結(jié)論預(yù)測可能存在的故障的故障類型,重復執(zhí)行所述將所述故障類型發(fā)送給所述深度檢測診斷模塊的步驟。
在本發(fā)明的一種具體實施方式中,
所述深度檢測診斷模塊,還用于在根據(jù)所述故障結(jié)論,確定存在的故障的具體內(nèi)容時,進行故障記錄。
在本發(fā)明的一種具體實施方式中,還包括故障修復模塊,
所述深度檢測診斷模塊,還用于在確定存在的故障的具體內(nèi)容時,確定存在的故障是否符合預(yù)設(shè)的修復條件;如果是,則啟用所述故障修復模塊對所述存在的故障進行修復。
在本發(fā)明的一種具體實施方式中,所述故障類型包括資源配置類型、器件物理損傷類型、環(huán)境類型、虛擬化軟件類型、未知類型。
應(yīng)用本發(fā)明實施例所提供的技術(shù)方案,故障預(yù)測模塊收集云平臺中各種資源的運行數(shù)據(jù),基于收集到的各類數(shù)據(jù)預(yù)測是否存在故障,及可能存在的故障的故障類型,將故障類型發(fā)送給深度檢測診斷模塊,深度檢測診斷模塊依據(jù)該故障類型對故障進行深度檢測和診斷,獲得故障結(jié)論。及時對云平臺各資源的故障進行診斷,獲得故障結(jié)論,為云平臺的正常運行提供有力保障,可以降低云平臺的維護成本,提高數(shù)據(jù)中心的可用性。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實施例中云平臺故障預(yù)測診斷系統(tǒng)的一種結(jié)構(gòu)示意圖;
圖2為本發(fā)明實施例中資源運行數(shù)據(jù)及故障類型示意圖;
圖3為本發(fā)明實施例中云平臺故障預(yù)測診斷系統(tǒng)的另一種結(jié)構(gòu)示意圖。
具體實施方式
為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面結(jié)合附圖和具體實施方式對本發(fā)明作進一步的詳細說明。顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
參見圖1所示,為本發(fā)明實施例所提供的一種云平臺故障預(yù)測診斷系統(tǒng)的結(jié)構(gòu)示意圖,該系統(tǒng)包括故障預(yù)測模塊110和深度檢測診斷模塊120。
故障預(yù)測模塊110,用于收集云平臺中各種資源的運行數(shù)據(jù),基于收集到的各類數(shù)據(jù)預(yù)測是否存在故障,及可能存在的故障的故障類型,并將故障類型發(fā)送給深度檢測診斷模塊120;
深度檢測診斷模塊120,用于依據(jù)故障類型對故障進行深度檢測和診斷,獲得故障結(jié)論。
在本發(fā)明實施例中,故障預(yù)測模塊110可以與構(gòu)建云平臺的各業(yè)務(wù)系統(tǒng)、業(yè)務(wù)模塊連接,通過監(jiān)測,可以獲得計算資源、存儲資源和網(wǎng)絡(luò)資源等的運行狀態(tài)數(shù)據(jù)和告警數(shù)據(jù),對各種資源的運行數(shù)據(jù)進行收集?;谑占降母黝悢?shù)據(jù),故障預(yù)測模塊110可以預(yù)測當前是否存在故障及可能存在的故障的故障類型。
可以預(yù)先設(shè)定各類數(shù)據(jù)與故障類型的對應(yīng)關(guān)系。
舉例而言,如圖2所示,故障預(yù)測模塊110可以收集到的各種資源的運行數(shù)據(jù)可以有以下幾類:
第一類數(shù)據(jù):云平臺資源運行狀態(tài)數(shù)據(jù)。如服務(wù)器CPU占用率、虛擬機CPU占用率、服務(wù)器內(nèi)存占用率、虛擬機內(nèi)存占用率、網(wǎng)絡(luò)連接帶寬占用率、網(wǎng)絡(luò)連接錯包增長率、虛擬機IOPS、服務(wù)器IOPS等;
第二類數(shù)據(jù):硬件或芯片上記錄的告警數(shù)據(jù)。如CPU硬件告警數(shù)據(jù)、內(nèi)存硬件告警數(shù)據(jù)、存儲硬件告警數(shù)據(jù)、網(wǎng)絡(luò)硬件告警數(shù)據(jù)、其它硬件告警數(shù)據(jù)等;
第三類數(shù)據(jù):應(yīng)用程序告警接口告警數(shù)據(jù)。云操作系統(tǒng)可以給運行在服務(wù)器上的進程或者運行在虛擬機里的進程提供告警接口,應(yīng)用程序進程可以調(diào)用相關(guān)接口給云平臺報警,如CPU資源不足、內(nèi)存不夠、硬盤不夠或訪問太慢、網(wǎng)絡(luò)帶寬不足等;
第四類數(shù)據(jù):模擬應(yīng)用檢測系統(tǒng)告警數(shù)據(jù)。可以啟用模擬程序探測系統(tǒng)是否潛在存在故障,模擬程序可以是服務(wù)器上的進程或虛擬機,可以是web訪問應(yīng)用或是數(shù)據(jù)庫應(yīng)用;
第五類數(shù)據(jù):各種環(huán)境傳感器告警數(shù)據(jù)。可以通過云平臺中各種傳感器報上來的告警數(shù)據(jù)判斷環(huán)境是否存在問題導致云平臺中故障發(fā)生,比如溫度、濕度、電量、煙霧、粉塵、水浸、震動等環(huán)境變量是否異常;
第六類數(shù)據(jù):其它采集數(shù)據(jù)??梢酝ㄟ^非上述情況采集到的其它有利于分析故障的數(shù)據(jù)。
故障預(yù)測模塊110基于收集到的各類數(shù)據(jù),可以預(yù)測可能存在的故障的故障類型有以下幾種,如圖2所示:
第一種類型:資源配置類型,如CPU超額配置、內(nèi)存超額配置、存儲超額配置、網(wǎng)絡(luò)擁塞等;
第二種類型:器件物理損傷類型,如CPU物理損傷、內(nèi)存物理損傷、存儲物理損傷、網(wǎng)絡(luò)物理損傷、其它器件損傷等;
第三種類型:環(huán)境類型,如溫度異常、濕度異常、電量異常、煙霧過大、粉塵過低、有水浸、有異常震動等;
第四種類型:虛擬化軟件類型,如硬件資源足夠但不能被分配,硬件工作正常但上層應(yīng)用不能正常使用等;
第五種類型:未知類型,預(yù)測可能存在故障,但和已知故障類型不匹配。
故障預(yù)測模塊110預(yù)測可能存在的故障的故障類型后,可以將故障類型發(fā)送給深度檢測診斷模塊120,該故障類型為故障預(yù)測模塊110初步判斷得到的,為深度檢測診斷模塊120提供對故障的深度檢測診斷依據(jù)。深度檢測診斷模塊120依據(jù)故障類型可以對故障進行深度檢測和診斷,獲得故障結(jié)論。
在本發(fā)明的一種具體實施方式中,深度檢測診斷模塊120,具體用于依據(jù)故障類型,確定故障是否與網(wǎng)絡(luò)相關(guān);如果是,則啟動診斷進程或者虛擬機發(fā)送測試包,對故障進行深度檢測診斷,獲得故障結(jié)論。
或者,深度檢測診斷模塊120,具體用于依據(jù)故障類型,確定故障是否與存儲相關(guān);如果是,則啟動診斷進程或者虛擬機存儲、讀取測試文件,對故障進行深度檢測診斷,獲得故障結(jié)論。
或者,深度檢測診斷模塊120,具體用于依據(jù)故障類型,確定故障是否與計算相關(guān);如果是,則啟動診斷進程或者虛擬機存儲、讀取內(nèi)存數(shù)據(jù),對故障進行深度檢測診斷,獲得故障結(jié)論。
或者,深度檢測診斷模塊120,具體用于依據(jù)故障類型,確定故障是否與虛擬化軟件相關(guān);如果是,則啟動虛擬機分配、存儲網(wǎng)絡(luò),對故障進行深度檢測診斷,獲得故障結(jié)論。
或者,深度檢測診斷模塊120,具體用于依據(jù)故障類型,確定故障是否為硬件損傷類故障或環(huán)境故障;如果是,則直接記錄故障類型。
在本發(fā)明實施例中,深度檢測診斷模塊120依據(jù)故障類型可以確定可能發(fā)生的故障對應(yīng)的資源。
如果依據(jù)故障類型,確定故障與網(wǎng)絡(luò)相關(guān),則可以啟動診斷進程或者虛擬機發(fā)送測試包,對故障進行深度檢測診斷,確定哪里的網(wǎng)絡(luò)資源存在故障,如網(wǎng)絡(luò)擁塞,或者網(wǎng)絡(luò)斷開等,獲得故障結(jié)論。
如果依據(jù)故障類型,確定故障與存儲相關(guān),則可以啟動診斷進程或者虛擬機存儲、讀取測試文件,對故障進行深度檢測診斷,確定哪里的存儲資源存在故障,獲得故障結(jié)論。
如果依據(jù)故障類型,確定故障與計算相關(guān),則可以啟動診斷進程或者虛擬機存儲、讀取內(nèi)存數(shù)據(jù),對故障進行深度檢測診斷,確定哪里的計算資源存在故障,獲得故障結(jié)論。
如果依據(jù)故障類型,確定故障與虛擬化軟件相關(guān),則可以啟動虛擬機分配、存儲網(wǎng)絡(luò),對故障進行深度檢測診斷,獲得故障結(jié)論。
如果依據(jù)故障類型,確定故障為硬件損傷類故障或環(huán)境故障,則可以直接記錄該故障類型。
在實際應(yīng)用中,對于物理資源中故障的深度檢測診斷,可以啟動診斷進程,對于虛擬資源中故障的深度檢測診斷,可以啟動虛擬機。獲得的故障結(jié)論為故障的具體內(nèi)容。
在本發(fā)明的一種具體實施方式中,深度檢測診斷模塊120,還可以用于確定故障結(jié)論是否符合預(yù)設(shè)的反饋條件;如果是,則將故障結(jié)論反饋給故障預(yù)測模塊110;
故障預(yù)測模塊110,還用于在接收到深度檢測診斷模塊120反饋的故障結(jié)論時,基于收集到的各類數(shù)據(jù)和故障結(jié)論預(yù)測可能存在的故障的故障類型,重復執(zhí)行將故障類型發(fā)送給深度檢測診斷模塊120的步驟。
在本發(fā)明實施例中,深度檢測診斷模塊120還可以在獲得故障結(jié)論后,確定故障結(jié)論是否符合預(yù)設(shè)的反饋條件,如果是,則可以將故障結(jié)論反饋給故障預(yù)測模塊110,這樣,故障預(yù)測模塊110在接收到深度檢測診斷模塊120反饋的故障結(jié)論時,可以基于收集到的各類數(shù)據(jù)和故障結(jié)論預(yù)測可能存在的故障的故障類型,重復執(zhí)行將故障類型發(fā)送給深度檢測診斷模塊120的步驟。進而使深度檢測診斷模塊120再對故障進行深度檢測診斷。
反饋條件可以根據(jù)實際情況進行設(shè)定和調(diào)整,比如,故障結(jié)論不能表明故障的具體內(nèi)容時,認為該故障結(jié)論符合反饋條件,或者,故障結(jié)論表明不存在故障時,認為該故障結(jié)論符合反饋條件。
在本發(fā)明的一種具體實施方式中,深度檢測診斷模塊120,還用于在根據(jù)故障結(jié)論,確定存在的故障的具體內(nèi)容時,進行故障記錄。
深度檢測診斷模塊120根據(jù)故障結(jié)論,可以確定是否存在故障,如果不存在故障,則可以不做任何操作,或者將故障結(jié)論反饋給故障預(yù)測模塊110,以便再次進行預(yù)測和深度檢測診斷,如果存在故障,且可以確定存在的故障的具體內(nèi)容,則可以進行故障記錄,如記錄故障的具體內(nèi)容,故障發(fā)生時間等,方便運維人員對故障進行查看,對云平臺資源進行維護。
在本發(fā)明的一個實施例中,該系統(tǒng)還可以包括故障修復模塊130,
深度檢測診斷模塊120,還用于在確定存在的故障的具體內(nèi)容時,確定存在的故障是否符合預(yù)設(shè)的修復條件;如果是,則啟用故障修復模塊130對存在的故障進行修復。
在本發(fā)明實施例中,可以根據(jù)實際情況預(yù)先設(shè)定故障的修復條件。在確定存在的故障的具體內(nèi)容時,可以確定存在的故障是否符合預(yù)設(shè)的修復條件,如果符合,則可以啟用故障修復模塊130對存在的故障進行修復,如控制某虛擬機重新啟動等。
應(yīng)用本發(fā)明實施例所提供的系統(tǒng),故障預(yù)測模塊收集云平臺中各種資源的運行數(shù)據(jù),基于收集到的各類數(shù)據(jù)預(yù)測是否存在故障,及可能存在的故障的故障類型,將故障類型發(fā)送給深度檢測診斷模塊,深度檢測診斷模塊依據(jù)該故障類型對故障進行深度檢測和診斷,獲得故障結(jié)論。及時對云平臺各資源的故障進行診斷,獲得故障結(jié)論,為云平臺的正常運行提供有力保障,可以降低云平臺的維護成本,提高數(shù)據(jù)中心的可用性。
本說明書中各個實施例采用遞進的方式描述,每個實施例重點說明的都是與其它實施例的不同之處,各個實施例之間相同或相似部分互相參見即可。
專業(yè)人員還可以進一步意識到,結(jié)合本文中所公開的實施例描述的各示例的單元及算法步驟,能夠以電子硬件、計算機軟件或者二者的結(jié)合來實現(xiàn),為了清楚地說明硬件和軟件的可互換性,在上述說明中已經(jīng)按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計約束條件。專業(yè)技術(shù)人員可以對每個特定的應(yīng)用來使用不同方法來實現(xiàn)所描述的功能,但是這種實現(xiàn)不應(yīng)認為超出本發(fā)明的范圍。
結(jié)合本文中所公開的實施例描述的方法或算法的步驟可以直接用硬件、處理器執(zhí)行的軟件模塊,或者二者的結(jié)合來實施。軟件模塊可以置于隨機存儲器(RAM)、內(nèi)存、只讀存儲器(ROM)、電可編程ROM、電可擦除可編程ROM、寄存器、硬盤、可移動磁盤、CD-ROM、或技術(shù)領(lǐng)域內(nèi)所公知的任意其它形式的存儲介質(zhì)中。
本文中應(yīng)用了具體個例對本發(fā)明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的技術(shù)方案及其核心思想。應(yīng)當指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以對本發(fā)明進行若干改進和修飾,這些改進和修飾也落入本發(fā)明權(quán)利要求的保護范圍內(nèi)。