国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于機(jī)器學(xué)習(xí)的日志解析系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

2018-04-12 05:51郭淵博
計(jì)算機(jī)應(yīng)用 2018年2期
關(guān)鍵詞:日志預(yù)處理聚類

鐘 雅,郭淵博

(1.信息工程大學(xué) 網(wǎng)絡(luò)空間安全學(xué)院,鄭州 450001; 2.數(shù)學(xué)工程與先進(jìn)計(jì)算國家重點(diǎn)實(shí)驗(yàn)室,鄭州 450001)(*通信作者電子郵箱1183316762@qq.com)

0 引言

為了保證系統(tǒng)與系統(tǒng)信息安全,日志幾乎內(nèi)建于所有的系統(tǒng)中,它被用于記錄系統(tǒng)運(yùn)行時(shí)產(chǎn)生的信息,如日常操作、網(wǎng)絡(luò)訪問、系統(tǒng)警告、系統(tǒng)錯(cuò)誤等事件的相關(guān)屬性與信息。這些信息對了解系統(tǒng)的運(yùn)行情況起著非常重要的作用,因此常用于異常檢測。隨著計(jì)算機(jī)系統(tǒng)規(guī)模與復(fù)雜性的增長,日志數(shù)量隨之增加,開發(fā)者或維護(hù)者能夠根據(jù)豐富的日志信息監(jiān)視系統(tǒng)運(yùn)行時(shí)的行為,并以此進(jìn)一步跟蹤尋找系統(tǒng)異常問題的源頭;但是由于計(jì)算機(jī)系統(tǒng)龐大,并且大多數(shù)系統(tǒng)日志是非結(jié)構(gòu)化的原始文本,當(dāng)實(shí)際問題出現(xiàn)時(shí),面對這些規(guī)模龐大的日志數(shù)據(jù),測試者往往束手無策。如何在最短時(shí)間內(nèi)高效又精準(zhǔn)地對海量日志數(shù)據(jù)進(jìn)行解析并提取有用信息成為一個(gè)亟待解決的重要問題[1]。

近年來,日志解析得到了越來越多的關(guān)注與快速發(fā)展[2]。在傳統(tǒng)的日志解析方法中,開發(fā)者通常根據(jù)自己的認(rèn)知手動檢查系統(tǒng)問題或者創(chuàng)建正則表達(dá)式來定期維護(hù),但是,這類方法對專家經(jīng)驗(yàn)知識依賴性強(qiáng),通常不具備從歷史經(jīng)驗(yàn)中主動學(xué)習(xí)知識的能力,當(dāng)新的格式日志出現(xiàn)時(shí),解析規(guī)則很容易就變得過時(shí),因此,靈活多變的自動日志解析方法成為一種需求。近些年,越來越多的研究者致力于對日志進(jìn)行自動化解析。Nagappan等[3]提出了一種具有線性運(yùn)行時(shí)間與空間的離線日志解析方法;Prewett[4]提出了一種基于規(guī)則的方法處理控制臺日志;薛文娟[5]提出了一種基于層次聚類的日志分析方法;馬文等[6]設(shè)計(jì)了一種基于頻繁模式增長(Frequent Pattern-Growth, FP-Growth)算法的安全日志分析系統(tǒng)。但是這些方法仍存在如下缺陷:1)只適用于嚴(yán)格的格式化、結(jié)構(gòu)化日志,其性能嚴(yán)重依賴日志信息的格式與結(jié)構(gòu)特征;2)依賴于源程序?qū)θ罩疚谋镜募s束,適用性不強(qiáng);3)日志格式的非結(jié)構(gòu)性導(dǎo)致解析精度不高;4)對日志管理員要求較高,相關(guān)規(guī)則需要日志管理員預(yù)先寫成腳本,管理員需要對系統(tǒng)或者代碼有深刻的理解,否則難以寫出有效的腳本。

