本發(fā)明涉及日志分析技術(shù)領(lǐng)域,更具體地說,涉及一種基于分布式存儲的日志分析方法及裝置。
背景技術(shù):
日志是記錄系統(tǒng)中硬件、軟件和系統(tǒng)問題的信息,同時還可以監(jiān)視系統(tǒng)中發(fā)生的事件。用戶可以通過對日志的分析檢查錯誤發(fā)生的原因,或者尋找受到攻擊時攻擊者留下的痕跡。目前,通過傳統(tǒng)方式對日志數(shù)據(jù)進(jìn)行存儲分析,速率較慢,且不能存儲海量日志數(shù)據(jù)。
因此,如何實(shí)現(xiàn)對日志數(shù)據(jù)的海量存儲,以對日志進(jìn)行分析是本領(lǐng)域技術(shù)人員需要解決的問題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于提供一種基于分布式存儲的日志分析方法及裝置,以實(shí)現(xiàn)對日志數(shù)據(jù)的海量存儲及分析。
為實(shí)現(xiàn)上述目的,本發(fā)明實(shí)施例提供了如下技術(shù)方案:
一種基于分布式存儲的日志分析方法,包括:
日志代理實(shí)時收集日志數(shù)據(jù),并將所述日志數(shù)據(jù)發(fā)送至日志后臺服務(wù);
所述日志后臺服務(wù)接收所述日志數(shù)據(jù),根據(jù)所述日志數(shù)據(jù)確定分片參數(shù)及副本參數(shù),并根據(jù)所述分片參數(shù)和所述副本參數(shù)對所述日志數(shù)據(jù)進(jìn)行分布式存儲,以使日志展現(xiàn)模塊通過日志接口對日志數(shù)據(jù)進(jìn)行分析及展示。
其中,日志展現(xiàn)模塊通過日志接口對日志數(shù)據(jù)進(jìn)行分析及展示,包括:
所述日志展現(xiàn)模塊接收用戶輸入的統(tǒng)計信息;所述統(tǒng)計信息包括統(tǒng)計關(guān)鍵字信息和/或統(tǒng)計時間信息;
所述日志展現(xiàn)模塊利用所述統(tǒng)計信息,調(diào)用記錄統(tǒng)計接口從所述日志后臺服務(wù)獲取統(tǒng)計結(jié)果并進(jìn)行展示。
其中,日志展現(xiàn)模塊通過日志接口對日志數(shù)據(jù)進(jìn)行分析及展示,包括:
所述日志展現(xiàn)模塊接收用戶輸入的查詢信息;所述查詢信息包括查詢關(guān)鍵字信息和/或查詢時間信息;
所述日志展現(xiàn)模塊利用所述查詢信息,調(diào)用日志查詢接口從所述日志后臺服務(wù)獲取查詢結(jié)果并進(jìn)行展示。
其中,本方案還包括:
所述日志后臺服務(wù)根據(jù)預(yù)設(shè)的刪除策略,對存儲的日志數(shù)據(jù)執(zhí)行刪除操作。
其中,本方案還包括:
所述日志后臺服務(wù)根據(jù)預(yù)設(shè)的監(jiān)控策略對存儲的日志數(shù)據(jù)進(jìn)行分析檢測;若檢測到異常數(shù)據(jù),則通過所述日志展現(xiàn)模塊展示與異常數(shù)據(jù)對應(yīng)的報警信息。
一種基于分布式存儲的日志分析裝置,包括:
日志代理,用于實(shí)時收集日志數(shù)據(jù),并將所述日志數(shù)據(jù)發(fā)送至日志后臺服務(wù);
所述日志后臺服務(wù),用于接收所述日志數(shù)據(jù),根據(jù)所述日志數(shù)據(jù)確定分片參數(shù)及副本參數(shù),并根據(jù)所述分片參數(shù)和所述副本參數(shù)對所述日志數(shù)據(jù)進(jìn)行分布式存儲;
日志展現(xiàn)模塊,用于通過日志接口對存儲在所述日志后臺服務(wù)的日志數(shù)據(jù)進(jìn)行分析及展示。
其中,所述日志后臺服務(wù)包括:
第一接收模塊,用于接收用戶輸入的統(tǒng)計信息;所述統(tǒng)計信息包括統(tǒng)計關(guān)鍵字信息和/或統(tǒng)計時間信息;
第一獲取模塊,用于利用所述統(tǒng)計信息,調(diào)用記錄統(tǒng)計接口從所述日志后臺服務(wù)獲取統(tǒng)計結(jié)果并進(jìn)行展示。
其中,所述日志后臺服務(wù)包括:
第二接收模塊,用于接收用戶輸入的查詢信息;所述查詢信息包括查詢關(guān)鍵字信息和/或查詢時間信息;
第二獲取模塊,用于利用所述查詢信息,調(diào)用日志查詢接口從所述日志后臺服務(wù)獲取查詢結(jié)果并進(jìn)行展示。
其中,所述日志后臺服務(wù)還包括:
刪除模塊,用于根據(jù)預(yù)設(shè)的刪除策略,對存儲的日志數(shù)據(jù)執(zhí)行刪除操作。
其中,所述日志后臺服務(wù)還包括:
報警分析模塊,用于根據(jù)預(yù)設(shè)的監(jiān)控策略對存儲的日志數(shù)據(jù)進(jìn)行分析檢測;若檢測到異常數(shù)據(jù),則通過所述日志展現(xiàn)模塊展示與異常數(shù)據(jù)對應(yīng)的報警信息。
通過以上方案可知,本發(fā)明實(shí)施例提供的一種基于分布式存儲的日志分析方法,包括:日志代理實(shí)時收集日志數(shù)據(jù),并將所述日志數(shù)據(jù)發(fā)送至日志后臺服務(wù);所述日志后臺服務(wù)接收所述日志數(shù)據(jù),根據(jù)所述日志數(shù)據(jù)確定分片參數(shù)及副本參數(shù),并根據(jù)所述分片參數(shù)和所述副本參數(shù)對所述日志數(shù)據(jù)進(jìn)行分布式存儲,以使日志展現(xiàn)模塊通過日志接口對日志數(shù)據(jù)進(jìn)行分析及展示。
可見,在本實(shí)施例中,日志數(shù)據(jù)的存儲采用分布式存儲方式,在分布式環(huán)境下日志數(shù)據(jù)采用分片和副本策略,實(shí)現(xiàn)了高性能、高伸縮和高可用。并且,分片技術(shù)為大規(guī)模并行索引和搜索提供了支持,極大地提高了索引和搜索的性能,極大地提高了水平擴(kuò)展能力;副本技術(shù)為數(shù)據(jù)提供冗余,部分機(jī)器故障不影響系統(tǒng)的正常使用,保證了系統(tǒng)的持續(xù)高可用;本發(fā)明還公開了一種基于分布式存儲的日志分析裝置,同樣能實(shí)現(xiàn)上述技術(shù)效果。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實(shí)施例公開的一種基于分布式存儲的日志分析方法流程示意圖;
圖2為本發(fā)明實(shí)施例公開的一種基于分布式存儲的日志分析原理圖;
圖3為本發(fā)明實(shí)施例公開的一種基于分布式存儲的日志分析交互示意圖;
圖4為本發(fā)明實(shí)施例公開的一種2個分片及2份副本的索引結(jié)構(gòu)示意圖;
圖5為本發(fā)明實(shí)施例公開的一種基于分布式存儲的日志分析裝置結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
本發(fā)明實(shí)施例公開了一種基于分布式存儲的日志分析方法及裝置,以實(shí)現(xiàn)對日志數(shù)據(jù)的海量存儲及分析。
參見圖1,本發(fā)明實(shí)施例提供的一種基于分布式存儲的日志分析方法,包括:
s101、日志代理實(shí)時收集日志數(shù)據(jù),并將所述日志數(shù)據(jù)發(fā)送至日志后臺服務(wù);
具體的,云應(yīng)用環(huán)境下日志信息是流式數(shù)據(jù),數(shù)據(jù)量大,需要提供日志信息的查詢和分析工作,因此在本實(shí)施例中,通過日志代理負(fù)責(zé)對日志數(shù)據(jù)的實(shí)時收集,并實(shí)時發(fā)送至日志后臺服務(wù),以實(shí)現(xiàn)用戶通過對日志數(shù)據(jù)的分析檢查錯誤發(fā)生的原因,或者尋找受到攻擊時攻擊者留下的痕跡。
s102、所述日志后臺服務(wù)接收所述日志數(shù)據(jù),根據(jù)所述日志數(shù)據(jù)確定分片參數(shù)及副本參數(shù),并根據(jù)所述分片參數(shù)和所述副本參數(shù)對所述日志數(shù)據(jù)進(jìn)行分布式存儲,以使日志展現(xiàn)模塊通過日志接口對日志數(shù)據(jù)進(jìn)行分析及展示。
其中,所述日志展現(xiàn)模塊通過日志接口對日志數(shù)據(jù)進(jìn)行分析及展示,包括:
所述日志展現(xiàn)模塊接收用戶輸入的統(tǒng)計信息;所述統(tǒng)計信息包括統(tǒng)計關(guān)鍵字信息和/或統(tǒng)計時間信息;
所述日志展現(xiàn)模塊利用所述統(tǒng)計信息,調(diào)用記錄統(tǒng)計接口從所述日志后臺服務(wù)獲取統(tǒng)計結(jié)果并進(jìn)行展示。
或者,所述日志展現(xiàn)模塊接收用戶輸入的查詢信息;所述查詢信息包括查詢關(guān)鍵字信息和/或查詢時間信息;
所述日志展現(xiàn)模塊利用所述查詢信息,調(diào)用日志查詢接口從所述日志后臺服務(wù)獲取查詢結(jié)果并進(jìn)行展示。
具體的,參見圖2及圖3,圖2為本發(fā)明實(shí)施例公開的一種基于分布式存儲的日志分析原理圖;圖3為本發(fā)明實(shí)施例公開的一種基于分布式存儲的日志分析交互示意圖;可以看出,在本方案中,日志信息的統(tǒng)計及查詢是通過日志展現(xiàn)服務(wù)調(diào)用相應(yīng)的日志接口實(shí)現(xiàn),例如圖3中的記錄統(tǒng)計接口和日志查詢接口;并且對日志進(jìn)行統(tǒng)計和查詢時,可根據(jù)用戶輸入的時間和/或關(guān)鍵字進(jìn)行查詢。
具體的,本方案通過對日志數(shù)據(jù)進(jìn)行分布式分片存儲策略大大提高查詢和存儲效率;例如:在生產(chǎn)環(huán)境中通過將一個分片數(shù)據(jù)復(fù)制5個同樣的副本技術(shù),通常會比傳統(tǒng)技術(shù)提高5倍以上的查詢效率。參見圖4,圖4為本發(fā)明實(shí)施例公開的一種2個分片及2份副本的索引結(jié)構(gòu)示意圖;可以看出,一個完整的索引被切分為0和1兩個獨(dú)立部分,每一部分都有2個副本。
并且在生產(chǎn)環(huán)境中,隨著數(shù)據(jù)規(guī)模的增大,只需簡單地增加硬件機(jī)器節(jié)點(diǎn)即可,搜索引擎會自動地調(diào)整分片數(shù)以適應(yīng)硬件的增加,當(dāng)部分節(jié)點(diǎn)退役的時候,搜索引擎也會自動調(diào)整分片數(shù)以適應(yīng)硬件的減少,同時可以根據(jù)硬件的可靠性水平及存儲容量的變化隨時更改副本數(shù),這一切都是動態(tài)的,不需要重啟集群,這也是高可用的重要保障。
基于上述實(shí)施例,本方案還包括:
日志后臺服務(wù)根據(jù)預(yù)設(shè)的刪除策略,對存儲的日志數(shù)據(jù)執(zhí)行刪除操作。
具體的,在本實(shí)施例中,日志展現(xiàn)模塊通過調(diào)用日志接口服務(wù)查詢?nèi)罩緮?shù)據(jù),日志數(shù)據(jù)量寵大,采用分布式存儲技術(shù)保存日志數(shù)據(jù),同時在本實(shí)施例中,日志數(shù)據(jù)可按照預(yù)設(shè)的刪除策略進(jìn)行周期清理。這里的刪除策略可以為定時清理策略,即按照預(yù)定周期刪除日志數(shù)據(jù),例如:間隔3個月刪除一次,每次刪除時可以選擇保留最近1個月、2個月等;也可以為按檢索條件進(jìn)行刪除;需要說明的時,若定時器定期執(zhí)行一次刪除歷史日志,歷史日志刪除周期通過前端配置,如日志保留。
基于上述任意實(shí)施例,本方案還包括:
日志后臺服務(wù)根據(jù)預(yù)設(shè)的監(jiān)控策略對存儲的日志數(shù)據(jù)進(jìn)行分析檢測;若檢測到異常數(shù)據(jù),則通過日志展現(xiàn)模塊展示與異常數(shù)據(jù)對應(yīng)的報警信息。
具體的,在本方案對日志數(shù)據(jù)進(jìn)行分析檢測時,需要針對離散的數(shù)據(jù)計算出與預(yù)設(shè)指標(biāo)的偏差度,若偏差度大于預(yù)定閾值,則為用戶提供報警信息。
需要說明的時,容器監(jiān)控及日志分析模型是針對企業(yè)各種業(yè)務(wù)監(jiān)控管理需求提出的應(yīng)用性能監(jiān)控管理解決方案;因此,本方案對日志的分析檢測,可針對不同的業(yè)務(wù)系統(tǒng)、應(yīng)用和網(wǎng)絡(luò)服務(wù)(如服務(wù)器、操作系統(tǒng)、數(shù)據(jù)庫、web服務(wù)、中間件、郵件系統(tǒng)、其他關(guān)鍵應(yīng)用等)進(jìn)行多角度、深層次、更清晰地監(jiān)控和管理,充分滿足用戶對各種關(guān)鍵業(yè)務(wù)和容器監(jiān)控管理需求。其管理能力包括服務(wù)器監(jiān)視、中間件監(jiān)視、數(shù)據(jù)庫監(jiān)視、應(yīng)用監(jiān)視、虛擬環(huán)境監(jiān)視、以及其他大量的應(yīng)用管理能力,幫助it管理員有效地管理各種資源。
下面對本發(fā)明實(shí)施例提供的日志分析裝置進(jìn)行介紹,下文描述的日志分析裝置與上文描述的日志分析方法可以相互參照。
參見圖5,本發(fā)明實(shí)施例提供的一種基于分布式存儲的日志分析裝置,包括:
日志代理100,用于實(shí)時收集日志數(shù)據(jù),并將所述日志數(shù)據(jù)發(fā)送至日志后臺服務(wù);
日志后臺服務(wù)200,用于接收所述日志數(shù)據(jù),根據(jù)所述日志數(shù)據(jù)確定分片參數(shù)及副本參數(shù),并根據(jù)所述分片參數(shù)和所述副本參數(shù)對所述日志數(shù)據(jù)進(jìn)行分布式存儲;
日志展現(xiàn)模塊300,用于通過日志接口對存儲在所述日志后臺服務(wù)的日志數(shù)據(jù)進(jìn)行分析及展示。
基于上述實(shí)施例,所述日志后臺服務(wù)包括:
第一接收模塊,用于接收用戶輸入的統(tǒng)計信息;所述統(tǒng)計信息包括統(tǒng)計關(guān)鍵字信息和/或統(tǒng)計時間信息;
第一獲取模塊,用于利用所述統(tǒng)計信息,調(diào)用記錄統(tǒng)計接口從所述日志后臺服務(wù)獲取統(tǒng)計結(jié)果并進(jìn)行展示。
基于上述實(shí)施例,所述日志后臺服務(wù)包括:
第二接收模塊,用于接收用戶輸入的查詢信息;所述查詢信息包括查詢關(guān)鍵字信息和/或查詢時間信息;
第二獲取模塊,用于利用所述查詢信息,調(diào)用日志查詢接口從所述日志后臺服務(wù)獲取查詢結(jié)果并進(jìn)行展示。
基于上述實(shí)施例,所述日志后臺服務(wù)還包括:
刪除模塊,用于根據(jù)預(yù)設(shè)的刪除策略,對存儲的日志數(shù)據(jù)執(zhí)行刪除操作。
基于上述實(shí)施例,所述日志后臺服務(wù)還包括:
報警分析模塊,用于根據(jù)預(yù)設(shè)的監(jiān)控策略對存儲的日志數(shù)據(jù)進(jìn)行分析檢測;若檢測到異常數(shù)據(jù),則通過所述日志展現(xiàn)模塊展示與異常數(shù)據(jù)對應(yīng)的報警信息。
本發(fā)明實(shí)施例提供的一種基于分布式存儲的日志分析方法,包括:日志代理實(shí)時收集日志數(shù)據(jù),并將所述日志數(shù)據(jù)發(fā)送至日志后臺服務(wù);所述日志后臺服務(wù)接收所述日志數(shù)據(jù),根據(jù)所述日志數(shù)據(jù)確定分片參數(shù)及副本參數(shù),并根據(jù)所述分片參數(shù)和所述副本參數(shù)對所述日志數(shù)據(jù)進(jìn)行分布式存儲,以使日志展現(xiàn)模塊通過日志接口對日志數(shù)據(jù)進(jìn)行分析及展示。
可見,在本實(shí)施例中,日志數(shù)據(jù)的存儲采用分布式存儲方式,在分布式環(huán)境下日志數(shù)據(jù)采用分片和副本策略,實(shí)現(xiàn)了高性能、高伸縮和高可用。并且,分片技術(shù)為大規(guī)模并行索引和搜索提供了支持,極大地提高了索引和搜索的性能,極大地提高了水平擴(kuò)展能力;副本技術(shù)為數(shù)據(jù)提供冗余,部分機(jī)器故障不影響系統(tǒng)的正常使用,保證了系統(tǒng)的持續(xù)高可用;本發(fā)明還公開了一種基于分布式存儲的日志分析裝置,同樣能實(shí)現(xiàn)上述技術(shù)效果。
本說明書中各個實(shí)施例采用遞進(jìn)的方式描述,每個實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處,各個實(shí)施例之間相同相似部分互相參見即可。
對所公開的實(shí)施例的上述說明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。對這些實(shí)施例的多種修改對本領(lǐng)域的專業(yè)技術(shù)人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實(shí)施例中實(shí)現(xiàn)。因此,本發(fā)明將不會被限制于本文所示的這些實(shí)施例,而是要符合與本文所公開的原理和新穎特點(diǎn)相一致的最寬的范圍。