本發(fā)明涉及數(shù)據(jù)庫檢測領(lǐng)域,特別涉及一種RRD數(shù)據(jù)庫的檢測的方法及系統(tǒng)。
背景技術(shù):
隨著云數(shù)據(jù)中心管理平臺(例如浪潮云?!ぴ茢?shù)據(jù)中心管理平臺)中檢測項數(shù)量的劇增,監(jiān)測范圍增廣,產(chǎn)生的RRD(Round Robin Database tool,存儲數(shù)據(jù)的方式)數(shù)據(jù)庫個數(shù)日益增多,RRD數(shù)據(jù)庫不能夠持續(xù)更新的個數(shù)也相應(yīng)增多,因此確定RRD數(shù)據(jù)庫不能夠持續(xù)更新的原因和時間工作量急劇增加,由于傳統(tǒng)的依賴手工檢測與修復(fù)的方法,費時費力又乏味,準確性很大程度上依賴檢測人員的工作情況;因此,如何方便快速了解RRD數(shù)據(jù)庫不能夠持續(xù)更新的原因和時間,同時能夠智能快速解決不能持續(xù)更新的問題,是本領(lǐng)域技術(shù)人員需要解決的技術(shù)問題。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的是提供一種RRD數(shù)據(jù)庫的檢測的方法及系統(tǒng),輪詢檢測和智能修復(fù)功能能夠快速、智能解決RRD數(shù)據(jù)庫不能持續(xù)更新的原因,以及了解中斷更新的時間段,智能修復(fù)大部分問題使其能夠持續(xù)更新。
為解決上述技術(shù)問題,本發(fā)明提供一種RRD數(shù)據(jù)庫的檢測的方法,包括:
按照預(yù)定周期輪詢檢測各RRD數(shù)據(jù)庫的更新時間,確定未按時更新的異常RRD數(shù)據(jù)庫,將所述異常RRD數(shù)據(jù)庫記錄到更新異常文件中;
利用異常分析程序分析所述更新異常文件中的異常RRD數(shù)據(jù)庫,確定第一異常RRD數(shù)據(jù)庫的異常原因,并執(zhí)行異常原因?qū)?yīng)的異常處理操作;
確定所述更新異常文件未有異常原因的異常RRD數(shù)據(jù)庫,查找監(jiān)控插件中對應(yīng)異常RRD數(shù)據(jù)庫的日志信息,并根據(jù)所述日志信息進行分析,確定第二異常RRD數(shù)據(jù)庫的異常原因,并執(zhí)行異常原因?qū)?yīng)的異常處理操作;
確定所述更新異常文件未有異常原因的異常RRD數(shù)據(jù)庫,并將未有異常原因的異常RRD數(shù)據(jù)庫發(fā)送給用戶。
其中,按照預(yù)定周期輪詢檢測各RRD數(shù)據(jù)庫的更新時間,確定未按時更新的異常RRD數(shù)據(jù)庫,將所述異常RRD數(shù)據(jù)庫記錄到更新異常文件中,包括:
按照預(yù)定周期輪詢檢測各RRD數(shù)據(jù)庫的更新時間,確定未按時更新的異常RRD數(shù)據(jù)庫的名稱,將所述名稱和對應(yīng)的輪詢時間作為一個事件條目記錄到更新異常文件中。
其中,利用異常分析程序分析所述更新異常文件中的異常RRD數(shù)據(jù)庫,確定第一異常RRD數(shù)據(jù)庫的異常原因,并執(zhí)行異常原因?qū)?yīng)的異常處理操作,包括:
依次利用異常分析程序分析所述更新異常文件中的事件條目,判斷所述事件條目對應(yīng)的資源是否刪除,若刪除,則刪除所述事件條目對應(yīng)的異常RRD數(shù)據(jù)庫,并刪除所述事件條目;
若未刪除,則判斷所述事件條目對應(yīng)的監(jiān)控插件是否停止工作;若停止工作,則重啟對應(yīng)的監(jiān)控插件,并記錄所述事件條目對應(yīng)的異常原因和異常處理時間;
若未停止工作,則判斷所述事件條目對應(yīng)的資源是否停止監(jiān)控;若停止監(jiān)控,則記錄所述事件條目對應(yīng)的異常原因和異常處理時間;
若未停止監(jiān)控,則判斷所述事件條目對應(yīng)的資源是否斷開連接;若斷開連接,則掃描并連接對應(yīng)的資源,并對該資源進行監(jiān)控,記錄所述事件條目對應(yīng)的異常原因和異常處理時間。
其中,確定所述更新異常文件未有異常原因的異常RRD數(shù)據(jù)庫,查找監(jiān)控插件中對應(yīng)異常RRD數(shù)據(jù)庫的日志信息,并根據(jù)所述日志信息進行分析,確定第二異常RRD數(shù)據(jù)庫的異常原因,并執(zhí)行異常原因?qū)?yīng)的異常處理操作,包括:
確定所述更新異常文件中未記錄異常原因的異常RRD數(shù)據(jù)庫;
查找監(jiān)控插件中對應(yīng)異常RRD數(shù)據(jù)庫的日志信息,并根據(jù)所述日志信息進行分析,確定第二異常RRD數(shù)據(jù)庫的異常原因,并記錄所述事件條目對應(yīng)的異常原因;
查找異常處理文件中是否存在所述異常原因?qū)?yīng)的解決方法,若存在,則根據(jù)所述解決方法進行異常處理操作,并記錄所述事件條目對應(yīng)的異常處理時間。
其中,確定所述更新異常文件未有異常原因的異常RRD數(shù)據(jù)庫,并將未有異常原因的異常RRD數(shù)據(jù)庫發(fā)送給用戶,包括:
確定所述更新異常文件未記錄異常原因的異常RRD數(shù)據(jù)庫;
將未記錄異常原因的異常RRD數(shù)據(jù)庫對應(yīng)的事件條目作為錯誤信息發(fā)送給用戶;
將已記錄異常原因且未記錄異常處理時間的異常RRD數(shù)據(jù)庫對應(yīng)的事件條目作為告警信息發(fā)送給用戶;
將所述更新異常文件中整個異常原因和異常處理時間作為通知信息發(fā)送給用戶。
其中,將未有異常原因的異常RRD數(shù)據(jù)庫發(fā)送給用戶之后,還包括:
將用戶確認的未有異常原因的異常RRD數(shù)據(jù)庫對應(yīng)的異常原因及異常處理時間記錄到事件條目對應(yīng)的異常原因和異常處理時間中;
將用戶確認的未有異常原因的異常RRD數(shù)據(jù)庫對應(yīng)的解決方法記錄到所述異常處理文件中,并注明對應(yīng)的異常原因。
本發(fā)明提供一種RRD數(shù)據(jù)庫的檢測的系統(tǒng),包括:
輪詢檢測模塊,用于按照預(yù)定周期輪詢檢測各RRD數(shù)據(jù)庫的更新時間,確定未按時更新的異常RRD數(shù)據(jù)庫,將所述異常RRD數(shù)據(jù)庫記錄到更新異常文件中;
原因分析模塊,用于利用異常分析程序分析所述更新異常文件中的異常RRD數(shù)據(jù)庫,確定第一異常RRD數(shù)據(jù)庫的異常原因,并執(zhí)行異常原因?qū)?yīng)的異常處理操作;
智能修復(fù)模塊,用于確定所述更新異常文件未有異常原因的異常RRD數(shù)據(jù)庫,查找監(jiān)控插件中對應(yīng)異常RRD數(shù)據(jù)庫的日志信息,并根據(jù)所述日志信息進行分析,確定第二異常RRD數(shù)據(jù)庫的異常原因,并執(zhí)行異常原因?qū)?yīng)的異常處理操作;
通知告警模塊,用于確定所述更新異常文件未有異常原因的異常RRD數(shù)據(jù)庫,并將未有異常原因的異常RRD數(shù)據(jù)庫發(fā)送給用戶。
其中,所述輪詢檢測模塊具體為按照預(yù)定周期輪詢檢測各RRD數(shù)據(jù)庫的更新時間,確定未按時更新的異常RRD數(shù)據(jù)庫的名稱,將所述名稱和對應(yīng)的輪詢時間作為一個事件條目記錄到更新異常文件中的模塊。
其中,所述通知告警模塊包括:
錯誤信息發(fā)送單元,用于確定所述更新異常文件未記錄異常原因的異常RRD數(shù)據(jù)庫;將未記錄異常原因的異常RRD數(shù)據(jù)庫對應(yīng)的事件條目作為錯誤信息發(fā)送給用戶;
告警信息發(fā)送單元,用于確定所述更新異常文件已記錄異常原因且未記錄異常處理時間的異常RRD數(shù)據(jù)庫作為告警信息發(fā)送給用戶;
通知信息發(fā)送單元,用于將所述更新異常文件中整個異常原因和異常處理時間作為通知信息發(fā)送給用戶。
其中,所述通知告警模塊還包括:
更新單元,用于將用戶確認的未有異常原因的異常RRD數(shù)據(jù)庫對應(yīng)的異常原因及異常處理時間記錄到事件條目對應(yīng)的異常原因和異常處理時間中;將用戶確認的未有異常原因的異常RRD數(shù)據(jù)庫對應(yīng)的解決方法記錄到所述異常處理文件中,并注明對應(yīng)的異常原因。
本發(fā)明所提供的RRD數(shù)據(jù)庫的檢測的方法,通過輪詢檢測和智能修復(fù)機制,能夠解決大部分不能持續(xù)更新的問題,及時的把極少部分不能解決的問題,以告警的方式把異常RRD數(shù)據(jù)庫通知給用戶,以便用戶可以及時解決異常RRD數(shù)據(jù)庫不能及時更新的問題;這種機制可以解決掉大部分問題,并把不能解決的問題定位后通知用戶;進一步,該方法還能使用戶了解RRD數(shù)據(jù)庫不能持續(xù)更新的時間段。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。
圖1為本發(fā)明實施例所提供的RRD數(shù)據(jù)庫的檢測的方法的流程圖;
圖2為本發(fā)明實施例所提供的RRD數(shù)據(jù)庫的檢測的方法的處理機制示意圖;
圖3為本發(fā)明實施例所提供的RRD數(shù)據(jù)庫的檢測的系統(tǒng)的構(gòu)架示意圖。
具體實施方式
本發(fā)明的核心是提供一種RRD數(shù)據(jù)庫的檢測的方法及系統(tǒng),輪詢檢測和智能修復(fù)功能能夠快速、智能解決RRD數(shù)據(jù)庫不能持續(xù)更新的原因,以及了解中斷更新的時間段,智能修復(fù)大部分問題使其能夠持續(xù)更新。
為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
請參考圖1,圖1為本發(fā)明實施例所提供的RRD數(shù)據(jù)庫的檢測的方法的流程圖;該方法可以包括:
S100、按照預(yù)定周期輪詢檢測各RRD數(shù)據(jù)庫的更新時間,確定未按時更新的異常RRD數(shù)據(jù)庫,將所述異常RRD數(shù)據(jù)庫記錄到更新異常文件中;
其中,該步驟通過輪詢機制主要是為了能夠及時獲取各RRD數(shù)據(jù)庫更新狀態(tài),以便及時發(fā)現(xiàn)未能及時更新的RRD數(shù)據(jù)庫。預(yù)定周期的設(shè)置可以根據(jù)用戶的需求進行,該預(yù)定周期也短則發(fā)現(xiàn)異常RRD數(shù)據(jù)庫越及時,例如實時進行輪詢,或者實時對每個RRD數(shù)據(jù)庫進行檢測。未按時更新的判斷是根據(jù)輪詢獲取的RRD數(shù)據(jù)庫的更新時間進行判斷。后續(xù)可以將RRD數(shù)據(jù)庫簡稱為數(shù)據(jù)庫;例如一個數(shù)據(jù)庫上次記錄的更新時間為2016.07.11.13.12.12,這次輪詢記錄的更新時間仍為2016.07.11.13.12.12,則說明該數(shù)據(jù)庫為異常數(shù)據(jù)庫。
記錄到更新異常文件中表征異常數(shù)據(jù)庫的標(biāo)識信息,例如可以是數(shù)據(jù)庫的名稱等。具體的,該步驟按照預(yù)定周期輪詢檢測各RRD數(shù)據(jù)庫的更新時間,確定未按時更新的異常RRD數(shù)據(jù)庫的名稱,將所述名稱和對應(yīng)的輪詢時間作為一個事件條目記錄到更新異常文件中。
即可以定時輪詢檢測每個RRD數(shù)據(jù)庫的更新時間,如果發(fā)現(xiàn)某個數(shù)據(jù)庫沒有實時更新,則把輪詢時間和RRD數(shù)據(jù)庫名稱作為一個事件條目也成為條目記錄到更新異常文件(如rrdException.log文件)中,繼續(xù)檢測下一個RRD文件以及按時啟動下一次輪詢。
S110、利用異常分析程序分析所述更新異常文件中的異常RRD數(shù)據(jù)庫,確定第一異常RRD數(shù)據(jù)庫的異常原因,并執(zhí)行異常原因?qū)?yīng)的異常處理操作;
其中,該方法分兩次對異常數(shù)據(jù)庫進行異常分析處理,第一次依次或者并行分析更新異常文件中的數(shù)據(jù)庫,分析過程中將能夠確認其異常原因的數(shù)據(jù)庫叫做第一異常數(shù)據(jù)庫,并按照異常原因?qū)?yīng)的異常處理操作對該數(shù)據(jù)庫進行操作。這里的原因是一些較為簡單的異常原因,因此對應(yīng)的異常處理操作也比較簡單。即可以將較為好處理的異常在該步驟進行處理。且為了之后的處理更加簡潔,可以將異常處理過的數(shù)據(jù)庫進行標(biāo)記,以避免對其進行再次操作,浪費時間。標(biāo)記可以根據(jù)用戶的需要進行,這里并不對具體的標(biāo)記方式進行限定;例如可以是將異常處理完成的數(shù)據(jù)庫從更新異常文件中刪除,或者在更新異常文件中標(biāo)記已經(jīng)處理過從異常數(shù)據(jù)庫,例如記錄處理過的異常數(shù)據(jù)庫的處理時間或異常原因或處理標(biāo)識設(shè)置為已處理等。
具體的,依次利用異常分析程序分析所述更新異常文件中的事件條目,判斷所述事件條目對應(yīng)的資源是否刪除,若刪除,則刪除所述事件條目對應(yīng)的異常RRD數(shù)據(jù)庫,并刪除所述事件條目;
若未刪除,則判斷所述事件條目對應(yīng)的監(jiān)控插件是否停止工作;若停止工作,則重啟對應(yīng)的監(jiān)控插件,并記錄所述事件條目對應(yīng)的異常原因和異常處理時間;
若未停止工作,則判斷所述事件條目對應(yīng)的資源是否停止監(jiān)控;若停止監(jiān)控,則記錄所述事件條目對應(yīng)的異常原因和異常處理時間;
若未停止監(jiān)控,則判斷所述事件條目對應(yīng)的資源是否斷開連接;若斷開連接,則掃描并連接對應(yīng)的資源,并對該資源進行監(jiān)控,記錄所述事件條目對應(yīng)的異常原因和異常處理時間。
即逐條查看rrdException.log文件,對每條信息查找原因。首先查看該資源是否已刪除,如果是,則刪除該RRD數(shù)據(jù)庫且刪除該條目。然后查看監(jiān)控插件是不是已經(jīng)掛掉,如果是則重新啟動監(jiān)控服務(wù),并把這條原因和時間追加到rrdException.log文件中對應(yīng)的信息條目中。如果以上兩種原因皆不是,則查看是否該資源已停止監(jiān)控,如果已經(jīng)對該資源停止監(jiān)控,在這條信息后追加原因及時間;如果不是,則用插件掃描一下是否能掃描到該資源,如果能夠掃描到該資源,嘗試重新連接該資源,并對其繼續(xù)監(jiān)控,并追加修復(fù)時間和原因為資源連接為斷開狀態(tài),并繼續(xù)監(jiān)控。
S120、確定所述更新異常文件未有異常原因的異常RRD數(shù)據(jù)庫,查找監(jiān)控插件中對應(yīng)異常RRD數(shù)據(jù)庫的日志信息,并根據(jù)所述日志信息進行分析,確定第二異常RRD數(shù)據(jù)庫的異常原因,并執(zhí)行異常原因?qū)?yīng)的異常處理操作;
其中,對于步驟S110并沒有檢測出異常原因的異常數(shù)據(jù)進行異常分析處理;這里可以借助監(jiān)控插件中對應(yīng)異常RRD數(shù)據(jù)庫的日志信息進行分析,以便能夠確認數(shù)據(jù)庫異常原因,將分析之后能夠確認異常原因的異常數(shù)據(jù)庫稱為第二異常RRD數(shù)據(jù)庫,根據(jù)異常原因執(zhí)行異常原因?qū)?yīng)的異常處理操作。這里可以將這種情況下可能會出現(xiàn)的異常原因進行列表,并對應(yīng)設(shè)置異常處理操作方式;則根據(jù)異常原因即可以映射找到對應(yīng)的異常處理操作。其中,異常處理操作可以放置于異常處理文件(例如learner.log)中。
同樣為了之后的處理更加簡潔,可以將異常處理過的數(shù)據(jù)庫進行標(biāo)記,以避免對其進行再次操作,浪費時間。標(biāo)記可以根據(jù)用戶的需要進行,這里并不對具體的標(biāo)記方式進行限定;例如可以是將異常處理完成的數(shù)據(jù)庫從更新異常文件中刪除,或者在更新異常文件中標(biāo)記已經(jīng)處理過從異常數(shù)據(jù)庫,例如記錄處理過的異常數(shù)據(jù)庫的處理時間或異常原因或處理標(biāo)識設(shè)置為已處理等。
具體的,確定所述更新異常文件中未記錄異常原因的異常RRD數(shù)據(jù)庫;
查找監(jiān)控插件中對應(yīng)異常RRD數(shù)據(jù)庫的日志信息,并根據(jù)所述日志信息進行分析,確定第二異常RRD數(shù)據(jù)庫的異常原因,并記錄所述事件條目對應(yīng)的異常原因;
查找異常處理文件中是否存在所述異常原因?qū)?yīng)的解決方法,若存在,則根據(jù)所述解決方法進行異常處理操作,并記錄所述事件條目對應(yīng)的異常處理時間。
即查看rrdException.log文件中,找出沒有列出原因的條目。對于這些條目,查找監(jiān)控插件的記錄日志,找到與該RRD數(shù)據(jù)庫有關(guān)的日志信息,分析出原因,追加到該條目的原因欄。分析出原因后,該模塊首先查找learner.log文件,查看是否有這種原因的解決方案,如果有,則按這種方案去解決,然后追加修復(fù)時間到相應(yīng)條目。
S130、確定所述更新異常文件未有異常原因的異常RRD數(shù)據(jù)庫,并將未有異常原因的異常RRD數(shù)據(jù)庫發(fā)送給用戶。
其中,對于步驟S110和步驟S120都沒有檢測出異常原因的異常數(shù)據(jù),說明其異常原因系統(tǒng)未能學(xué)習(xí)到,這里可以將這些數(shù)據(jù)庫發(fā)送給用戶,由用戶進行處理。相比與現(xiàn)有技術(shù)全部由人工進行數(shù)據(jù)庫異常監(jiān)控,異常原因確定到異常處理;這里僅僅將一小部分處理不了的數(shù)據(jù)庫信息發(fā)送給用戶,即將不能解決的問題定位后通知用戶,使用戶進行及時解決,極大的提高了系統(tǒng)的效率,保證異常處理的準確性。
具體的,確定所述更新異常文件未記錄異常原因的異常RRD數(shù)據(jù)庫;
將未記錄異常原因的異常RRD數(shù)據(jù)庫對應(yīng)的事件條目作為錯誤信息發(fā)送給用戶;
將已記錄異常原因且未記錄異常處理時間的異常RRD數(shù)據(jù)庫對應(yīng)的事件條目作為告警信息發(fā)送給用戶;
其中,即將不能解決的問題定位后作為錯誤信息發(fā)送給用戶。
將所述更新異常文件中整個異常原因和異常處理時間作為通知信息發(fā)送給用戶。
即查看rrdException.log文件中,把這些條目中列出錯誤原因和修復(fù)時間的,把整個條目信息作為通知信息發(fā)給用戶;列出異常原因但未記錄異常處理時間的,把整個條目信息作為告警信息發(fā)送給用戶;沒有找出列出異常原因的條目作為,作為錯誤信息發(fā)給用戶。這里將所有信息發(fā)送給用戶分成三種類型發(fā)送給用戶,即使用戶能夠及時了解到數(shù)據(jù)庫檢測的和修復(fù)的過程,又能夠使用戶快速、簡明的知道那些是未解決問題,需要由用戶進行處理的。分別發(fā)送,防止出現(xiàn)用戶遺漏的情況,提高系統(tǒng)的可靠性。
進一步,為了隨著時間的增長,提高系統(tǒng)的異常數(shù)量能力,可以根據(jù)用戶的處理過程是系統(tǒng)具有學(xué)習(xí)能力,提高系統(tǒng)的適用性??蛇x的,將用戶確認的未有異常原因的異常RRD數(shù)據(jù)庫對應(yīng)的異常原因及異常處理時間記錄到事件條目對應(yīng)的異常原因和異常處理時間中;
將用戶確認的未有異常原因的異常RRD數(shù)據(jù)庫對應(yīng)的解決方法記錄到所述異常處理文件中,并注明對應(yīng)的異常原因。
即對于這些錯誤信息,待用戶查找出原因后,手動補充到rrdException.log文件中對應(yīng)條目的原因列,最后由用戶解決這個問題,并把解決方案記錄到learner.log文件中;對于注明原因,沒有注明修復(fù)時間的,作為告警信息發(fā)給用戶,對于這些告警信息,由用戶解決這個問題,并把解決方案記錄到learner.log文件中。對于用戶手動解決的問題,由用戶把修復(fù)時間追加到對應(yīng)條目。
通過這樣的處理,步驟S120的處理能力會隨著時間的增長,越來越強大,對人工的依賴會越來越低,自動化程度越來越高,效率也會進一步提高,保證了系統(tǒng)的可靠性。
上述的具體處理過程可以參考圖2,在圖2中在原因分析模塊中查找到原因后應(yīng)查看rrdException.log文件中的下一條目信息;在智能修復(fù)模塊中,解決問題后應(yīng)查看rrdException.log文件中的下一條目信息;通知告警模塊中,發(fā)完相應(yīng)信息后應(yīng)查看rrdException.log文件中的下一條目信息。
基于上述技術(shù)方案,本發(fā)明實施例提供的RRD數(shù)據(jù)庫的檢測的方法,在輪詢檢測過程中,如果沒有定時更新RRD數(shù)據(jù)庫,首先查看該資源有沒有被刪除或者停止監(jiān)控,如果沒有,查看該資源是否是處于被連通的狀態(tài),以及查看日志文件,分析出RRD數(shù)據(jù)庫不能繼續(xù)更新的原因。然后根據(jù)不同的原因,找出對應(yīng)的解決方案,并把不同的原因和對應(yīng)的解決方法保存到指定文件,方便以后根據(jù)原因找到對應(yīng)的解決方案;如果某些原因不能智能的自動解決,則發(fā)送告警信息給用戶,這時,需要用戶手動解決。該機制采用了輪詢檢測機制定時查看每個RRD數(shù)據(jù)庫的是否能夠持續(xù)更新,并自動分析原因,智能的解決問題的方法,可以大大的提高RRD數(shù)據(jù)庫的持續(xù)更新度,盡可能使保存的監(jiān)測項的歷史性能值能夠在時間上連續(xù),并且能夠把每個RRD數(shù)據(jù)庫不能持續(xù)更新的時間及原因記錄到指定文件,方便用戶查閱。
下面對本發(fā)明實施例提供的RRD數(shù)據(jù)庫的檢測的系統(tǒng)進行介紹,下文描述的RRD數(shù)據(jù)庫的檢測的系統(tǒng)與上文描述的RRD數(shù)據(jù)庫的檢測的方法可相互對應(yīng)參照。
請參考圖3,圖3為本發(fā)明實施例所提供的RRD數(shù)據(jù)庫的檢測的系統(tǒng)的構(gòu)架示意圖,包括:輪詢檢測模塊100、原因分析模塊200、智能修復(fù)模塊300、通知告警模塊400四種模塊。另外,還用到兩個文件,保存RRD檢測異常的rrdException.log文件和保存異常原因及對應(yīng)解決方案的learner.log文,該圖還注明了每個文件的文件結(jié)構(gòu)以及各個模塊與這兩個文件的讀寫關(guān)系。包括:
輪詢檢測模塊100,用于按照預(yù)定周期輪詢檢測各RRD數(shù)據(jù)庫的更新時間,確定未按時更新的異常RRD數(shù)據(jù)庫,將所述異常RRD數(shù)據(jù)庫記錄到更新異常文件中;
原因分析模塊200,用于利用異常分析程序分析所述更新異常文件中的異常RRD數(shù)據(jù)庫,確定第一異常RRD數(shù)據(jù)庫的異常原因,并執(zhí)行異常原因?qū)?yīng)的異常處理操作;
智能修復(fù)模塊300,用于確定所述更新異常文件未有異常原因的異常RRD數(shù)據(jù)庫,查找監(jiān)控插件中對應(yīng)異常RRD數(shù)據(jù)庫的日志信息,并根據(jù)所述日志信息進行分析,確定第二異常RRD數(shù)據(jù)庫的異常原因,并執(zhí)行異常原因?qū)?yīng)的異常處理操作;
通知告警模塊400,用于確定所述更新異常文件未有異常原因的異常RRD數(shù)據(jù)庫,并將未有異常原因的異常RRD數(shù)據(jù)庫發(fā)送給用戶。
其中,本實施例的結(jié)構(gòu)包括輪詢檢測模塊,該模塊定時輪詢檢測每個RRD數(shù)據(jù)庫是否持續(xù)更新。設(shè)計原因分析模塊,該模塊能夠排查是不是因為資源已刪除,監(jiān)控服務(wù)是否已停止,資源是否已手動停止監(jiān)控,資源是否已斷開連接等原因,并相應(yīng)的解決這些問題。設(shè)計智能修復(fù)模塊,當(dāng)讀取監(jiān)控插件的日志文件后并找出原因后,能夠智能的解決相應(yīng)問題。設(shè)計通知告警模塊,該模塊能夠?qū)⒉荒苤悄芙鉀Q的以及檢測不出原因的異常情況,及時的通知用戶進行處理;能夠智能解決的,也會作為通知信息發(fā)給用戶,以便用戶確認RRD數(shù)據(jù)庫中斷的時間。
可選的,所述輪詢檢測模塊100具體為按照預(yù)定周期輪詢檢測各RRD數(shù)據(jù)庫的更新時間,確定未按時更新的異常RRD數(shù)據(jù)庫的名稱,將所述名稱和對應(yīng)的輪詢時間作為一個事件條目記錄到更新異常文件中的模塊。
可選的,所述通知告警模塊400包括:
錯誤信息發(fā)送單元,用于確定所述更新異常文件未記錄異常原因的異常RRD數(shù)據(jù)庫;將未記錄異常原因的異常RRD數(shù)據(jù)庫對應(yīng)的事件條目作為錯誤信息發(fā)送給用戶;
告警信息發(fā)送單元,用于確定所述更新異常文件已記錄異常原因且未記錄異常處理時間的異常RRD數(shù)據(jù)庫作為告警信息發(fā)送給用戶;
通知信息發(fā)送單元,用于將所述更新異常文件中整個異常原因和異常處理時間作為通知信息發(fā)送給用戶。
可選的,所述通知告警模塊400還包括:
更新單元,用于將用戶確認的未有異常原因的異常RRD數(shù)據(jù)庫對應(yīng)的異常原因及異常處理時間記錄到事件條目對應(yīng)的異常原因和異常處理時間中;將用戶確認的未有異常原因的異常RRD數(shù)據(jù)庫對應(yīng)的解決方法記錄到所述異常處理文件中,并注明對應(yīng)的異常原因。
基于上述技術(shù)方案,該系統(tǒng)通過輪詢檢測和智能修復(fù)機制,能夠解決大部分不能持續(xù)更新的問題,及時的把極少部分不能解決的問題,以告警的方式把數(shù)據(jù)庫名字和檢測時間通知給用戶。這種機制可以解決掉大部分問題,并把不能解決的問題定位后通知用戶,同時,還能使用戶了解RRD數(shù)據(jù)庫不能持續(xù)更新的時間段。
說明書中各個實施例采用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似部分互相參見即可。對于實施例公開的裝置而言,由于其與實施例公開的方法相對應(yīng),所以描述的比較簡單,相關(guān)之處參見方法部分說明即可。
專業(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ì)中。
以上對本發(fā)明所提供的RRD數(shù)據(jù)庫的檢測的方法及系統(tǒng)進行了詳細介紹。本文中應(yīng)用了具體個例對本發(fā)明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想。應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以對本發(fā)明進行若干改進和修飾,這些改進和修飾也落入本發(fā)明權(quán)利要求的保護范圍內(nèi)。