針對以上問題,主要有兩種主流日志解析方法:基于聚類的方法和基于啟發(fā)式的方法?;诰垲惖娜罩窘馕龇椒ㄒ匀罩娟P(guān)鍵字提取(Log Keywords Extraction, LKE)和LogSig(Log Signature)為典型代表[7]。它們首先計(jì)算日志之間的距離,然后采用聚類技術(shù)組成不同的日志集群(簇),最后,事件模板從每一個(gè)集群(簇)中生成?;趩l(fā)式的日志解析方法則以簡單日志聚類工具(Simple Log Clustering Tool, SLCT)為典型代表。每一個(gè)日志位置的每個(gè)項(xiàng)被計(jì)數(shù),然后選擇出現(xiàn)頻繁的項(xiàng)來組成事件候選者,最后,候選者被選擇作為日志事件。以上兩種方法中,LKE方法因?yàn)槠渥陨硖攸c(diǎn)不能應(yīng)用于數(shù)據(jù)量較大的處理任務(wù)中;SLCT雖然也能實(shí)現(xiàn)高解析精度,但是在系統(tǒng)異常問題檢測時(shí),它處理的解析結(jié)果通常會帶來更多的錯(cuò)誤警報(bào)。

本文主要結(jié)合LogSig算法相關(guān)理論知識,設(shè)計(jì)并開發(fā)了一個(gè)可從非結(jié)構(gòu)原始日志文本中生成系統(tǒng)日志事件的日志解析系統(tǒng)。該系統(tǒng)包括原始數(shù)據(jù)預(yù)處理、日志解析、聚類分析評價(jià)和聚類結(jié)果散點(diǎn)圖顯示四大功能,系統(tǒng)處理的結(jié)果可轉(zhuǎn)換為日志數(shù)據(jù)挖掘任務(wù)與網(wǎng)絡(luò)入侵檢測所需的日志事件序列。該系統(tǒng)在VAST 2011挑戰(zhàn)賽的開源防火墻日志數(shù)據(jù)集上進(jìn)行了測試,結(jié)果顯示其日志解析平均精度可達(dá)85%以上。實(shí)驗(yàn)表明,對原始LogSig算法增加數(shù)據(jù)預(yù)處理步驟后,與原始LogSig算法相比,解析精度提高了60%;同時(shí),通過與聚類結(jié)果評價(jià)模塊相結(jié)合,用戶能夠更加直觀地觀察本系統(tǒng)日志解析效率。

1 日志解析系統(tǒng)

1.1 日志解析

日志是由不變部分與可變部分組成的純文本,大多數(shù)系統(tǒng)日志是非結(jié)構(gòu)化的原始文本。日志解析的主要目的是把原始日志文本中的不變部分從可變部分分離出來并形成一個(gè)良好的結(jié)構(gòu)化日志事件。圖1為日志解析的一個(gè)實(shí)例。

圖1 日志解析實(shí)例Fig. 1 Example of log parsing

1.2 聚類分析

聚類分析又稱群分析,是一種無監(jiān)督學(xué)習(xí)方法。它按照事物的某種屬性,將一組樣本對象劃分成簇,使簇內(nèi)樣本對象具有盡可能高的相似性,而簇間對象具有盡可能小的相似性。其主要目的是將若干無標(biāo)記對象進(jìn)行劃分,使之成為有意義的聚類。聚類分析預(yù)先不知道目標(biāo)數(shù)據(jù)集存在多少類,需要以某種距離度量為基礎(chǔ),對所有的對象進(jìn)行聚類,使得同一聚類之間距離最小,而不同聚類之間距離最大。聚類分析可在幾乎無任何相關(guān)數(shù)據(jù)先驗(yàn)信息可用的情況下分析數(shù)據(jù)點(diǎn)的內(nèi)在關(guān)系以作進(jìn)一步研究。如圖2中以二維空間的來表示樣本對象,圖2(a)表示的是一組輸出對象,圖2(b)則是所期望的聚類。

圖2 聚類示例Fig. 2 Example of clustering

1.3 聚類結(jié)果評估

聚類評價(jià)包括聚類過程評價(jià)和聚類結(jié)果評價(jià)兩個(gè)方面。前者主要考察聚類算法的屬性,后者只需要考慮給定的聚類結(jié)果是否合理與有效。一般比較常見的聚類結(jié)果評價(jià)(聚類評價(jià)指標(biāo))分為外部度量、內(nèi)部度量和相對度量三大類。內(nèi)部度量利用數(shù)據(jù)集的固有特征和量值來評價(jià)聚類算法結(jié)果,通常用于數(shù)據(jù)集結(jié)構(gòu)未知、無標(biāo)簽的聚類評價(jià);相對度量側(cè)重于聚類算法的有效性。本文中數(shù)據(jù)集結(jié)構(gòu)已知,且側(cè)重聚類算法的精度,故采用外部度量作為聚類評價(jià)指標(biāo)。外部度量假設(shè)聚類算法的結(jié)果是基于一種人工預(yù)先指定的結(jié)構(gòu),這種結(jié)構(gòu)反映了人們對數(shù)據(jù)聚類結(jié)構(gòu)的一種直觀認(rèn)識,對每個(gè)數(shù)據(jù)項(xiàng)進(jìn)行人工標(biāo)注,聚類結(jié)果與人工越吻合越好。外部度量的常用指標(biāo)有F_measure和Rand index。

