本發(fā)明屬于計(jì)算機(jī)領(lǐng)域,尤其涉及一種計(jì)算機(jī)運(yùn)行監(jiān)測(cè)方法和裝置。
背景技術(shù):
目前,計(jì)算機(jī)設(shè)備已經(jīng)成為廣大用戶生活中必不可少的設(shè)備之一,系統(tǒng)的可靠性、移植性和兼容性等成為計(jì)算機(jī)軟件性能的主要指標(biāo)。但是現(xiàn)有技術(shù)用于監(jiān)測(cè)系統(tǒng)的模塊存在監(jiān)測(cè)過(guò)程過(guò)于復(fù)雜、一次只能監(jiān)測(cè)一個(gè)進(jìn)程、且模塊本身移植性、兼容性和可靠性不夠高等問(wèn)題。
為了解決上述技術(shù)問(wèn)題,人們進(jìn)行了長(zhǎng)期的探索,例如中國(guó)專利公開(kāi)了一種計(jì)算機(jī)系統(tǒng)的狀態(tài)監(jiān)測(cè)方法及裝置[申請(qǐng)?zhí)枺篶n201210587387.6],其方法包括如下步驟:為計(jì)算機(jī)添加虛擬的狀態(tài)監(jiān)測(cè)模塊:所述虛擬的狀態(tài)監(jiān)測(cè)模塊與連接在計(jì)算機(jī)的南橋上的狀態(tài)監(jiān)測(cè)芯片對(duì)應(yīng),并由acpi設(shè)備驅(qū)動(dòng)程序進(jìn)行驅(qū)動(dòng);利用acpi方法通知操作系統(tǒng)產(chǎn)生異常事件:當(dāng)連接在計(jì)算機(jī)的南橋上的狀態(tài)監(jiān)測(cè)芯片由于發(fā)現(xiàn)系統(tǒng)狀態(tài)異常而產(chǎn)生異常事件時(shí),通過(guò)acpi方法向所述acpi設(shè)備驅(qū)動(dòng)程序傳遞所述異常事件,然后由所述acpi設(shè)備驅(qū)動(dòng)程序通知操作系統(tǒng);通過(guò)所述acpi設(shè)備驅(qū)動(dòng)程序獲取由狀態(tài)監(jiān)測(cè)芯片處理得到的狀態(tài)數(shù)據(jù)。本方案的運(yùn)行過(guò)程是一種自底層硬件逐步向上層系統(tǒng)傳遞的過(guò)程。這樣,通過(guò)共同的acpi方法,底層的硬件(狀態(tài)監(jiān)測(cè)芯片)將異常告知上層的系統(tǒng)(操作系統(tǒng)或應(yīng)用軟件),這樣使底層與系統(tǒng)層都使用標(biāo)準(zhǔn)的acpi方法,提高該裝置設(shè)計(jì)的移植性、兼容性和可靠性
再如,一種基于消息監(jiān)控的軟件看門(mén)狗系統(tǒng)的實(shí)現(xiàn)方法[申請(qǐng)?zhí)枺篶n201610788410.6],包括應(yīng)用進(jìn)程的軟件看門(mén)狗和系統(tǒng)看門(mén)狗兩部分,所述該兩部分的核心為消息監(jiān)控,即通過(guò)消息交互的方法實(shí)現(xiàn),所述系統(tǒng)看門(mén)狗實(shí)現(xiàn)過(guò)程的主要步驟如下:所述系統(tǒng)看門(mén)狗隨系統(tǒng)啟動(dòng)并以驅(qū)動(dòng)模塊的方式加載,創(chuàng)建一個(gè)可供監(jiān)控進(jìn)程讀寫(xiě)的接口,用于接收監(jiān)控進(jìn)程的消息;所述驅(qū)動(dòng)模塊中設(shè)有定時(shí)器,等待監(jiān)控進(jìn)程發(fā)送的消息,如果定時(shí)器超時(shí)后沒(méi)有收到監(jiān)控進(jìn)程的消息,則看門(mén)狗將反向發(fā)送消息給監(jiān)控進(jìn)程;如果此時(shí)仍然得不到監(jiān)控進(jìn)程的響應(yīng),則說(shuō)明系統(tǒng)出現(xiàn)死鎖或者主進(jìn)程掛起的問(wèn)題,此時(shí)看門(mén)狗將作出系統(tǒng)軟重啟的操作。本方案能夠在監(jiān)控系統(tǒng)狀態(tài)煩人同時(shí)監(jiān)控進(jìn)程狀態(tài),使得軟件系統(tǒng)更加穩(wěn)定兼容、更加可靠。
上述兩個(gè)方案雖然在一定程度上解決了現(xiàn)有技術(shù)的部分問(wèn)題,但是仍然存在部分缺陷,例如,監(jiān)測(cè)模塊設(shè)置困難,監(jiān)測(cè)過(guò)程過(guò)于復(fù)雜等問(wèn)題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是針對(duì)上述問(wèn)題,提供一種簡(jiǎn)單且有效的計(jì)算機(jī)運(yùn)行監(jiān)測(cè)方法;
本發(fā)明的另一目的是針對(duì)上述問(wèn)題,提供一種用于計(jì)算機(jī)運(yùn)行監(jiān)測(cè)的裝置;
為達(dá)到上述目的,本發(fā)明采用了下列技術(shù)方案:
本發(fā)明的計(jì)算機(jī)運(yùn)行監(jiān)測(cè)方法包括:
a:針對(duì)監(jiān)視目標(biāo)設(shè)置一計(jì)數(shù)器與一閾值,并每隔一段預(yù)設(shè)時(shí)間自動(dòng)增加計(jì)數(shù)值;
b:接收設(shè)置在監(jiān)視目標(biāo)正常執(zhí)行路徑上的計(jì)數(shù)器重置指令;
c:當(dāng)監(jiān)視目標(biāo)無(wú)法正常執(zhí)行到計(jì)數(shù)器重置指令時(shí),計(jì)數(shù)值溢出,并發(fā)出目標(biāo)發(fā)生錯(cuò)誤信號(hào)和/或采取恢復(fù)措施。
通過(guò)上述技術(shù)方案,能夠簡(jiǎn)化監(jiān)測(cè)過(guò)程的同時(shí)提高監(jiān)測(cè)效果。
在上述的計(jì)算機(jī)運(yùn)行監(jiān)測(cè)方法中,所述的計(jì)數(shù)器的計(jì)數(shù)值由初始值增加至閾值所用的時(shí)間大于或等于監(jiān)視目標(biāo)正常執(zhí)行路徑上的前一個(gè)重置指令執(zhí)行到后一個(gè)重置指令所需要的時(shí)間。
在上述的計(jì)算機(jī)運(yùn)行監(jiān)測(cè)方法中,所述的監(jiān)測(cè)方法由狀態(tài)監(jiān)測(cè)模塊完成,且狀態(tài)監(jiān)測(cè)模塊被安裝于虛擬的bios里面,所述的狀態(tài)監(jiān)測(cè)模塊隨著操作系統(tǒng)開(kāi)啟而開(kāi)啟,且與服務(wù)器進(jìn)行心跳信號(hào)。
在上述的計(jì)算機(jī)運(yùn)行監(jiān)測(cè)方法中,所述的監(jiān)視目標(biāo)包括整個(gè)系統(tǒng)和/或系統(tǒng)內(nèi)的應(yīng)用,所述的狀態(tài)監(jiān)測(cè)模塊針對(duì)系統(tǒng)進(jìn)程和每一個(gè)應(yīng)用進(jìn)程均生成至少一個(gè)相應(yīng)的監(jiān)測(cè)線程,所述的監(jiān)測(cè)線程通過(guò)消息隊(duì)列與監(jiān)視目標(biāo)的進(jìn)程線程進(jìn)行通信以獲取相應(yīng)進(jìn)程線程的工作狀態(tài);
或者,所述的監(jiān)測(cè)線程通過(guò)套接口與設(shè)置有與套接口相適應(yīng)的通信接口的進(jìn)程線程進(jìn)行通信以獲取相應(yīng)進(jìn)程線程的工作狀態(tài)。
在上述的計(jì)算機(jī)運(yùn)行監(jiān)測(cè)方法中,所述的狀態(tài)監(jiān)測(cè)模塊根據(jù)配置文件對(duì)進(jìn)程進(jìn)行監(jiān)控,并將每次監(jiān)測(cè)的結(jié)果記錄至系統(tǒng)日志。
在上述的計(jì)算機(jī)運(yùn)行監(jiān)測(cè)方法中,所述的狀態(tài)監(jiān)測(cè)模塊根據(jù)配置文件對(duì)進(jìn)程進(jìn)行以下類型的監(jiān)控:
a.通過(guò)打開(kāi)一個(gè)文件成功與否監(jiān)測(cè)文件表是否已滿;
b.通過(guò)讀取/proc/loadavg以檢測(cè)設(shè)定時(shí)間內(nèi)系統(tǒng)平均負(fù)載是否超過(guò)設(shè)定值;
c.通過(guò)讀取/proc/meminfo檢測(cè)系統(tǒng)是否還剩下足夠的空閑內(nèi)存;
d.通過(guò)調(diào)用kill(pid,0)檢測(cè)進(jìn)程是否仍在運(yùn)行,如果kill調(diào)用返回為0,則進(jìn)程仍在運(yùn)行,通過(guò)從配置文件中讀取pid文件獲取被監(jiān)控進(jìn)程的pid;
e.通過(guò)解析/proc/net/dev的信息,查看指定的網(wǎng)絡(luò)接口收發(fā)包狀況;
f.通過(guò)往ip地址發(fā)包檢測(cè)相應(yīng)的ip地址可否被ping通,或通過(guò)ping廣播地址檢測(cè)子網(wǎng)中是否至少一臺(tái)機(jī)器可以被ping通;
g.通過(guò)調(diào)用fork、execl執(zhí)行用戶傳遞的測(cè)試程序。
在上述的計(jì)算機(jī)運(yùn)行監(jiān)測(cè)方法中,所述的狀態(tài)監(jiān)測(cè)模塊連接有溫度監(jiān)控模塊,并通過(guò)訪問(wèn)/dev/temperature設(shè)備判斷溫度是否過(guò)高。
一種用于計(jì)算機(jī)運(yùn)行監(jiān)測(cè)的裝置,包括狀態(tài)監(jiān)測(cè)模塊,所述的狀態(tài)監(jiān)測(cè)模塊包括一具有計(jì)數(shù)值的計(jì)數(shù)器和用于檢測(cè)計(jì)數(shù)值是否溢出的閾值模塊,所述的計(jì)數(shù)器連接有計(jì)數(shù)器重置模塊和計(jì)數(shù)值加一模塊,所述的計(jì)數(shù)器重置模塊用于重置計(jì)數(shù)器,且所述的計(jì)數(shù)器重置模塊連接于設(shè)置于監(jiān)視目標(biāo)上的重置信號(hào)發(fā)生模塊,當(dāng)重置信號(hào)發(fā)生模塊發(fā)出重置信號(hào)時(shí),計(jì)數(shù)器重置模塊將計(jì)數(shù)器的計(jì)數(shù)值進(jìn)行重置,所述的計(jì)數(shù)值加一模塊用于每隔一段預(yù)設(shè)時(shí)間將計(jì)數(shù)器的數(shù)值加一,且所述的計(jì)數(shù)值加一模塊連接于計(jì)時(shí)器,所述的狀態(tài)監(jiān)測(cè)模塊連接有用于在計(jì)數(shù)值溢出的情況下進(jìn)行報(bào)警的報(bào)警模塊和/或恢復(fù)監(jiān)視目標(biāo)的恢復(fù)控制模塊。
在上述的用于計(jì)算機(jī)運(yùn)行監(jiān)測(cè)的裝置中,所述的閾值模塊具有一比較閾值,所述的狀態(tài)監(jiān)測(cè)模塊包括用于對(duì)計(jì)數(shù)器的計(jì)數(shù)值與閾值模塊的比較閾值進(jìn)行比較的比較模塊。
在上述的用于計(jì)算機(jī)運(yùn)行監(jiān)測(cè)的裝置中,所述的狀態(tài)監(jiān)測(cè)模塊連接有溫度監(jiān)控模塊,通過(guò)溫度監(jiān)控模塊的監(jiān)控溫度監(jiān)控系統(tǒng)的硬件設(shè)備溫度。
本發(fā)明計(jì)算機(jī)運(yùn)行監(jiān)測(cè)方法和裝置相較于現(xiàn)有技術(shù)具有以下優(yōu)點(diǎn):1、結(jié)構(gòu)簡(jiǎn)單,模塊本身穩(wěn)定性高,監(jiān)測(cè)效果好;2、設(shè)置方便,同時(shí)可監(jiān)測(cè)多個(gè)進(jìn)程,不會(huì)發(fā)生遺失進(jìn)程狀態(tài)的問(wèn)題;3、監(jiān)測(cè)過(guò)程方便。
附圖說(shuō)明
圖1是本發(fā)明實(shí)施例一的方法流程圖;
圖2是本發(fā)明實(shí)施例二的結(jié)構(gòu)框圖。
附圖標(biāo)記:狀態(tài)監(jiān)測(cè)模塊1;計(jì)數(shù)器11;閾值模塊12;計(jì)數(shù)器重置模塊13;計(jì)數(shù)值加一模塊14;計(jì)時(shí)器15;報(bào)警模塊16;恢復(fù)控制模塊17;比較模塊18;監(jiān)視目標(biāo)2;重置信號(hào)發(fā)生模塊21;溫度監(jiān)控模塊3。
具體實(shí)施方式
本發(fā)明公開(kāi)了一種計(jì)算機(jī)可靠性領(lǐng)域中極為簡(jiǎn)單同時(shí)非常有效的檢測(cè)工具,可用于計(jì)算機(jī)系統(tǒng)及其應(yīng)用的進(jìn)程監(jiān)控,解決了現(xiàn)有技術(shù)監(jiān)測(cè)過(guò)程過(guò)于復(fù)雜、一次只能監(jiān)測(cè)一個(gè)進(jìn)程、且模塊本身移植性、兼容性和可靠性不夠高等問(wèn)題。
以下是本發(fā)明的優(yōu)選實(shí)施例并結(jié)合附圖,對(duì)本發(fā)明的技術(shù)方案作進(jìn)一步的描述,但本發(fā)明并不限于這些實(shí)施例。
實(shí)施例一
如圖1所示,本實(shí)施例的計(jì)算機(jī)運(yùn)行監(jiān)測(cè)裝置的工作方式為事件觸發(fā),它可以對(duì)任何合理的事件計(jì)數(shù)(如cpu指令),其中時(shí)間事件(timeout)最常使用,但無(wú)論裝置用于監(jiān)測(cè)什么事件,它的工作原理都是一樣的。
本實(shí)施方法的的監(jiān)測(cè)手段基于:一個(gè)正常運(yùn)行的系統(tǒng),它的執(zhí)行流是可預(yù)測(cè)的,因此可以在它正常執(zhí)行路徑上設(shè)置一些周期性重置器對(duì)應(yīng)的狀態(tài)監(jiān)測(cè)模塊1的點(diǎn);
但如果進(jìn)程發(fā)生故障,它執(zhí)行不到下一個(gè)重置狀態(tài)監(jiān)測(cè)模塊1的點(diǎn),此時(shí)故障將被狀態(tài)監(jiān)測(cè)模塊1捕捉到。
所以,狀態(tài)監(jiān)測(cè)模塊1對(duì)于檢測(cè)死循環(huán)或死鎖這類故障非常有效。
進(jìn)一步地,本實(shí)施例的狀態(tài)監(jiān)測(cè)模塊1被安裝于虛擬的bios(basicinputoutputsystem,基本輸入輸出系統(tǒng))里面,所述的狀態(tài)監(jiān)測(cè)模塊1隨著操作系統(tǒng)開(kāi)啟而開(kāi)啟,且與服務(wù)器進(jìn)行心跳信號(hào),外圍hostos(主機(jī)操作系統(tǒng))上檢測(cè)虛擬機(jī)的狀態(tài),當(dāng)沒(méi)有反應(yīng)、超時(shí)后,則視為所在物理機(jī)死機(jī),人為或自動(dòng)進(jìn)行觸發(fā)策略重啟、遷移。
bios是一組固化到計(jì)算機(jī)內(nèi)主板上一個(gè)rom芯片上的程序,它保存著計(jì)算機(jī)最重要的基本輸入輸出的程序、開(kāi)機(jī)后自檢程序和系統(tǒng)自啟動(dòng)程序,它可從cmos中讀寫(xiě)系統(tǒng)設(shè)置的具體信息,其主要功能是為計(jì)算機(jī)提供最底層的、最直接的硬件設(shè)置和控制。
本實(shí)施例所說(shuō)的狀態(tài)監(jiān)測(cè)模塊1的監(jiān)測(cè)方法包括:
a:針對(duì)監(jiān)視目標(biāo)2設(shè)置一計(jì)數(shù)器11與一閾值,并每隔一段預(yù)設(shè)時(shí)間自動(dòng)增加計(jì)數(shù)值;
其中計(jì)數(shù)器11的計(jì)數(shù)值由初始值增加至閾值所用的時(shí)間大于或等于監(jiān)視目標(biāo)2正常執(zhí)行路徑上的前一個(gè)重置指令執(zhí)行到后一個(gè)重置指令所需要的時(shí)間,以避免在監(jiān)視正常執(zhí)行的情況下,計(jì)數(shù)值被溢出而導(dǎo)致誤報(bào)警或誤恢復(fù)的情況。
這里的監(jiān)視目標(biāo)2包括整個(gè)操作系統(tǒng)和/或系統(tǒng)內(nèi)的應(yīng)用,狀態(tài)監(jiān)測(cè)模塊1針對(duì)操作系統(tǒng)的進(jìn)程和每一個(gè)應(yīng)用進(jìn)程均生成至少一個(gè)相應(yīng)的監(jiān)測(cè)線程,每一個(gè)監(jiān)測(cè)線程均具有相應(yīng)的計(jì)數(shù)器11與閾值。
但是,如果一個(gè)應(yīng)用是多進(jìn)程的,子進(jìn)程的生成可以放在監(jiān)測(cè)線程的初始化階段執(zhí)行,監(jiān)測(cè)線程可以獲得這些子進(jìn)程的pid,從而檢測(cè)這些子進(jìn)程的工作狀態(tài)。
進(jìn)一步地,監(jiān)測(cè)線程通過(guò)消息隊(duì)列與監(jiān)視目標(biāo)2的進(jìn)程線程進(jìn)行通信以獲取相應(yīng)進(jìn)程線程的工作狀態(tài);
或者,監(jiān)測(cè)線程通過(guò)套接口與設(shè)置有與套接口相適應(yīng)的通信接口的進(jìn)程線程進(jìn)行通信以獲取相應(yīng)進(jìn)程線程的工作狀態(tài)。
采用套接口進(jìn)行通信的方式需要相應(yīng)的監(jiān)視目標(biāo)2的進(jìn)程線程中加入與套接口相適應(yīng)的通信接口。
b:操作系統(tǒng)的正常執(zhí)行路徑上被設(shè)置有一些用于重置其對(duì)應(yīng)的狀態(tài)監(jiān)測(cè)模塊1的監(jiān)測(cè)線程的重置指令,每當(dāng)操作系統(tǒng)的進(jìn)程在執(zhí)行到重置指令的時(shí)候,相應(yīng)的監(jiān)測(cè)線程接收該重置指令,并將相應(yīng)的計(jì)數(shù)器11上的計(jì)數(shù)值進(jìn)行重置,使計(jì)數(shù)器11重新開(kāi)始計(jì)數(shù)。
但是,當(dāng)操作系統(tǒng)的進(jìn)程發(fā)送錯(cuò)誤時(shí),其無(wú)法正常執(zhí)行到重置指令導(dǎo)致相應(yīng)的計(jì)數(shù)器11無(wú)法重置而發(fā)生溢出現(xiàn)象;例如,正常狀態(tài)下,閾值為5,計(jì)數(shù)器11從0加到5的之后,在下一次計(jì)數(shù)器11進(jìn)行加一之前,計(jì)數(shù)器11被重置,也就是說(shuō)計(jì)數(shù)器11的計(jì)數(shù)值不會(huì)超過(guò)5,但是如果,進(jìn)程由于發(fā)生錯(cuò)誤,尤其是死循環(huán)和死鎖的錯(cuò)誤,導(dǎo)致進(jìn)程沒(méi)有在規(guī)定時(shí)間內(nèi)執(zhí)行到重置指令,計(jì)數(shù)器11正常進(jìn)行了加一的指令導(dǎo)致計(jì)數(shù)值大于閾值,出現(xiàn)溢出現(xiàn)象。
或者,當(dāng)操作系統(tǒng)的進(jìn)程錯(cuò)誤地執(zhí)行到重置指令,也就是說(shuō)還未到可以將計(jì)數(shù)器11進(jìn)行重置的時(shí)候?qū)⒅刂弥噶畎l(fā)送給了監(jiān)測(cè)線程,導(dǎo)致相應(yīng)的計(jì)數(shù)器11在非正常狀態(tài)下發(fā)生重置現(xiàn)象;
本實(shí)施例通過(guò)將計(jì)數(shù)值與閾值進(jìn)行比較的方式判斷計(jì)數(shù)器11是否在正常狀態(tài)下發(fā)生重置,例如,正常狀態(tài)下,閾值為5,計(jì)數(shù)器11從0加到5的時(shí)候,在下一次計(jì)數(shù)器11進(jìn)行加一之前,計(jì)數(shù)器11被重置,也就是說(shuō),計(jì)數(shù)器11是在計(jì)數(shù)值為5的情況下被重置的,但是若檢測(cè)目標(biāo)發(fā)生錯(cuò)誤,直接提前跳到重置指令處,使計(jì)數(shù)器11的計(jì)數(shù)值在小于5的情況下便被重置,此處將計(jì)數(shù)值由初始值增加至閾值所用的時(shí)間設(shè)置為等于監(jiān)視目標(biāo)2正常執(zhí)行路徑上的前一個(gè)重置指令執(zhí)行到后一個(gè)重置指令所需要的時(shí)間以提高監(jiān)測(cè)效果。
同樣地,監(jiān)測(cè)系統(tǒng)內(nèi)的應(yīng)用的進(jìn)程方法與監(jiān)測(cè)系統(tǒng)進(jìn)程的方法基本相同。
c:狀態(tài)監(jiān)測(cè)模塊1在監(jiān)測(cè)到相應(yīng)的問(wèn)題后發(fā)出目標(biāo)發(fā)生錯(cuò)誤信號(hào)和/或采取恢復(fù)措施,相應(yīng)的措施是指軟重啟發(fā)生錯(cuò)誤的監(jiān)視目標(biāo)2,包括應(yīng)用和整個(gè)系統(tǒng)。
進(jìn)一步地,狀態(tài)監(jiān)測(cè)模塊1根據(jù)配置文件對(duì)進(jìn)程進(jìn)行監(jiān)控,并將每次監(jiān)測(cè)的結(jié)果記錄至系統(tǒng)日志。
具體地,狀態(tài)監(jiān)測(cè)模塊1根據(jù)配置文件對(duì)進(jìn)程進(jìn)行以下類型的監(jiān)控:
a.通過(guò)打開(kāi)一個(gè)文件成功與否監(jiān)測(cè)文件表是否已滿;
b.通過(guò)讀取/proc/loadavg(程序/平均負(fù)載)以檢測(cè)設(shè)定時(shí)間內(nèi)系統(tǒng)平均負(fù)載是否超過(guò)設(shè)定值;這里的設(shè)定時(shí)間為1分鐘、5分鐘、和15分鐘時(shí)間中的一個(gè)時(shí)間段或多個(gè)時(shí)間段的組合。
c.通過(guò)讀取/proc/meminfo(程序/內(nèi)在信息)檢測(cè)系統(tǒng)是否還剩下足夠的空閑內(nèi)存;這里的/proc/meminfo可以在計(jì)算機(jī)右下方的系統(tǒng)列,顯示出實(shí)體記憶的使用狀態(tài),以及虛擬內(nèi)存的使用狀態(tài)。
d.通過(guò)調(diào)用kill(pid,0)檢測(cè)進(jìn)程是否仍在運(yùn)行,如果kill調(diào)用返回為0,則進(jìn)程仍在運(yùn)行,通過(guò)從配置文件中讀取pid文件獲取被監(jiān)控進(jìn)程的pid;這里的kill(pid,0)不發(fā)送任何信號(hào),但是系統(tǒng)會(huì)進(jìn)行錯(cuò)誤檢查,所以可用來(lái)檢查一個(gè)進(jìn)程是否存在,存在返回0;不存在返回1。
例如,通過(guò)從配置文件中讀取pid文件如/var/run/syslogd.pid來(lái)獲取被監(jiān)控進(jìn)程的pid。syslogd專門(mén)記錄非內(nèi)核的其他設(shè)施所產(chǎn)生的日志;當(dāng)系統(tǒng)的控制權(quán)由內(nèi)核轉(zhuǎn)交給init的時(shí)候,這時(shí)候的日志信息的記錄由syslog記錄。
e.通過(guò)解析/proc/net/dev的信息,查看指定的網(wǎng)絡(luò)接口收發(fā)包狀況,如eh0的收發(fā)包狀況;/proc/net/dev:用于分析網(wǎng)絡(luò)包量,流量、錯(cuò)包、丟包。
f.通過(guò)往ip地址發(fā)包檢測(cè)相應(yīng)的ip地址可否被ping通,或通過(guò)ping廣播地址檢測(cè)子網(wǎng)中是否至少一臺(tái)機(jī)器可以被ping通;ping:windows系統(tǒng)系列自帶的一個(gè)可執(zhí)行命令,利用它可以檢查網(wǎng)絡(luò)是否能夠連通,可以很好地幫助我們分析判定網(wǎng)絡(luò)故障,ping可用來(lái)檢測(cè)計(jì)算機(jī)與輸入的ip地址是否有數(shù)據(jù)通訊,以判斷網(wǎng)絡(luò)通不通的問(wèn)題。
g.通過(guò)調(diào)用fork、execl執(zhí)行用戶傳遞的測(cè)試程序,fork函數(shù),用于創(chuàng)建子進(jìn)程;
優(yōu)選地,狀態(tài)監(jiān)測(cè)模塊1連接有溫度監(jiān)控模塊3,并通過(guò)訪問(wèn)/dev/temperature(溫度)設(shè)備判斷溫度是否過(guò)高。
本實(shí)施例的方法監(jiān)測(cè)、判斷和針對(duì)判斷結(jié)果做出反應(yīng)均由一個(gè)模塊完成,監(jiān)測(cè)方法和過(guò)程簡(jiǎn)單,且一方面監(jiān)測(cè)系統(tǒng)的狀態(tài),另一方面監(jiān)測(cè)系統(tǒng)中應(yīng)用模塊的工作狀態(tài),具有檢測(cè)效果好,檢測(cè)過(guò)程簡(jiǎn)單等優(yōu)點(diǎn)。
實(shí)施例二
如圖2所示,本實(shí)施例提供了一種用于計(jì)算機(jī)運(yùn)行監(jiān)測(cè)的裝置,包括狀態(tài)監(jiān)測(cè)模塊1,所述的狀態(tài)監(jiān)測(cè)模塊1包括一具有計(jì)數(shù)值的計(jì)數(shù)器11和用于檢測(cè)計(jì)數(shù)值是否溢出的閾值模塊,所述的計(jì)數(shù)器11連接有計(jì)數(shù)器重置模塊13和計(jì)數(shù)值加一模塊14,所述的計(jì)數(shù)器重置模塊13用于重置計(jì)數(shù)器11,且所述的計(jì)數(shù)器重置模塊13連接于設(shè)置于監(jiān)視目標(biāo)2上的重置信號(hào)發(fā)生模塊21,當(dāng)重置信號(hào)發(fā)生模塊21發(fā)出重置信號(hào)時(shí),計(jì)數(shù)器重置模塊13將計(jì)數(shù)器11的計(jì)數(shù)值進(jìn)行重置,所述的計(jì)數(shù)值加一模塊14用于每隔一段預(yù)設(shè)時(shí)間將計(jì)數(shù)器11的數(shù)值加一,當(dāng)然,這里也可以不限定為一,這里的一為一個(gè)數(shù)的意思,也就是這里的一也可以為不是一的其他數(shù)值,且所述的計(jì)數(shù)值加一模塊14連接于計(jì)時(shí)器15,所述的狀態(tài)監(jiān)測(cè)模塊1連接有用于在計(jì)數(shù)值溢出的情況下進(jìn)行報(bào)警的報(bào)警模塊16和/或恢復(fù)監(jiān)視目標(biāo)2的恢復(fù)控制模塊17。
進(jìn)一步地,閾值模塊具有一比較閾值,所述的狀態(tài)監(jiān)測(cè)模塊1包括用于對(duì)計(jì)數(shù)器的計(jì)數(shù)值與閾值模塊的比較閾值進(jìn)行比較的比較模塊18。
進(jìn)一步地,狀態(tài)監(jiān)測(cè)模塊1連接有溫度監(jiān)控模塊3,通過(guò)溫度監(jiān)控模塊3的監(jiān)控溫度監(jiān)控系統(tǒng)的硬件設(shè)備溫度。
本文中所描述的具體實(shí)施例僅僅是對(duì)本發(fā)明精神作舉例說(shuō)明。本發(fā)明所屬技術(shù)領(lǐng)域的技術(shù)人員可以對(duì)所描述的具體實(shí)施例做各種各樣的修改或補(bǔ)充或采用類似的方式替代,但并不會(huì)偏離本發(fā)明的精神或者超越所附權(quán)利要求書(shū)所定義的范圍。
盡管本文較多地使用了狀態(tài)監(jiān)測(cè)模塊1;計(jì)數(shù)器11;閾值模塊12;計(jì)數(shù)器重置模塊13;計(jì)數(shù)值加一模塊14;計(jì)時(shí)器15;報(bào)警模塊16;恢復(fù)控制模塊17;比較模塊18;監(jiān)視目標(biāo)2;重置信號(hào)發(fā)生模塊21;溫度監(jiān)控模塊3等術(shù)語(yǔ),但并不排除使用其它術(shù)語(yǔ)的可能性。使用這些術(shù)語(yǔ)僅僅是為了更方便地描述和解釋本發(fā)明的本質(zhì);把它們解釋成任何一種附加的限制都是與本發(fā)明精神相違背的。