一種監(jiān)測(cè)主機(jī)硬件負(fù)載的方法和系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,具體涉及一種適用于多主機(jī)集群系統(tǒng)的監(jiān)測(cè)主機(jī)硬件負(fù)載的方法和系統(tǒng)。
【背景技術(shù)】
[0002]近年來,多主機(jī)集群系統(tǒng)已經(jīng)成為計(jì)算機(jī)技術(shù)發(fā)展的新趨勢(shì)。多主機(jī)集群方式通過將多個(gè)單一獨(dú)立的主機(jī)有機(jī)的結(jié)合串聯(lián)成一個(gè)系統(tǒng)性的整體,并依托存儲(chǔ)區(qū)域網(wǎng)絡(luò),對(duì)外提供一個(gè)大容量文件系統(tǒng)的共享存儲(chǔ)應(yīng)用。實(shí)現(xiàn)了存儲(chǔ)區(qū)域網(wǎng)絡(luò)內(nèi)的多并發(fā)用戶操作和大數(shù)據(jù)傳輸。其優(yōu)點(diǎn)是,由于數(shù)據(jù)是分布在集群系統(tǒng)不同的主機(jī)的存儲(chǔ)單元上的,即使某幾個(gè)主機(jī)宕機(jī)或存儲(chǔ)單元不可用,也不會(huì)造成數(shù)據(jù)的丟失。
[0003]但是宕機(jī)或者存儲(chǔ)單元不可用仍然會(huì)對(duì)整體系統(tǒng)的性能和穩(wěn)定性造成一定影響。所以保證多主機(jī)集群硬件系統(tǒng)的正常運(yùn)行尤為重要。
[0004]那么如何保證多主機(jī)集群系統(tǒng)的硬件系統(tǒng)正常運(yùn)行?其中,一個(gè)非常關(guān)鍵的技術(shù)就是及時(shí)了解多主機(jī)集群系統(tǒng)中各主機(jī)硬件負(fù)載運(yùn)行是否正常。隨之而來的一系列問題是,如何從一個(gè)由眾多單一主機(jī)連接而成的多主機(jī)集群系統(tǒng)中獲取各主機(jī)硬件負(fù)載的運(yùn)行狀態(tài),在如此多的主機(jī)中如何判斷其是否正常,以及如何確定是哪個(gè)主機(jī)硬件負(fù)載異常,在判斷其異常后如何處理等等都成為技術(shù)難題。而解決這些技術(shù)問題又是保證系統(tǒng)整體性能和穩(wěn)定性的基礎(chǔ)。
【發(fā)明內(nèi)容】
[0005]本發(fā)明的目的,就是克服現(xiàn)有技術(shù)的不足,提供一種監(jiān)測(cè)主機(jī)硬件負(fù)載的方法,其適用于多主機(jī)集群系統(tǒng),該方法不僅可以及時(shí)的監(jiān)測(cè)到多主機(jī)集群系統(tǒng)中主機(jī)硬件負(fù)載運(yùn)行是否正常,而且還可以迅速定位狀態(tài)異常的主機(jī)和硬件負(fù)載,以實(shí)現(xiàn)多主機(jī)集群系統(tǒng)出現(xiàn)異常時(shí),能夠及時(shí)對(duì)異常硬件負(fù)載進(jìn)行處理,保證多主機(jī)集群系統(tǒng)的穩(wěn)定性。
[0006]本發(fā)明的另一個(gè)目的是提供一種多主機(jī)硬件負(fù)載的收集系統(tǒng)。
[0007]為了達(dá)到上述目的,采用如下技術(shù)方案:
[0008]一種監(jiān)測(cè)主機(jī)硬件負(fù)載的方法,其適用于多主機(jī)集群系統(tǒng),所述多主機(jī)集群系統(tǒng)包括有多個(gè)主機(jī)節(jié)點(diǎn),所述主機(jī)節(jié)點(diǎn)包括管理節(jié)點(diǎn)、監(jiān)控節(jié)點(diǎn)和存儲(chǔ)節(jié)點(diǎn);其特征在于,包括有以下步驟:
[0009]將負(fù)載參數(shù)的預(yù)設(shè)閾值和預(yù)設(shè)區(qū)間封裝為第一消息隊(duì)列;
[0010]開始監(jiān)測(cè)硬件負(fù)載并獲取負(fù)載參數(shù)值,并將獲取到的負(fù)載參數(shù)值封裝為第二消息隊(duì)列;
[0011]將所述第二消息隊(duì)列中的負(fù)載參數(shù)值與所述第一消息隊(duì)列中的預(yù)設(shè)閾值、預(yù)設(shè)區(qū)間進(jìn)行比較;
[0012]根據(jù)比較結(jié)果,判定所述硬件負(fù)載的狀態(tài)是否正常,并將判定結(jié)果封裝為第三消息隊(duì)列;
[0013]若某一硬件負(fù)載的負(fù)載參數(shù)值落在第一區(qū)間,則判定該硬件負(fù)載的狀態(tài)為正常狀態(tài);
[0014]若某一硬件負(fù)載的負(fù)載參數(shù)值落在第二區(qū)間,則判定該硬件負(fù)載的狀態(tài)為第一異常狀態(tài);
[0015]若某一硬件負(fù)載的負(fù)載參數(shù)值落在第三區(qū)間,則判定該硬件負(fù)載的狀態(tài)為第二異常狀態(tài);
[0016]根據(jù)所述第三消息隊(duì)列中的判定結(jié)果,對(duì)所述硬件負(fù)載進(jìn)行處理;
[0017]若所述硬件負(fù)載的狀態(tài)為正常狀態(tài),則對(duì)該硬件負(fù)載不作處理;
[0018]若所述硬件負(fù)載的狀態(tài)為第一異常狀態(tài),則生成第一狀態(tài)事件;
[0019]若所述硬件負(fù)載的狀態(tài)為第二異常狀態(tài),則生成第二狀態(tài)事件,并調(diào)高固定監(jiān)測(cè)頻率對(duì)該硬件負(fù)載再次監(jiān)測(cè),獲取該硬件負(fù)載的負(fù)載參數(shù)值,將該硬件負(fù)載的負(fù)載參數(shù)值與所述預(yù)設(shè)閾值、預(yù)設(shè)區(qū)間進(jìn)行比較,進(jìn)一步判定該硬件負(fù)載的狀態(tài)是否正常;
[0020]根據(jù)進(jìn)一步判定結(jié)果,對(duì)所述硬件負(fù)載進(jìn)行處理;
[0021]若所述硬件負(fù)載再次被判定為第二異常狀態(tài),則再次生成第二狀態(tài)事件,并報(bào)警對(duì)該硬件負(fù)載進(jìn)行定位;
[0022]若所述硬件負(fù)載未再次被判定為第二異常狀態(tài),則不對(duì)該硬件負(fù)載進(jìn)行處理或生成第一狀態(tài)事件,并恢復(fù)至第一監(jiān)測(cè)頻率對(duì)該硬件負(fù)載進(jìn)行監(jiān)測(cè);
[0023]結(jié)束本次監(jiān)測(cè),等待下一次監(jiān)測(cè)開始。
[0024]作為一種具體的實(shí)施例,在將獲取到的負(fù)載參數(shù)值封裝為第二消息隊(duì)列后,還包括以臨時(shí)文件的方式將第二消息隊(duì)列保存到監(jiān)控消息數(shù)據(jù)庫,并將所述第二消息隊(duì)列發(fā)送至管理消息數(shù)據(jù)庫的步驟。
[0025]進(jìn)一步地,在將所述第二消息隊(duì)列中的負(fù)載參數(shù)值與所述第一消息隊(duì)列中的預(yù)設(shè)閾值、預(yù)設(shè)區(qū)間進(jìn)行比較之前,還包括接收所述第二消息隊(duì)列,將所述第二消息隊(duì)列保存至所述管理消息數(shù)據(jù)庫,解析所述第二消息隊(duì)列,并讀取所述第二消息隊(duì)列中的負(fù)載參數(shù)值的步驟。
[0026]作為一種具體的實(shí)施例,在將所述第二消息隊(duì)列發(fā)送至管理消息數(shù)據(jù)庫之前,還包括同步各監(jiān)控消息數(shù)據(jù)庫之間的第二消息隊(duì)列的步驟。
[0027]作為一種具體的實(shí)施例,所述負(fù)載參數(shù)值至少包括主機(jī)板的溫度,中央處理器的溫度、中央處理器的使用率,內(nèi)存儲(chǔ)器的溫度、內(nèi)存儲(chǔ)器的占用率,外存儲(chǔ)器的溫度、外存儲(chǔ)器的占用率,網(wǎng)絡(luò)適配器的流量和冷卻單元的運(yùn)行速度中的一個(gè)或多個(gè)。
[0028]進(jìn)一步地,所述主機(jī)板的溫度,中央處理器的溫度、中央處理器的使用率,內(nèi)存儲(chǔ)器的溫度、內(nèi)存儲(chǔ)器的占用率,外存儲(chǔ)器的溫度、外存儲(chǔ)器的占用率,網(wǎng)絡(luò)適配器流量的第一閾值均小于第二閾值;
[0029]其中,將小于或等于第一閥值的區(qū)域定義為第一區(qū)間;將大于第一閥值且低于或等于第二閥值的區(qū)域定義為第二區(qū)間;將大于第二閥值的區(qū)域定義為第三區(qū)間。
[0030]進(jìn)一步地,所述冷卻單元的運(yùn)行速度的第一閾值大于第二閾值;
[0031]其中,將大于或等于第一閾值的區(qū)域定義為第一區(qū)間;將大于或等于第二閥值且小于第一閥值的區(qū)域定義為第二區(qū)間;將小于第二閥值的區(qū)域定義為第三區(qū)間。
[0032]作為一種具體的實(shí)施例,所述第一狀態(tài)事件包括監(jiān)測(cè)時(shí)間、異常狀態(tài)、異常主機(jī)、異常硬件負(fù)載以及負(fù)載參數(shù)值中的一個(gè)或多個(gè);
[0033]所述第二狀態(tài)事件包括監(jiān)測(cè)時(shí)間、異常狀態(tài)、異常主機(jī)、異常硬件負(fù)載、負(fù)載參數(shù)值以及連續(xù)異常次數(shù)。
[0034]一種監(jiān)測(cè)主機(jī)硬件負(fù)載的系統(tǒng),其適用于多主機(jī)集群系統(tǒng),所述多主機(jī)集群系統(tǒng)包括有多個(gè)主機(jī)節(jié)點(diǎn),所述主機(jī)節(jié)點(diǎn)包括管理節(jié)點(diǎn)、監(jiān)控節(jié)點(diǎn)和存儲(chǔ)節(jié)點(diǎn),其特征在于,包括:
[0035]閾值設(shè)置模塊,用以將負(fù)載參數(shù)的預(yù)設(shè)閾值和預(yù)設(shè)區(qū)間封裝為第一消息隊(duì)列;
[0036]負(fù)載監(jiān)測(cè)模塊,用以監(jiān)測(cè)硬件負(fù)載并獲取負(fù)載參數(shù)值,并將獲取到的負(fù)載參數(shù)值封裝為第二消息隊(duì)列;
[0037]比較判定模塊,用以將所述第二消息隊(duì)列中的負(fù)載參數(shù)值與所述第一消息隊(duì)列中的預(yù)設(shè)閾值、預(yù)設(shè)區(qū)間進(jìn)行比較;以及根據(jù)比較結(jié)果,判定所述硬件負(fù)載的狀態(tài)為正常狀態(tài)或第一異常狀態(tài)或第二異常狀態(tài),并將判定結(jié)果封裝為第三消息隊(duì)列;
[0038]處理模塊,用以根據(jù)所述第三消息隊(duì)列中的判定結(jié)果,對(duì)所述硬件負(fù)載進(jìn)行處理;以及用以在所述硬件負(fù)載初步判定為第二異常狀態(tài)時(shí),根據(jù)調(diào)高固定監(jiān)測(cè)頻率后,再次監(jiān)測(cè)該硬件負(fù)載,進(jìn)一步判定該硬件負(fù)載的狀態(tài)的判定結(jié)果,對(duì)所述硬件負(fù)載進(jìn)行處理。
[0039]作為一種具體的實(shí)施例,所述閾值設(shè)置模塊、比較判定模塊以及處理模塊集成在所述管理節(jié)點(diǎn)上;
[0040]所述負(fù)載監(jiān)測(cè)模塊集成在所述監(jiān)控節(jié)點(diǎn)上。
[0041]與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果在于:
[0042]本發(fā)明通過設(shè)計(jì)一種監(jiān)測(cè)主機(jī)硬件負(fù)載的方法和系統(tǒng),通過閾值設(shè)置模塊的設(shè)置,首先將主機(jī)板的溫度、中央處理器溫度等負(fù)載參數(shù)的預(yù)設(shè)閾值和預(yù)設(shè)區(qū)間按照一定序列封裝成第一消息隊(duì)列;然后通過設(shè)置負(fù)載監(jiān)測(cè)模塊監(jiān)測(cè)各硬件負(fù)載并獲取硬件負(fù)載運(yùn)行時(shí)的負(fù)載參數(shù)值,并將獲取到的負(fù)載參數(shù)值按照與第一消息隊(duì)列相同的封裝序列封裝成第二消息隊(duì)列;再通過比較判定模塊將第二消息隊(duì)列中的負(fù)載參數(shù)值與第一消息隊(duì)列中預(yù)設(shè)閾值和預(yù)設(shè)區(qū)間進(jìn)行比較,并判定各硬件負(fù)載的運(yùn)行狀態(tài)是否正常;最后通過設(shè)置處理模塊,針對(duì)各硬件負(fù)載不同的