1.4 LogSig日志解析算法

LogSig日志解析算法由Tang等[7]提出,其目的主要是選取文本日志信息中具有代表性的簽名組成系統(tǒng)事件模板,進(jìn)而將日志分成不同類。算法能處理各種類型的日志數(shù)據(jù),并實(shí)現(xiàn)較高的解析精度。

2 日志解析系統(tǒng)設(shè)計(jì)

基于規(guī)則匹配的方法是最常見的日志解析方法[8-9],操作者主要通過正則表達(dá)式從日志中提取模式,而后對抽取模式進(jìn)行簡單的分類。此類系統(tǒng)維護(hù)較為困難,但相比傳統(tǒng)文本模式,它在一定程度上提高了解析效率與精度。研究發(fā)現(xiàn),LogSig算法并沒有明確原始日志文本的處理,這樣導(dǎo)致日志項(xiàng)對生成與遍歷日志項(xiàng)對的時(shí)間開銷較大;同時(shí),日志信息中個(gè)別無關(guān)日志項(xiàng)會影響日志分類,降低日志解析精度。

因此,本文考慮將模式匹配與LogSig算法相結(jié)合,在其基礎(chǔ)上基于機(jī)器學(xué)習(xí)原理進(jìn)行擴(kuò)展,改進(jìn)日志解析算法,增加數(shù)據(jù)預(yù)處理功能和聚類結(jié)果評價(jià),并設(shè)計(jì)開發(fā)了一個(gè)日志解析系統(tǒng)。為了便于用戶使用與后期維護(hù),該系統(tǒng)分為原始數(shù)據(jù)預(yù)處理模塊、日志解析模塊、聚類結(jié)果評價(jià)模塊和聚類結(jié)果散點(diǎn)圖模塊,它們的主要功能如下:

1)數(shù)據(jù)預(yù)處理模塊主要對原始日志數(shù)據(jù)進(jìn)行相關(guān)處理以提高解析效率與精度;

2)日志解析模塊主要實(shí)現(xiàn)LogSig算法,完成日志項(xiàng)對生成、日志聚類和日志模板生成;

3)聚類結(jié)果評價(jià)模塊則利用聚類的評估指標(biāo)精度(Precision)、F_measure、Rand index對本系統(tǒng)功能進(jìn)行評估;

4)聚類結(jié)果散點(diǎn)圖模塊則采用散點(diǎn)圖形式直觀反映日志解析的外部度量參數(shù)。

2.1 數(shù)據(jù)預(yù)處理模塊

數(shù)據(jù)預(yù)處理是數(shù)據(jù)挖掘前的準(zhǔn)備工作,它既能保證挖掘數(shù)據(jù)的有效性和正確性,又能通過對數(shù)據(jù)格式和內(nèi)容進(jìn)行調(diào)整,從而使數(shù)據(jù)更符合挖掘的需要[10]。其主要任務(wù)是根據(jù)背景知識中的約束性規(guī)則對數(shù)據(jù)進(jìn)行檢查,通過清理和歸納等操作,生成供數(shù)據(jù)挖掘算法使用的目標(biāo)數(shù)據(jù)。

隨著存儲技術(shù)的發(fā)展,收集到的日志與實(shí)際有效日志之間的矛盾日漸突出;同時(shí),未處理的原始日志必然導(dǎo)致日志解析代價(jià)增加,因此,本文將數(shù)據(jù)預(yù)處理與LogSig算法相結(jié)合。數(shù)據(jù)預(yù)處理模塊是提高解析精度的關(guān)鍵,也是本文系統(tǒng)的創(chuàng)新點(diǎn)。

2.1.1位置固定無關(guān)項(xiàng)的去除

原始日志數(shù)據(jù)中通常有一些固定不變的項(xiàng),且它們在每條日志中出現(xiàn)的位置一樣,如日志數(shù)據(jù)集中代表日志產(chǎn)生日期的2011- 04- 14;或者雖然變化,但是屬性一樣,如08:00:00與08:00:06雖然不同但都是時(shí)間。這些項(xiàng)不僅對日志分類沒有幫助,而且會造成代價(jià)的增加。

