本發(fā)明涉及日志文件的處理領(lǐng)域,具體地說是一種日志文件的實(shí)時(shí)監(jiān)控及報(bào)警的方法和系統(tǒng)。
背景技術(shù):
隨著各個(gè)行業(yè)的IT業(yè)務(wù)系統(tǒng)的迅速發(fā)展,網(wǎng)絡(luò)規(guī)模迅速擴(kuò)大,主機(jī)、網(wǎng)絡(luò)、設(shè)備、應(yīng)用軟件數(shù)量不斷增多,尤其是云計(jì)算的發(fā)展,一些應(yīng)用于各行各業(yè)的大型的分布式集群系統(tǒng)在運(yùn)行過程中,產(chǎn)生了大量的日志,這些日志不但占用了大量的存儲(chǔ)資源,還影響系統(tǒng)高效穩(wěn)定的運(yùn)行,因此對(duì)這些日志的處理就顯得尤為重要。
現(xiàn)有的一些處理方式為:在服務(wù)器上用腳本寫一個(gè)定時(shí)任務(wù)作業(yè),定時(shí)的去處理這些日志文件,這種處理方式不易于集中管理,控制不靈活,不易于擴(kuò)展;還有一種方式是,利用規(guī)范的日志監(jiān)控系統(tǒng)監(jiān)控這些日志,發(fā)出告警通知,比如,郵件或者短信通知運(yùn)維人員去手動(dòng)處理,這種處理方式給運(yùn)維人員增加了運(yùn)維的難度。
鑒于以上問題,如何提供一種易于集中管理和擴(kuò)展的日志文件處理方法,是需要解決的及時(shí)問題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的技術(shù)任務(wù)是針對(duì)以上不足,提供一種日志文件的實(shí)時(shí)監(jiān)控及報(bào)警的方法和系統(tǒng),來解決現(xiàn)有日志文件處理不易于集中管理以及不易于擴(kuò)展的問題。
本發(fā)明的技術(shù)任務(wù)是按以下方式實(shí)現(xiàn)的;
日志文件的實(shí)時(shí)監(jiān)控及報(bào)警的方法,基于服務(wù)端、客戶端和日志庫(kù)實(shí)現(xiàn),服務(wù)端以日志庫(kù)為單位,根據(jù)設(shè)置的需要監(jiān)控的日志文件的文件類型,通過正則表達(dá)式匹配,實(shí)時(shí)監(jiān)控日志文件,并實(shí)時(shí)統(tǒng)計(jì)日志庫(kù)的大小,當(dāng)日志庫(kù)的大小超出設(shè)定的閾值時(shí),服務(wù)端向客戶端發(fā)送告警信號(hào),客戶端對(duì)日志庫(kù)中的日志文件進(jìn)行刪除或刪減操作。
進(jìn)一步地,步驟為:
(S1)、通過客戶端注冊(cè)監(jiān)控項(xiàng),每個(gè)監(jiān)控項(xiàng)的參數(shù)包括日志庫(kù)、監(jiān)控指標(biāo)、周期以及日志文件的文件類型,監(jiān)控指標(biāo)包括閾值和告警重復(fù)次數(shù);
(S1)、通過RabitMQ將監(jiān)控項(xiàng)發(fā)送到服務(wù)端;
(S3)、服務(wù)端接收監(jiān)控項(xiàng)后,以日志文件的文件類型為匹配規(guī)則,通過正則表達(dá)式匹配,周期性地實(shí)時(shí)監(jiān)控日志文件的大小、新建、重命名和刪除,并周期性地實(shí)時(shí)統(tǒng)計(jì)日志庫(kù)的大小,當(dāng)日志庫(kù)的大小超過閾值時(shí),根據(jù)告警重復(fù)次數(shù)發(fā)出告警信號(hào),并通過RabitMQ將告警信號(hào)發(fā)送至客戶端;
(S4)、客戶端接收到告警信號(hào)后,對(duì)日志庫(kù)中的日志文件進(jìn)行刪除或刪減操作。
進(jìn)一步地,步驟(S1)中,日志庫(kù)的參數(shù)包括日志庫(kù)的ID、服務(wù)器的ID和日志目錄。
進(jìn)一步地,步驟(S1)中,周期的單位為秒。
進(jìn)一步地,步驟(S1)中,當(dāng)需要監(jiān)控日志庫(kù)中的多個(gè)日志文件時(shí),匹配規(guī)則包括多個(gè)擴(kuò)展名,多個(gè)擴(kuò)展名之間通過“|”分割;當(dāng)需要監(jiān)控日志庫(kù)中的全部日志文件時(shí),匹配規(guī)則設(shè)置為“*.*”。
進(jìn)一步地,步驟(S4)中,對(duì)日志文件進(jìn)行刪除或刪減操作的步驟為:對(duì)日志庫(kù)中新生成的歷史文件進(jìn)行刪除操作,或者,對(duì)日志庫(kù)中每個(gè)原日志文件進(jìn)行刪減操作,每個(gè)日志文件保留最新的數(shù)據(jù)。
進(jìn)一步地,步驟(S3)中,日志庫(kù)的大小以kb為單位;步驟(S4)中,對(duì)日志庫(kù)中每個(gè)原日志文件進(jìn)行刪減操作后,每個(gè)日志文件保留的最新數(shù)據(jù)的大小不超過1kb。
日志文件的實(shí)時(shí)監(jiān)控及報(bào)警的系統(tǒng),包括客戶端、服務(wù)端和至少一個(gè)日志庫(kù),客戶端包括注冊(cè)模塊和告警處理模塊,注冊(cè)模塊與服務(wù)端連接,服務(wù)端與告警處理模塊連接,每個(gè)日志庫(kù)均分別與服務(wù)端和告警處理模塊連接;日志庫(kù)存儲(chǔ)有多個(gè)日志文件,注冊(cè)模塊用于注冊(cè)監(jiān)控項(xiàng),每個(gè)監(jiān)控項(xiàng)的參數(shù)包括日志庫(kù)、監(jiān)控指標(biāo)、周期以及日志文件的文件類型,監(jiān)控指標(biāo)包括閾值和告警重復(fù)次數(shù);告警處理模塊用于對(duì)日志庫(kù)中的日志文件進(jìn)行刪除或刪減操作;服務(wù)端用于實(shí)施監(jiān)控日志文件的大小、新建、重命名和刪除,并實(shí)時(shí)統(tǒng)計(jì)日志庫(kù)的大小。
本發(fā)明的日志文件的實(shí)時(shí)監(jiān)控及報(bào)警的方法和系統(tǒng)具有以下優(yōu)點(diǎn):
(1)、對(duì)日志文件實(shí)時(shí)監(jiān)控和報(bào)警,保證了日志文件處理的高效性,使得日志文件易于集中管理,擴(kuò)展靈活;
(2)、對(duì)于幾個(gè)GB的超大日志文件的處理非常有效,不但提高了日志文件的可讀性,保證了軟件的高效運(yùn)行,還大大減少了日志文件對(duì)存儲(chǔ)空間的占用,節(jié)省了存儲(chǔ)資源;
(3)、不需要人為的手動(dòng)去刪除一些垃圾日志文件,大大降低了運(yùn)維的難度。
附圖說明
下面結(jié)合附圖對(duì)本發(fā)明進(jìn)一步說明。
附圖1為實(shí)施例1日志文件的實(shí)時(shí)監(jiān)控及報(bào)警的方法的流程框圖;
附圖2為實(shí)施例2日志文件的實(shí)時(shí)監(jiān)控及報(bào)警系統(tǒng)的原理框圖。
具體實(shí)施方式
參照說明書附圖和具體實(shí)施例對(duì)本發(fā)明的日志文件的實(shí)時(shí)監(jiān)控及報(bào)警的方法和系統(tǒng)作以下詳細(xì)地說明。
實(shí)施例1:
如附圖1和附圖2所示,本發(fā)明的日志文件的實(shí)時(shí)監(jiān)控及報(bào)警的方法,基于服務(wù)端、客戶端和日志庫(kù)實(shí)現(xiàn),服務(wù)端以日志庫(kù)為單位,根據(jù)設(shè)置的需要監(jiān)控的日志文件的文件類型,通過正則表達(dá)式匹配,實(shí)時(shí)監(jiān)控日志文件,當(dāng)日志庫(kù)的大小超出設(shè)定的閾值時(shí),服務(wù)端向客戶端發(fā)送告警信號(hào),客戶端對(duì)日志庫(kù)中的日志文件進(jìn)行刪除或刪減操作。
上述方法的具體步驟為:
(S1)、通過客戶端注冊(cè)監(jiān)控項(xiàng),參數(shù)包括日志庫(kù)、監(jiān)控指標(biāo)、周期以及日志文件的文件類型,其中,日志庫(kù)的監(jiān)控參數(shù)包括日志庫(kù)的ID、服務(wù)器的ID和日志目錄;監(jiān)控指標(biāo)包括閾值和告警重復(fù)次數(shù);周期的單位為秒;當(dāng)需要監(jiān)控日志庫(kù)中的多個(gè)日志文件時(shí),匹配規(guī)則包括多個(gè)擴(kuò)展名,多個(gè)擴(kuò)展名之間以“|”分割;當(dāng)需要監(jiān)控日志庫(kù)中全部日志文件時(shí),匹配規(guī)則設(shè)置為*.*;
(S2)、通過RabitMQ將監(jiān)控項(xiàng)發(fā)送到服務(wù)端;
(S3)、服務(wù)端接收監(jiān)控項(xiàng)后,以日志文件的文件類型為匹配規(guī)則,通過正則表達(dá)式匹配,周期性地實(shí)時(shí)監(jiān)控日志文件,包括日志文件的大小、日志文件新建、日志文件重命名和日志文件刪除,并周期性地實(shí)時(shí)統(tǒng)計(jì)日志庫(kù)的大小,日志庫(kù)的大小以kb為單位,當(dāng)日志庫(kù)的大小超過閾值時(shí),根據(jù)告警重復(fù)次數(shù)發(fā)出告警信號(hào),并通過RabitMQ將告警信號(hào)發(fā)送至客戶端;
(S4)、客戶端接收到告警信號(hào)后,對(duì)日志庫(kù)中的日志文件進(jìn)行刪除或刪減操作,可對(duì)日志庫(kù)中新生成的歷史文件進(jìn)行刪除操作,或者,對(duì)日志庫(kù)中每個(gè)原日志文件進(jìn)行刪減操作,每個(gè)日志文件保留最新的數(shù)據(jù),且每個(gè)日志文件中保留的數(shù)據(jù)不超過的1kb。
本發(fā)明的日志文件的實(shí)時(shí)監(jiān)控及報(bào)警的方法,對(duì)日志文件進(jìn)行實(shí)時(shí)監(jiān)控和報(bào)警,保證了日志文件處理的高效,且易于集中管理。
實(shí)施例2:
附圖1所示,本發(fā)明的日志文件的實(shí)時(shí)監(jiān)控及報(bào)警的系統(tǒng),包括客戶端、服務(wù)端和至少一個(gè)日志庫(kù),客戶端包括注冊(cè)模塊和告警處理模塊,注冊(cè)模塊與服務(wù)端連接,服務(wù)端與告警處理模塊連接,每個(gè)日志庫(kù)均分別與服務(wù)端和告警處理模塊連接;日志庫(kù)存儲(chǔ)有多個(gè)日志文件,注冊(cè)模塊用于注冊(cè)監(jiān)控項(xiàng),每個(gè)監(jiān)控項(xiàng)的參數(shù)包括日志庫(kù)、監(jiān)控指標(biāo)、周期以及日志文件的文件類型,監(jiān)控指標(biāo)包括閾值和告警重復(fù)次數(shù);告警處理模塊用于對(duì)日志庫(kù)中的日志文件進(jìn)行刪除或刪減操作;服務(wù)端用于實(shí)施監(jiān)控日志文件的大小、新建、重命名和刪除,并實(shí)時(shí)統(tǒng)計(jì)日志庫(kù)的大小。
本發(fā)明的日志文件的實(shí)時(shí)監(jiān)控及報(bào)警的系統(tǒng),用于實(shí)現(xiàn)實(shí)施例1日志文件的實(shí)時(shí)監(jiān)控及報(bào)警的方法。
通過上面具體實(shí)施方式,所述技術(shù)領(lǐng)域的技術(shù)人員可容易的實(shí)現(xiàn)本發(fā)明。但是應(yīng)當(dāng)理解,本發(fā)明并不限于上述的具體實(shí)施方式。在公開的實(shí)施方式的基礎(chǔ)上,所述技術(shù)領(lǐng)域的技術(shù)人員可任意組合不同的技術(shù)特征,從而實(shí)現(xiàn)不同的技術(shù)方案。除說明書所述的技術(shù)特征外,均為本專業(yè)技術(shù)人員的已知技術(shù)。