2.1.2位置不定無關(guān)項(xiàng)的去除

日志中還有一些項(xiàng),它們的屬性一樣,但是出現(xiàn)位置并不固定,因此不能通過去除位置固定無關(guān)項(xiàng)的方法去除,如IP地址、端口號等。所以,本文考慮通過拆分每一條日志,利用匹配子串的原理采用正則表達(dá)式來去除。

2.2 日志解析模塊

日志解析模塊是本系統(tǒng)的核心部分,也是主要難點(diǎn)。一個(gè)好的同類事件評判標(biāo)準(zhǔn)往往能達(dá)到一個(gè)好的聚類結(jié)果。該模塊采用具體函數(shù)值作為評判劃分同一類事件的衡量標(biāo)準(zhǔn),通過不斷迭代提高分類精確度?;静襟E包括項(xiàng)對的生成、日志聚類以及日志事件模板的生成。

2.2.1項(xiàng)對的生成

日志以空格為拆分符可拆分成N個(gè)字符串,每一個(gè)字符串為日志的一個(gè)項(xiàng),每兩個(gè)項(xiàng)組成一個(gè)項(xiàng)對,一條日志的所有項(xiàng)對為第1項(xiàng)依次與后面的第2,3,…,N項(xiàng)組合為N-1個(gè)項(xiàng)對(1,2)、(1,3)、(1,4)、…、(1,N),第2項(xiàng)依次與后面的第3,4,…,N項(xiàng)組合為N-2個(gè)項(xiàng)對(2,3)、(2,4)、(2,5)、…、(2,N),……,第N-1項(xiàng)與后面的第N項(xiàng)組合為1個(gè)項(xiàng)對(N-1,N)。

將每條日志信息轉(zhuǎn)換成多組項(xiàng)對。具體來說,基于預(yù)處理部分每條日志,文中采用遍歷方式,日志中每兩個(gè)項(xiàng)組成一個(gè)項(xiàng)對。

2.2.2日志聚類

日志聚類是日志解析的核心步驟。聚類的目的是將原始日志文本中同一類日志事件分為一類,從而用一個(gè)日志事件模板來描述它。查閱相關(guān)文獻(xiàn)發(fā)現(xiàn),機(jī)器學(xué)習(xí)中聚類方法的中心思想能滿足本文研究的需求(詳見本文1.2節(jié))。根據(jù)聚類算法原理,首先將原始日志分成k組,然后基于日志的項(xiàng)對,計(jì)算每條日志從一個(gè)組到另一個(gè)消息組后的潛在函數(shù)的值,其計(jì)算公式為:

(1)

其中:在日志文本C中,對于一個(gè)項(xiàng)對r∈R(C),N(r,C)指的是C中包含項(xiàng)對r的日志數(shù)量,p(r,C)=N(r,C)/|C|表示在C中含有項(xiàng)對r的日志部分所占比率。

通過比較當(dāng)前日志移動前后潛在函數(shù)的值以確定日志是否移動,若函數(shù)值增大,則更新日志分組消息,通過不斷迭代,選擇更大的潛在函數(shù)值,直到最后一次迭代中,沒有任何一條日志有日志潛在值的增加,則可將當(dāng)前分組確定為日志事件歸類的最終分組。

2.2.3日志事件模板生成

消息簽名是在每組中每條日志都具有高匹配得分的序列項(xiàng)。日志事件模板生成操作中,首先需要構(gòu)建日志信息簽名。具體實(shí)現(xiàn)方法為:保存日志信息劃分組中每條日志每個(gè)項(xiàng)出現(xiàn)的頻率,選擇每組中出現(xiàn)次數(shù)超過一半的項(xiàng)作為候選項(xiàng),即消息簽名;然后,將每條日志中含有的候選項(xiàng)組成日志事件候選,每組中出現(xiàn)頻率最高的日志事件候選為當(dāng)前組的最終日志事件模板輸出。

2.3 聚類結(jié)果評價(jià)模塊

聚類的典型形式化目標(biāo)函數(shù)是為了實(shí)現(xiàn)高的集群(簇)內(nèi)相似性(群(簇)內(nèi)的文件是相似的)和低的集群(簇)間相似性(不同集群的文件不一樣)。這是聚類質(zhì)量的一個(gè)內(nèi)部標(biāo)準(zhǔn),但良好的內(nèi)部標(biāo)準(zhǔn)分?jǐn)?shù)并不一定是轉(zhuǎn)化成應(yīng)用中良好效果的必要條件。內(nèi)部標(biāo)準(zhǔn)的另一種選擇是直接評估應(yīng)用程序的利益。最直接的聚類搜索結(jié)果評估方法就是衡量用戶采用不同聚類算法找到答案所花費(fèi)的時(shí)間,但它的花費(fèi)很大,特別是在需要大量研究時(shí)更為突出。

因此,在聚類結(jié)果評價(jià)模塊采用外部度量作為聚類評價(jià)指標(biāo),這里主要選?。簻?zhǔn)確率(Precision)、綜合評價(jià)標(biāo)準(zhǔn)F_measure和Rand index。本文實(shí)驗(yàn)中通過運(yùn)行程序50次來避免聚類自身性質(zhì)帶來的誤差。

2.3.1Precision

準(zhǔn)確率是檢索出的相應(yīng)文檔占檢索出的總文檔數(shù)量的比率,衡量的是系統(tǒng)的查準(zhǔn)性。采用信息檢索與統(tǒng)計(jì)學(xué)分類的準(zhǔn)確率與召回率(Recall)思想,數(shù)據(jù)所屬的類t可以看作集合Nt中等待查詢的項(xiàng),Nk是簇Ck的大小,Ntk是簇中類t的數(shù)量[11]。對于類t與簇Ck的準(zhǔn)確率計(jì)算公式如下:

Precision(t,Ck)=Ntk/Nk

(2)

結(jié)合本文研究的任務(wù)要求,此處將其轉(zhuǎn)化為:

Precision=TP/(TP+FP)

(3)

其中:TP(True Positive)為被正確劃分正例的個(gè)數(shù),即兩個(gè)相似樣本劃分到同一集群(簇);FP(False Positive)為被錯(cuò)誤劃分為正例的個(gè)數(shù),即兩個(gè)不同樣本劃分到同一集群(簇)。

2.3.2F_measure

簇索引與統(tǒng)計(jì)任務(wù)中,準(zhǔn)確率與召回率越高越好,但是兩者通常情況下是相互矛盾的,這就需要綜合考慮它們,最常見的方法就是F_measure,它是Precision與Recall的加權(quán)調(diào)和平均[12]。其計(jì)算公式如下:

(4)

其中Recall的計(jì)算公式為:

Recall(t,Ck)=Ntk/Nk

(5)

同樣按任務(wù)要求可轉(zhuǎn)換為:

Recall=TP/(TP+FN)

(6)

其中,F(xiàn)N(False Negatives)為被錯(cuò)誤劃分為負(fù)例的個(gè)數(shù)即兩個(gè)相同樣本劃分到不同集群(簇)。

2.3.3Rand index

Rand index[13]通常用來衡量聚類結(jié)果與樣本數(shù)據(jù)外部標(biāo)準(zhǔn)類之間的一致程度,其計(jì)算公式如下:

Rand_index=(TP+TN)/(TP+FP+TN+FN)

(7)

其中,TN(True Negatives)為被正確劃分為負(fù)例的個(gè)數(shù),即兩個(gè)不同樣本劃分到不同集群(簇)。Rand_index范圍為[0,1],其數(shù)值越大,代表兩種劃分的一致性越高,聚類準(zhǔn)確性越高,聚類結(jié)果與真實(shí)情況越吻合。

2.4 聚類結(jié)果散點(diǎn)圖模塊

為了更加直觀地展示系統(tǒng)對日志解析任務(wù)的解析精度,本文設(shè)計(jì)了聚類結(jié)果散點(diǎn)圖模塊。該模塊主要調(diào)用python matplotlib模塊相關(guān)函數(shù)來顯示解析后的Precision、F-measure與Rand index的散點(diǎn)圖,X軸為當(dāng)前實(shí)驗(yàn)次數(shù),Y軸為本次實(shí)驗(yàn)的Precision、F-measure與Rand index。

3 系統(tǒng)測試

本章主要對系統(tǒng)結(jié)果進(jìn)行定向分析,采用anaconda運(yùn)行系統(tǒng),利用VAST 2011挑戰(zhàn)賽的開源防火墻日志數(shù)據(jù)集分析數(shù)據(jù)預(yù)處理部分的劃分簇?cái)?shù)、正則表達(dá)式對日志解析精度的影響。

3.1 平均解析精度

實(shí)驗(yàn)分別采用包含400,800,1 200條日志的三個(gè)樣本數(shù)據(jù)進(jìn)行實(shí)驗(yàn),測量50次解析任務(wù)后的平均Precision、F_measure以及Rand index,結(jié)果如圖3和表1所示。

圖3顯示,在本組實(shí)驗(yàn)中,聚類評價(jià)值數(shù)據(jù)較為集中,且基本都在85%以上。表1數(shù)據(jù)顯示,不管日志數(shù)量大小,無論是使用分類指標(biāo)Precision還是聚類指標(biāo)F_measure、Rand index衡量,日志解析系統(tǒng)50次實(shí)驗(yàn)的平均解析精度均能達(dá)到90%以上。

圖3 不同日志數(shù)量樣例實(shí)驗(yàn)結(jié)果Fig. 3 Experimental results of different number of log samples

表1 50次實(shí)驗(yàn)的平均日志解析準(zhǔn)確率 %Tab. 1 Average log parsing accuracy of fifty experiments %

3.2 劃分簇?cái)?shù)對聚類結(jié)果的影響

劃分簇的大小決定最終日志事件模板的個(gè)數(shù),本文通過分析真實(shí)事件個(gè)數(shù)為14的400條日志樣例,分別設(shè)置明顯少于真實(shí)事件個(gè)數(shù)(6)、明顯高于真實(shí)事件個(gè)數(shù)(26)以及接近真實(shí)事件個(gè)數(shù)(16)的劃分簇?cái)?shù),而其他參數(shù)項(xiàng)相同來研究劃分簇?cái)?shù)對解析精度F_measure、Precision、Rand index的影響。表2為不同劃分簇下的平均評價(jià)。

表2數(shù)據(jù)顯示,劃分簇?cái)?shù)會影響日志解析精度,尤其是當(dāng)事件個(gè)數(shù)明顯小于真實(shí)事件個(gè)數(shù)時(shí),日志解析精度相比接近事件真實(shí)值的劃分簇?cái)?shù),其三項(xiàng)指標(biāo)Precision、F_measure、Rand index都有明顯降低。日志事件明顯大于真實(shí)日志事件個(gè)數(shù)時(shí),日志的解析精度相比接近事件真實(shí)值的劃分簇?cái)?shù)的精度Precision有些許升高,這是因?yàn)殡S著日志事件個(gè)數(shù)的增加,同一類事件分到同一個(gè)劃分簇的幾率加大;但是其F_measure、Rand index都有所降低,總體而言三項(xiàng)指標(biāo)差距不是很大。通過比較解析運(yùn)行時(shí)間發(fā)現(xiàn),劃分簇?cái)?shù)為26時(shí),其平均運(yùn)行時(shí)間為劃分簇?cái)?shù)為16時(shí)運(yùn)行時(shí)間的1.4倍。這是因?yàn)楫?dāng)日志事件個(gè)數(shù)增加時(shí),其用于日志聚類過程的花費(fèi)將相應(yīng)增加。所以,綜合以上結(jié)果,劃分簇?cái)?shù)接近真實(shí)事件個(gè)數(shù)時(shí)能得到最好的實(shí)驗(yàn)效果。

表2 不同劃分簇?cái)?shù)對日志聚類結(jié)果的影響 %Tab. 2 Impact of different cluster numbers on log clustering results %

3.3 正則表達(dá)式對聚類結(jié)果的影響

正則表達(dá)式是數(shù)據(jù)預(yù)處理部分最關(guān)鍵的一個(gè)步驟,通過分析有無正則表達(dá)式對400條日志樣例解析任務(wù)的F_measure、Precision、Rand index的影響來進(jìn)行討論。表3為有無正則表達(dá)式以及正則表達(dá)式是否合適的實(shí)驗(yàn)結(jié)果。從表3實(shí)驗(yàn)結(jié)果來看,數(shù)據(jù)預(yù)處理過程中正則表達(dá)式的選擇至關(guān)重要,不應(yīng)該選擇日志中的敏感詞作為正則表達(dá)式匹配的對象,而應(yīng)該選擇與其無關(guān)的詞作為匹配規(guī)則匹配對象,這樣才能達(dá)到顯著提高解析精度的目的。

表3 有無正則表達(dá)式對日志聚類結(jié)果的影響 %Tab. 3 Impact on log clustering results with or without regular expression %

3.4 日志大小對解析時(shí)間的影響

最后,通過對比100,101,102,103,104,105KB大小日志數(shù)據(jù)的解析運(yùn)行時(shí)間來討論日志大小對本文系統(tǒng)運(yùn)行時(shí)間的影響,結(jié)果如圖4所示。從圖4可以看出,日志解析運(yùn)行時(shí)間隨著日志大小的增加而增加,并且增長幅度逐漸增加,這主要是因?yàn)槿罩敬笮∮绊懢垲惖臅r(shí)間復(fù)雜度。這也為本文系統(tǒng)的后期優(yōu)化提供了一個(gè)方向。

圖4 日志大小對日志解析運(yùn)行時(shí)間的影響Fig. 4 Impact of log size on parsing runtime

3.5 本文算法與原始LogSig算法對比

原始LogSig算法沒有明確提出預(yù)處理部分的具體設(shè)計(jì),本文采用真實(shí)事件個(gè)數(shù)為14的400條日志樣例,通過設(shè)置有無、預(yù)處理部分的日志解析任務(wù)來進(jìn)行對比,結(jié)果如表4所示。由表4可以看出,通過關(guān)聯(lián)規(guī)則與LogSig相結(jié)合,本文系統(tǒng)比原LogSig算法的各項(xiàng)指標(biāo)值都有所提高,綜合評價(jià)參數(shù)F_measure提高了60%;同時(shí),系統(tǒng)運(yùn)行時(shí)間大大減少,僅為原先的25%,提高了解析效率。

表4 本文系統(tǒng)與原始LogSig算法對比Tab. 4 Comparsion of the proposed algorithm and original LogSig algorithm

4 結(jié)語

計(jì)算機(jī)系統(tǒng)的發(fā)展、日志數(shù)量的增加以及日志在各類數(shù)據(jù)挖掘任務(wù)中起到的作用使得自動化日志解析成為一種必然趨勢[14]。目前,日志的處理方式多種多樣,但是缺乏一個(gè)系統(tǒng)性的處理平臺。本文主要設(shè)計(jì)開發(fā)了一個(gè)日志解析系統(tǒng),它能高效快速地從日志文本中解析出日志事件,系統(tǒng)實(shí)現(xiàn)了原始數(shù)據(jù)預(yù)處理、日志解析、聚類分析評價(jià)和聚類結(jié)果散點(diǎn)圖顯示四大功能,集數(shù)據(jù)處理與結(jié)果分析于一體,提供了更好的用戶體驗(yàn)。通過VAST 2011挑戰(zhàn)賽的開源防火墻日志數(shù)據(jù)集驗(yàn)證了系統(tǒng)的可行性,并分析了數(shù)據(jù)預(yù)處理部分的劃分簇?cái)?shù)、正則表達(dá)式對日志解析精度的影響。實(shí)驗(yàn)中也發(fā)現(xiàn),日志大小會影響聚類的時(shí)間復(fù)雜度,因此在接下來的工作中可考慮實(shí)現(xiàn)程序運(yùn)行的并行性等。目前該系統(tǒng)聚類的簇?cái)?shù)是基于小型數(shù)據(jù)集實(shí)驗(yàn)得到的,后續(xù)研究可以考慮結(jié)合自適應(yīng)的聚類算法以提高系統(tǒng)性能。

參考文獻(xiàn)(References)

[1]張宏鑫,盛風(fēng)帆,徐沛原,等.基于移動終端日志數(shù)據(jù)的人群特征可視化[J].軟件學(xué)報(bào),2016,27(5):1174-1187. (ZHANG H X, SHENG F F, XU P Y, et al. Visualizing user characteristics based on mobile device log data [J]. Journal of Software, 2016, 27(5): 1174-1187.)

[2]廖湘科,李姍姍,董威,等.大規(guī)模軟件系統(tǒng)日志研究綜述[J].軟件學(xué)報(bào),2016,27(8):1934-1947. (LIAO X K, LI S S, DONG W, et al. Survey on log research of large scale software system [J]. Journal of Software, 2016, 27(8): 1934-1947.)

[3]NAGAPPAN M, WU K, VOUK M A. Efficiently extracting operational profiles from execution logs using suffix arrays [C]// Proceedings of the 2009 International Symposium on Software Reliability Engineering. Piscataway, NJ: IEEE, 2009: 41-50.

[4]PREWETT J E. Analyzing cluster log files using Logsurfer [C]// Proceedings of the 4th Annual Linux Showcase & Conference. Atlanta: [s.n.], 2003: 169-176.

[5]薛文娟.基于層次聚類的日志分析技術(shù)研究[D].濟(jì)南:山東師范大學(xué),2013. (XUE W J. Research on log analysis technology based on hierarchical clustering [D]. Jinan: Shandong Normal University, 2013.)

[6]馬文,朱志祥,吳晨,等.基于FP-Growth算法的安全日志分析系統(tǒng)[J].電子科技,2016,29(9):94-97. (MA W, ZHU Z X, WU C, et al. Security log analysis system based on FP-Growth algorithm [J]. Electronics Technology, 2016, 29(9): 94-97.)

[7]TANG L, LI T, PERNG C S. LogSig: generating system events from raw textual logs [C]// Proceedings of the 2011 ACM International Conference on Information and Knowledge Management. New York: ACM, 2011: 785-794.

[8]XU W, HUANG L, FOX A, et al. Detecting large-scale system problems by mining console logs [C]// SOSP 2009: Proceedings of the 2009 ACM Symposium on Operating Systems Principles. New York: ACM, 2009: 117-132.

[9]周平,馬斌,韓冰,等.基于大數(shù)據(jù)平臺的日志分析預(yù)警技術(shù)研究[J].電腦知識與技術(shù),2016,12(32):266-268. (ZHOU P, MA B, HAN B, et al. Research on log analysis and early warning technology based on large data platform [J]. Computer Knowledge and Technology, 2016, 12(32): 266-268.)

[10]袁漢寧,王樹良,程永,等.數(shù)據(jù)倉庫與數(shù)據(jù)挖掘[M].北京:人民郵電出版社,2015. (YUAN H N, WANG S L, CHENG Y, et al. Data Warehouse and Data Mining [M]. Beijing: People’s Posts and Telecommunications Press, 2015: 31-34.)

[11]張惟皎,劉春煌,李芳玉.聚類質(zhì)量的評價(jià)方法[J].計(jì)算機(jī)工程,2005,30(20):10-12. (ZHANG W J, LIU C H, LI F Y. Evaluation method of clustering quality [J]. Computer Engineering, 2005, 30(20): 10-12.)

[12]向培素.兩種聚類有效性評價(jià)指標(biāo)的Matlab實(shí)現(xiàn)[J].西南民族大學(xué)學(xué)報(bào)(自然科學(xué)版),2013,30(6):1002-1005. (XIANG P S. Matlab implementation of two cluster validity evaluation indexes [J]. Journal of Southwest Nationalities University (Natural Science Edition), 2013, 30(6): 1002-1005.

[13]周開樂,楊善林,丁帥,等.聚類有效性研究綜述[J].系統(tǒng)工程理論與實(shí)踐,2014,34(9):2417-2431. (ZHOU K L,YANG S L, DING S, et al. Research on clustering validity [J]. System Engineering — Theory & Practice, 2014, 34(9): 2417-2431.)

[14]趙慶永.基于數(shù)據(jù)挖掘算法的日志分析系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].青島:青島大學(xué),2009. (ZHAO Q Y. Design and implementation of log analysis system based on data mining algorithm [D]. Qingdao: Qingdao University, 2009.)

猜你喜歡
日志預(yù)處理聚類
求解奇異線性系統(tǒng)的右預(yù)處理MINRES 方法
一名老黨員的工作日志
高COD二噻烷生產(chǎn)廢水預(yù)處理研究
扶貧日志
基于K-means聚類的車-地?zé)o線通信場強(qiáng)研究
雅皮的心情日志
雅皮的心情日志
基于預(yù)處理MUSIC算法的分布式陣列DOA估計(jì)
基于高斯混合聚類的陣列干涉SAR三維成像
基于Spark平臺的K-means聚類算法改進(jìn)及并行化實(shí)現(xiàn)
丰原市| 始兴县| 奈曼旗| 德安县| 昌平区| 锦屏县| 三门峡市| 浦东新区| 怀安县| 景德镇市| 和田市| 盐城市| 麻城市| 聂荣县| 新平| 开鲁县| 万年县| 柘荣县| 彰武县| 昌乐县| 吴江市| 靖宇县| 沁水县| 同仁县| 正宁县| 互助| 綦江县| 夏邑县| 兴和县| 措美县| 龙南县| 玛沁县| 大悟县| 湟源县| 阿拉善盟| 陆川县| 达孜县| 新晃| 清原| 巴马| 洛扎县|