999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

面向云數(shù)據(jù)中心多語法日志通用異常檢測機制

2020-04-21 07:57:16張圣林李東聞孫永謙孟偉彬張宇哲張玉志
計算機研究與發(fā)展 2020年4期
關(guān)鍵詞:檢測方法模型

張圣林 李東聞 孫永謙 孟偉彬 張宇哲 張玉志 劉 瑩 裴 丹

1(南開大學(xué)軟件學(xué)院 天津 300350) 2(清華大學(xué)計算機科學(xué)與技術(shù)系 北京 100084) 3(清華大學(xué)網(wǎng)絡(luò)科學(xué)與網(wǎng)絡(luò)空間研究院 北京 100084) 4(北京信息科學(xué)與技術(shù)國家研究中心 北京 100084)

在信息技術(shù)快速發(fā)展的背景下,云數(shù)據(jù)中心作為各行各業(yè)的關(guān)鍵基礎(chǔ)設(shè)施,為我國經(jīng)濟轉(zhuǎn)型升級提供了重要支撐[1],其穩(wěn)定運行對于保證國家行政、金融、電力、電信、互聯(lián)網(wǎng)等方面的安全與穩(wěn)定至關(guān)重要[2-4].隨著云數(shù)據(jù)中心所提供服務(wù)的急劇膨脹,云數(shù)據(jù)中心的規(guī)模也在快速增長.例如大型云數(shù)據(jù)中心網(wǎng)絡(luò)往往部署數(shù)萬臺路由器和交換機,用于連接數(shù)十萬臺服務(wù)器[5].此外,云數(shù)據(jù)中心提供的服務(wù)呈多樣化、復(fù)雜化發(fā)展,導(dǎo)致其軟硬件系統(tǒng)日趨復(fù)雜.規(guī)模的增長和復(fù)雜性的提高導(dǎo)致云數(shù)據(jù)中心不可避免發(fā)生異常.這些異常不僅影響上層服務(wù)的性能,甚至?xí)绊懹脩趔w驗,產(chǎn)生經(jīng)濟損失.因此,運維人員迫切希望及時發(fā)現(xiàn)異常,從而快速規(guī)避并修復(fù)異常,減少異常帶來的損失.

目前已有的云數(shù)據(jù)中心異常檢測方案,主要基于監(jiān)控指標(biāo)數(shù)據(jù),如端口流量、設(shè)備CPU使用率、進程內(nèi)存使用率、丟包率、錯誤率等量化數(shù)據(jù)[6-14].然而,這種基于監(jiān)控指標(biāo)數(shù)據(jù)的異常檢測方法并不能呈現(xiàn)異常發(fā)生的原因.云數(shù)據(jù)中心持續(xù)地產(chǎn)生日志以記錄軟硬件系統(tǒng)發(fā)生的事件,如接口狀態(tài)變化、配置變更、電源關(guān)閉、板卡插入或拔出、運維人員登入登出系統(tǒng)、DDoS攻擊、文件讀寫等.通過這些日志不僅可以檢測云數(shù)據(jù)中心的異常,而且可以進一步分析異常的根因,從而快速修復(fù)異常,降低甚至避免異常帶來的損失.大型云數(shù)據(jù)中心每天產(chǎn)生數(shù)千萬條日志,因此依賴運維人員人工分析海量的日志是行不通的.

基于日志的自動異常檢測已廣泛應(yīng)用于計算機系統(tǒng)領(lǐng)域[15-23]和網(wǎng)絡(luò)服務(wù)領(lǐng)域[24-28].這些方法可以分為無監(jiān)督學(xué)習(xí)方法和有監(jiān)督學(xué)習(xí)方法.無監(jiān)督學(xué)習(xí)方法一般使用聚類[23]或長短期記憶神經(jīng)網(wǎng)絡(luò)(long short-term memory, LSTM)[15-16,28]等機器學(xué)習(xí)算法學(xué)習(xí)日志的正常模式,從而發(fā)現(xiàn)日志的異常行為.然而,這種方法通常存在準(zhǔn)確性較低的問題[20],且需要從大量日志中剔除異常日志以獲得正常日志.有監(jiān)督學(xué)習(xí)方法一般根據(jù)異常標(biāo)注學(xué)習(xí)日志的異常模式,從而達到異常檢測的目的[20,26-27].這類方法通常準(zhǔn)確性較高,但由于日志數(shù)量龐大且復(fù)雜多樣,導(dǎo)致標(biāo)注異常日志耗費大量的人力和物力資源,給運維人員帶來了極大的開銷.此外,不同類型軟硬件系統(tǒng)產(chǎn)生的日志的語法往往是不同的.例如,圖1展示了從2種廠商的交換機上采集的日志.由于不同廠商交換機打印日志的風(fēng)格迥異,導(dǎo)致2種類型日志的語法存在較大差異.由于上述有監(jiān)督日志異常檢測方法均未考慮機器學(xué)習(xí)模型遷移的問題,導(dǎo)致需要為每一種類型的日志訓(xùn)練一個日志異常檢測模型.所以,只有為每一種類型的日志標(biāo)注足夠多的異常日志樣本,才能為這一類型日志訓(xùn)練一個準(zhǔn)確的異常檢測模型.這無疑極大地增加了標(biāo)注異常日志產(chǎn)生的人力和時間成本.

Fig. 1 Examples of anomalous log sequences with different syntax but same semantics generated by two switches of different vendors圖1 不同廠商交換機產(chǎn)生的語法不同、語義相同的異常日志序列舉例

雖然不同類型的日志存在較大語法差異,但是其表示的語義有大量相似之處.例如盡管圖1所示的2種類型日志的異常序列在語法上有較大差異,但其語義是相同的——交換機端口正在發(fā)生抖動.在分析了數(shù)百個異常日志序列之后,可以得出:不同軟硬件系統(tǒng)在發(fā)生異常時,其產(chǎn)生的不同類型的日志往往存在相同或相似的語義.如果能夠?qū)W習(xí)到這種“相同或相似之處”,就可以把異常檢測模型學(xué)習(xí)到的一種類型日志的異常模式“遷移”到另外一種類型的日志,從而避免為每一種類型的日志標(biāo)記足夠多的異常日志樣本.通過這種方式,可以極大地降低人工標(biāo)注的成本.

因此,本文提出了一種面向多語法日志的通用異常檢測機制——LogMerge,基于不同類型日志的異常序列存在語義相似性的特點,結(jié)合自然語言處理方法和深度學(xué)習(xí)方法,學(xué)習(xí)多語法日志的語義相似性,實現(xiàn)日志異常模式的跨日志類型遷移.在獲得了一種日志類型(下文稱這種日志類型為源類型)的異常標(biāo)注之后,LogMerge學(xué)習(xí)源類型的異常模式并遷移到另一種日志類型(下文稱這種日志類型為目標(biāo)類型)的日志異常檢測中,實現(xiàn)在缺少目標(biāo)類型日志的異常標(biāo)注時,保證目標(biāo)類型的異常檢測模型取得較高的準(zhǔn)確性.通過這種方式,可以極大地降低人工標(biāo)注異常的成本,提高運維人員的效率.

LogMerge在實現(xiàn)跨日志類型的異常模式遷移過程中,遇到了2個主要挑戰(zhàn):

1) 不同類型日志語法不同.如圖2所示,當(dāng)前的有監(jiān)督日志異常檢測方法通常將各個日志映射到日志模板(模板定義詳見2.2節(jié))上,并使用模板ID來表征各個日志[20,26-27].但是,不同類型日志的語法往往存在較大差異,從而導(dǎo)致它們的日志模板以及模板ID是不同的.因此,如果僅僅使用日志模板ID,無法在不同類型日志存在語法差異的前提下學(xué)習(xí)語義相似性.

Fig. 2 An example of mapping log sequences to template sequences used in previously proposed supervised log anomaly detection methods圖2 前人提出的有監(jiān)督日志異常檢測方法將日志序列映射到模板序列舉例

2) 異常日志序列中存在大量噪聲.日志描述了云數(shù)據(jù)中心軟硬件系統(tǒng)上發(fā)生的各種事件.這些事件既包括表征系統(tǒng)異常的事件,如受到DDoS攻擊、電源故障、端口抖動、系統(tǒng)重啟等,也包括表征系統(tǒng)正常的事件,如PING會話成功、運維人員登錄系統(tǒng)、文件讀寫等.由于日志通常由系統(tǒng)的多個進程或線程生成,因此一個日志序列往往包含多個正常/異常事件.這就導(dǎo)致一個異常日志序列往往夾雜一個或多個正常日志,為異常日志序列檢測帶來了巨大的挑戰(zhàn).

LogMerge采用詞嵌入(word embedding)[29]的方法,在保留日志模板語義信息的前提下,盡量避免日志模板語法的干擾.此外,LogMerge結(jié)合一維卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network, CNN)與LSTM,既利用了日志序列的前后關(guān)聯(lián)性檢測異常日志序列,又避免了噪聲給異常日志序列檢測帶來的影響.本文的貢獻可總結(jié)為4個方面:

1) 針對不同類型日志語法不同帶來的挑戰(zhàn),LogMerge創(chuàng)新性地使用GloVe[29]框架構(gòu)建模板中單詞的詞向量并進一步構(gòu)建每一個模板的模板向量.模板向量不僅充分保留了日志模板的語義信息,而且有效避免了不同類型日志語法不同給模型帶來的負面影響.在此基礎(chǔ)之上,LogMerge對模板向量進行聚類,并使用聚類中心向量表征這一類日志模板,從而將語義相近的日志模板有機融合在了一起.

2) 針對異常日志序列存在大量噪聲的挑戰(zhàn),LogMerge前瞻性地融合CNN和LSTM模型學(xué)習(xí)異常日志的模式,并提高異常檢測的魯棒性.CNN根據(jù)異常標(biāo)注,對聚類中心向量構(gòu)成的序列不斷修正,動態(tài)地調(diào)整日志序列中每個(日志所映射的聚類中心)向量的權(quán)重,從而降低甚至消除噪聲日志帶來的影響,提高異常檢測的準(zhǔn)確性.LSTM模型學(xué)習(xí)異常日志序列的前后關(guān)聯(lián)關(guān)系,捕獲異常日志序列的序列特征.CNN與LSTM的組合最大限度地降低了噪聲對日志異常檢測模型的干擾,提高了模型的準(zhǔn)確性.據(jù)我們所知,這是CNN與LSTM首次組合應(yīng)用于日志異常檢測領(lǐng)域.

3) 本文使用HDFS,PageRank,WordCount這3種不同類型日志的公開數(shù)據(jù)集驗證了LogMerge的性能.實驗表明,LogMerge的準(zhǔn)確性(以F1Score衡量)優(yōu)于前人提出的有監(jiān)督日志異常檢測方法和無監(jiān)督日志異常檢測方法.此外,LogMerge僅僅需要目標(biāo)日志類型的20個異常標(biāo)注,即可在不同實驗數(shù)據(jù)集上分別取得0.78和0.86的F1Score.

4)為了便于學(xué)者了解并熟悉LogMerge,本文開源了LogMerge的源代碼(1)LogMerge的源代碼鏈接為https://github.com/Logs2019/LogMerge..

1 相關(guān)工作

考慮到獲取異常日志標(biāo)注比較困難,學(xué)術(shù)界已經(jīng)提出了一系列無監(jiān)督日志異常檢測方法.Lin等人[23]嘗試?yán)萌罩鹃g相似性對系統(tǒng)日志進行聚類.但是,簡單地按照相似性進行聚類并不能獲得日志在時間維度上的前后關(guān)聯(lián)性,因此無法捕獲異常日志的序列性特征.Qiu等人提出了SyslogDigest系統(tǒng)[24]理解大型互聯(lián)網(wǎng)服務(wù)提供商(Internet service provider, ISP)中路由器發(fā)生的事件.他們首先將非結(jié)構(gòu)化的日志消息映射到消息模板上以解析日志消息,然后基于消息模板的序列生成高層次的路由器事件.Du等人[16]提出的DeepLog模型——一種基于LSTM的無監(jiān)督學(xué)習(xí)框架,在離線學(xué)習(xí)階段基于正常日志序列訓(xùn)練模型,在測試階段判斷新產(chǎn)生日志序列與模型學(xué)習(xí)到的特征是否相符,如果不相符,就認為該日志序列是異常的.但是,DeepLog依然需要標(biāo)注大量的正常日志來保證模型的準(zhǔn)確性,且由日志模板編號表征的日志序列并不能實現(xiàn)跨日志類型的遷移.LogAnomaly[28]對DeepLog進行了改進,將模板編號映射到模板向量.然而,這種方法依然需要標(biāo)注大量的正常日志,且未考慮不同類型日志語法不同的問題.總體而言,無監(jiān)督日志異常檢測方法普遍存在準(zhǔn)確性較低、需要標(biāo)注大量正常日志的問題,故無法實現(xiàn)面向多語法日志的通用異常檢測.

與無監(jiān)督異常日志檢測方法不同,有監(jiān)督異常檢測方法學(xué)習(xí)異常日志的模式,并在此基礎(chǔ)上檢測新生成的日志是否符合異常日志的特征.Lu 等人[20]利用CNN來檢測大規(guī)模系統(tǒng)日志中的異常,基于不同大小的卷積核提取出日志之間的內(nèi)部關(guān)聯(lián)(下文以LogCNN表示這種方法).由于深度學(xué)習(xí)模型往往需要大量的訓(xùn)練數(shù)據(jù),因此該方法需要大量的異常標(biāo)注數(shù)據(jù).對于只有少量標(biāo)注的日志數(shù)據(jù)集,這種方法的準(zhǔn)確性會顯著降低.Kimura 等人[26]和Zhang等人[27]依據(jù)專家經(jīng)驗從日志序列中提取典型特征,并使用傳統(tǒng)機器學(xué)習(xí)方法(如隨機森林)學(xué)習(xí)日志的異常模式,從而達到檢測異常日志的目的.與LogCNN相同,這2種方法將日志模板ID直接輸入機器學(xué)習(xí)模型,無法解決不同類型日志的語法不同帶來的多異常標(biāo)注問題.

考慮到前人提出的無監(jiān)督異常日志檢測方法和有監(jiān)督異常日志檢測方法均無法解決不同類型日志語法不同導(dǎo)致的海量異常日志標(biāo)注問題,本文提出了LogMerge以解決這一問題.

2 日志與模板

2.1 系統(tǒng)日志

日志是云數(shù)據(jù)中心軟硬件系統(tǒng)中生成的非結(jié)構(gòu)化文本,例如可通過“printf”函數(shù)生成.如表1所示,一條日志通常具有固定的結(jié)構(gòu),這一結(jié)構(gòu)包含了時間戳、軟硬件系統(tǒng)ID、消息類型和詳細消息這4個域.其中,時間戳域表示日志生成的具體時間;軟硬件系統(tǒng)ID域表示生成日志的軟硬件系統(tǒng)的標(biāo)識;消息類型域描述了日志的概要特征;詳細消息域描述了日志的具體事件.一般地,消息類型域和詳細消息域的語法隨著軟硬件系統(tǒng)的類型、生產(chǎn)廠商、型號的變化而變化,沒有統(tǒng)一的格式,但通常由固定部分和參數(shù)部分組成.固定部分是開發(fā)人員預(yù)定義的,用于表示某類事件的信息;參數(shù)部分在軟硬件系統(tǒng)運行過程中依據(jù)具體的時序、交互設(shè)備等信息動態(tài)生成.下文所述的“日志”,如無特別說明,指的是一條日志的詳細消息域.

在日常運維過程中,運維人員一般基于單條日志消息或多條日志消息組成的日志序列判斷云數(shù)據(jù)中心的軟硬件系統(tǒng)是否發(fā)生異常.一些單條異常日志消息,例如“Power PowerSupply1 failed”,可表征軟硬件系統(tǒng)發(fā)生了異常.其次,盡管一些日志消息單獨出現(xiàn)時并不表征軟硬件系統(tǒng)的異常,但是當(dāng)其以特定的日志序列出現(xiàn)時則表征發(fā)生了異常.例如當(dāng)“Interface te-1/1/8, changed state to up”單獨出現(xiàn)時,并不表征軟硬件系統(tǒng)發(fā)生異常,因為稀疏的端口抖動是正常現(xiàn)象.但是,如果其在短時間內(nèi)頻繁出現(xiàn),那就表明軟硬件系統(tǒng)發(fā)生了異常.LogMerge既關(guān)注單條異常日志表征的異常,也關(guān)注異常日志序列表征的異常.

Table 1 Examples of Logs

2.2 日志模板

由于日志消息通常是非結(jié)構(gòu)化的文本,只有進行適當(dāng)?shù)亟馕龊蟛拍苡行У赜糜?基于機器學(xué)習(xí)方法的)異常檢測.當(dāng)前,解析設(shè)備日志的普遍做法是從日志消息中提取模板.模板通常指日志消息中的固定部分,其能夠概括日志所表達的事件,且相似日志消息可以用同一模板表示.如表1所示,“Interface * changed state to up”是“Interface te-1/1/18, changed state to up”的模板.相比于原始日志,模板中刪除了變量部分——“te-1/1/18”,保留了事件的主體部分,即“端口的狀態(tài)變?yōu)殚_”.這一模板不僅可以表示“Interface te-1/1/18, changed state to up”這一日志消息,還可以表示與這一日志消息闡述相同事件的其他日志消息,如“Interface te-1/1/32, changed state to up”等.

本文采用FT-Tree[29-30]進行模板提取.FT-tree是一種擴展的前綴樹結(jié)構(gòu),其基本思想是日志消息中的固定部分通常是頻繁出現(xiàn)的單詞的最長組合.因此,提取模板等價于從日志中識別出頻繁出現(xiàn)單詞的最長組合.大量基于生產(chǎn)環(huán)境日志的實驗表明,F(xiàn)T-tree支持增量式學(xué)習(xí)、準(zhǔn)確性高,且具有很高的模板匹配效率.

3 LogMerge框架

為了解決不同類型日志語法不同帶來的高異常標(biāo)注開銷,本文提出了LogMerge實現(xiàn)跨日志類型的異常檢測模型遷移.在獲得了源類型的異常標(biāo)注之后,LogMerge學(xué)習(xí)源類型的異常模式并遷移到目標(biāo)類型的日志異常檢測中,實現(xiàn)當(dāng)目標(biāo)類型日志的異常標(biāo)注不足時,保證目標(biāo)類型的異常檢測模型取得較高的準(zhǔn)確性.本節(jié)將詳細介紹LogMerge的整體框架以及各個部分的細節(jié)信息.

3.1 整體架構(gòu)

圖3展示了LogMerge的整體架構(gòu).LogMerge分為2個部分:離線訓(xùn)練部分和在線檢測部分.在離線訓(xùn)練部分,LogMerge首先從源類型日志和目標(biāo)類型日志中提取模板,并基于模板中的單詞先后構(gòu)建詞向量和模板向量.在此基礎(chǔ)上,對模板向量進行聚類,并使用聚類中心向量代表這一聚類簇中的所有模板.因此,每一個日志都可以映射到一個聚類中心向量上.結(jié)合日志序列,可以得到聚類中心向量序列.LogMerge將這一向量序列、源類型日志的大量異常標(biāo)記、目標(biāo)類型日志的少量異常標(biāo)記輸入到融合了CNN與LSTM模型的深度神經(jīng)網(wǎng)絡(luò),訓(xùn)練得到一個跨日志類型的通用異常檢測模型.在在線檢測部分,LogMerge依據(jù)上述方法將在線日志序列映射到聚類中心向量序列,并依據(jù)訓(xùn)練好的異常檢測模型判斷該在線日志序列是否異常,如果是異常日志序列,則產(chǎn)生告警.

Fig. 3 Architecture of LogMerge圖3 LogMerge架構(gòu)

3.2 構(gòu)建模板向量并聚類

盡管不同軟硬件系統(tǒng)產(chǎn)生的不同類型日志的語法存在較大差異,但是它們在發(fā)生異常時往往表現(xiàn)出相同或相近的語義.如2.2節(jié)所述,日志模板能夠概括日志所表達的事件.為了保留日志模板的語義信息而降低甚至消除語法給跨日志類型異常檢測帶來的影響,LogMerge首先利用全部模板(模板中單詞按照日志語序正序排列)作為訓(xùn)練數(shù)據(jù)獲取模板單詞的詞向量,并在此基礎(chǔ)上構(gòu)建模板向量.

GloVe[29]利用全局矩陣分解和局部上下文窗口兼顧較長范圍的全局信息和短距離的單詞上下文信息,從而充分保留了模板中每個單詞的語義信息.其模型目標(biāo)函數(shù)為

通過使用GloVe可以獲得模板中每個單詞的詞向量, LogMerge將模板中單詞的詞向量進行加權(quán)求和,最終獲得模板的模板向量,加權(quán)求和公式為

為了將源類型日志的模板和目標(biāo)類型日志的模板進行有機融合,LogMerge將語義相同或相似的模板進行了合并.由于模板向量反映了模板的語義信息,LogMerge基于模板向量對模板進行了合并.具體而言,LogMerge首先計算不同模板向量之間的歐氏距離;然后采用K-means算法[31]對模板向量進行聚類;最后,LogMerge使用每個聚類簇的中心向量來表征這一聚類簇中所有的模板向量.

為了便于讀者理解,圖4展示了從原始日志映射到聚類中心向量的過程.可以看到,任一日志序列都可以映射到一個聚類中心向量序列.

Fig. 4 An example of mapping a syslog sequence to its cluster centroid vector sequence圖4 原始日志映射到聚類中心向量舉例

3.3 基于CNN和LSTM的異常檢測

LogMerge結(jié)合CNN與LSTM以實現(xiàn)準(zhǔn)確的異常檢測.CNN基于異常日志標(biāo)記動態(tài)地調(diào)整每個聚類中心向量序列中每個日志所映射的向量的權(quán)重,從而降低日志序列中噪聲的影響.LSTM學(xué)習(xí)異常日志序列的前后關(guān)聯(lián)性特征,從而判斷在線日志序列是否異常.LogMerge異常檢測模塊的整體架構(gòu)如圖5所示.

Fig. 5 Anomaly detection model’s structure(the output of the lower layer is the input of the higher layer)圖5 異常檢測模型結(jié)構(gòu)(下一層的輸出為上一層輸入)

由于CNN[32]通常被用于捕獲數(shù)據(jù)的局部特征信息,因此CNN能夠在文本數(shù)據(jù)中發(fā)現(xiàn)短距離的詞與詞之間的特征.LogMerge利用CNN從聚類中心向量的單維度中捕獲顯著的特征.由于這些特征與整體輸入數(shù)據(jù)的其他特征沒有高度相關(guān)性,因此LogMerge采用一維CNN模型.通過這種方式,LogMerge獲得的聚類中心向量序列被不斷修正.

由于LogMerge針對異常日志序列進行異常檢測,而日志序列間具有順序依賴性,因此LogMerge采用LSTM[33]捕捉異常日志序列的模式.RNN(re-current neural network)是一種單元之間直接連接的神經(jīng)網(wǎng)絡(luò),當(dāng)前單元的內(nèi)部狀態(tài)依賴于當(dāng)前輸入和前一刻狀態(tài).LSTM[33]在RNN的基礎(chǔ)上解決了長期依賴性問題,在序列更長的數(shù)據(jù)上有更好的表現(xiàn).

由于卷積核的多樣性,CNN能夠充分提取局部的特征,LSTM能夠充分考慮日志序列的順序依賴特征.最后,LogMerge采用Dense層將前面提取的特征經(jīng)過非線性變化得到最終的異常檢測模型.

LogMerge作為一種深度學(xué)習(xí)機制,空間復(fù)雜性大于傳統(tǒng)機器學(xué)習(xí)方法(基于PCA的方法[21]和基于邏輯回歸的方法),且小于基于CNN的模型[20];時間復(fù)雜性大于傳統(tǒng)機器學(xué)習(xí)方法(基于PCA的方法[21]和基于邏輯回歸的方法),且小于基于CNN的模型[20].

總而言之,LogMerge先利用GloVe算法獲取模板的向量表示,再使用K-means算法對模板向量進行聚類并得到每一個聚類中心的向量表示,最后將數(shù)據(jù)輸入由CNN和LSTM組合而成的異常檢測模型進行模型參數(shù)學(xué)習(xí)和異常檢測.LogMerge首次結(jié)合了詞嵌入方法、聚類方法、CNN和LSTM,有效解決了不同類型日志語法不同以及日志中存在大量噪聲的問題,并有效降低了異常檢測的標(biāo)注開銷.

4 實驗及分析

本文基于公開數(shù)據(jù)集驗證了LogMerge的性能.首先,將LogMerge與當(dāng)前的有監(jiān)督學(xué)習(xí)方法和無監(jiān)督學(xué)習(xí)方法進行對比.其次,驗證了LogMerge的詞嵌入與聚類對LogMerge的重要性.最后,評估了目標(biāo)類型日志需要標(biāo)記的異常數(shù)量.

4.1 數(shù)據(jù)集介紹

如表2所示,為了準(zhǔn)確、全面地評估LogMerge,本文使用了3個公開數(shù)據(jù)集進行實驗(所有數(shù)據(jù)均來自公開數(shù)據(jù)集,本文未對數(shù)據(jù)集進行修改):

1) WordCount數(shù)據(jù)集[22].WordCount是一種基于Hadoop架構(gòu)的應(yīng)用,時間跨度約50 h.

2) PageRank數(shù)據(jù)集[22].與WordCount類似,PageRank也是一種基于Hadoop架構(gòu)的應(yīng)用,這一數(shù)據(jù)集的時間跨度也是50 h.

3) HDFS數(shù)據(jù)集[16].涵蓋了從200多個Amazon EC2節(jié)點收集HDFS日志,時間跨度約38.7 h.

由表2可以看出,在3種數(shù)據(jù)集中WordCount數(shù)據(jù)集所包含的異常日志序列最少.此外,Word-Count數(shù)據(jù)集所包含的異常日志序列模態(tài)各異,噪聲較多,是理想的測試數(shù)據(jù)集.因此,本文將Word-Count數(shù)據(jù)集作為目標(biāo)類型日志集,并將PageRank和HDFS分別作為源類型日志集,以驗證LogMerge的性能.

Table 2 The Detailed Information of Three Datasets

4.2 構(gòu)建聚類中心向量序列

LogMerge將一個日志序列映射到聚類中心向量序列,并將聚類中心向量序列輸入CNN和LSTM結(jié)合而成的深度神經(jīng)網(wǎng)絡(luò).本文利用滑動窗口方法獲得日志序列.滑動窗口方法有2個參數(shù):窗口大小和步長.窗口大小表示一個日志序列中包含的日志數(shù)量,步長表示獲取下一個日志序列跨過的日志條目數(shù).圖6以窗口大小為3、步長為2為例展示了聚類中心向量序列的獲取,其中實線表示獲取的第1個日志序列所映射的聚類中心向量序列,虛線表示獲取的第2個日志序列所映射的聚類中心向量序列.

Fig. 6 Constructing cluster centroid vector sequences圖6 構(gòu)建聚類中心向量序列舉例

4.3 對比方法介紹

當(dāng)前學(xué)術(shù)界已經(jīng)提出了一系列有監(jiān)督學(xué)習(xí)方法和無監(jiān)督學(xué)習(xí)方法來檢測異常日志.本文分別從有監(jiān)督學(xué)習(xí)方法和無監(jiān)督學(xué)習(xí)方法中各選擇2種方法(一種基于傳統(tǒng)機器學(xué)習(xí)方法,一種基于深度學(xué)習(xí)方法),并將其與LogMerge進行對比.以下是本文所選取的4種異常檢測方法的介紹:

1) 無監(jiān)督學(xué)習(xí)方法

① 基于主成分分析的方法(PCA)[21].一種基于日志模板計數(shù)矩陣的異常檢測方法.

② LogAnomaly[28].一種基于LSTM的無監(jiān)督日志異常檢測機制,通過學(xué)習(xí)日志的正常模式進行異常檢測.

2) 有監(jiān)督學(xué)習(xí)方法

① 基于邏輯回歸的模型.邏輯回歸是一種廣泛應(yīng)用于分類的統(tǒng)計模型,首先計算日志異常或正常的概率,然后將概率較大的狀態(tài)作為日志的檢測值.

② 基于CNN的模型[20].利用CNN捕獲異常特征,然后基于全連接網(wǎng)絡(luò)進行異常檢測.

對于LogMerge和上述4種檢測方法,本文使用HDFS和PageRank的全部數(shù)據(jù)集以及包含前20個異常日志序列的WordCount數(shù)據(jù)集作為訓(xùn)練集,并使用WordCount的剩余數(shù)據(jù)集作為測試集.本文將在4.7節(jié)論述這一數(shù)據(jù)劃分的依據(jù).

4.4 評價標(biāo)準(zhǔn)

異常檢測可以被轉(zhuǎn)化為二分類問題,其常用的評價指標(biāo)為精度(Precision)、召回率(Recall)以及精度與召回率的調(diào)和平均(F1Score).計算公式為

其中,TP(true positive)表示成功檢測出的異常日志序列數(shù)量,F(xiàn)P(false positive)表示正常日志序列被異常檢測模型判斷為異常的數(shù)量,F(xiàn)N(false negative)表示異常日志序列數(shù)量被異常檢測模型判斷為正常的數(shù)量.

4.5 異常檢測模型整體性能評價

Fig. 7 Comparison of results when HDFS is applied as the source type圖7 以HDFS作為源類型日志集的對比實驗結(jié)果

圖7和圖8分別展示以HDFS數(shù)據(jù)集和Page-Rank數(shù)據(jù)集作為源類型日志集的實驗結(jié)果.請注意,本文依據(jù)最優(yōu)實驗結(jié)果確定各種方法的參數(shù).例如,對于LogMerge來說,以HDFS作為源類型日志集時聚類數(shù)量為250,以PageRank作為源類型日志集時聚類數(shù)量為170.圖7(a)和圖8(a)分別展示了在2組數(shù)據(jù)集上各種方法取得的最好F1Score.LogMerge在2組數(shù)據(jù)集上均取得了最高的準(zhǔn)確性,其F1Score分別為0.78和0.86.基于CNN的模型在HDFS數(shù)據(jù)集上也取得了0.84的召回率,但是其精度只有0.1,因此產(chǎn)生了大量的誤報,從而給運維人員帶來了較大的(處理誤報警)開銷.基于線性回歸的方法取得了比LogMerge更高的精度(在HDFS和PageRank數(shù)據(jù)集上分別較LogMerge提高了0.17和0.08).但是,這種方法的召回率顯著低于LogMerge(其在2種數(shù)據(jù)集上的召回率均為0.35),即大量的異常被遺漏了,這可能會給云數(shù)據(jù)中心軟硬件系統(tǒng)的穩(wěn)定性帶來極大的挑戰(zhàn).通過調(diào)整不同方法的閾值,可以得到這些方法的PRC(precision recall curve)曲線,如圖7(b)和圖8(b)所示.通過PRC曲線可以看出相比于上述4種方法,LogMerge的魯棒性最好,在大部分情況下都能取得最好的F1Score.

Fig. 8 Comparison of results when PageRank is applied as the source type圖8 以PageRank作為源類型日志集的對比實驗結(jié)果

4.6 詞嵌入與聚類評價

LogMerge采用詞嵌入方法先后構(gòu)建單詞和模板的向量,并使用聚類方法將語義相同的模板進行合并.詞嵌入與聚類的組合有效解決了不同類型日志語法不同的挑戰(zhàn),是LogMerge的核心部分.為了驗證詞嵌入與聚類這一組合的性能,本文嘗試將LogMerge的這一組合去掉,并將其與LogMerge進行性能對比.圖9和圖10分別展示了使用HDFS數(shù)據(jù)集和PageRank數(shù)據(jù)集作為源類型日志集的上述2種方法的最優(yōu)F1Score對比結(jié)果.在HDFS數(shù)據(jù)集上,去掉組合的LogMerge取得了更高的召回率,但是其精度很低,導(dǎo)致產(chǎn)生了很多誤報,這對運維人員來說是不可接受的.在PageRank數(shù)據(jù)集上,完整的LogMerge比去掉組合的LogMerge取得了更好的精度和召回率.

Fig. 11 Evaluation results on the number of anomalous labels in the target type圖11 對目標(biāo)類型日志異常標(biāo)注數(shù)量評估的實驗結(jié)果

Fig. 9 Evaluation results on word embedding and clustering when HDFS is applied as the source type圖9 以HDFS作為源類型日志集的詞嵌入和聚類評價實驗結(jié)果

Fig. 10 Evaluation results on word embedding and clustering when PageRank is applied as the source type圖10 以PageRank作為源類型日志集的詞嵌入和聚類評價實驗結(jié)果

4.7 目標(biāo)類型日志異常標(biāo)注數(shù)量評估

為了評估對目標(biāo)類型日志進行異常標(biāo)注數(shù)量,本文逐步增大訓(xùn)練集中目標(biāo)類型日志的異常標(biāo)注數(shù)量,并觀察LogMerge的準(zhǔn)確性變化,如圖11所示.如果使用HDFS數(shù)據(jù)集作為源類型日志集,當(dāng)訓(xùn)練集中目標(biāo)類型日志的異常標(biāo)注數(shù)量超過20時,LogMerge的準(zhǔn)確性趨于穩(wěn)定.對于PageRank數(shù)據(jù)集來說,即使這一數(shù)量等于0,LogMerge也能取得穩(wěn)定的準(zhǔn)確性.這一實驗結(jié)果表明,在獲得了一個源類型日志集的異常標(biāo)注后,LogMerge僅僅需要目標(biāo)類型日志集的少量異常標(biāo)注,即可取得穩(wěn)定的準(zhǔn)確性,從而極大地降低了為目標(biāo)類型日志集標(biāo)注異常帶來的人力開銷.

5 總 結(jié)

日志作為一種反映系統(tǒng)狀態(tài)和事件的數(shù)據(jù)為檢測云數(shù)據(jù)中心軟硬件系統(tǒng)異常提供了重要支撐.本文提出了一種面向多語法日志的通用異常檢測機制——LogMerge,融合詞嵌入方法和聚類方法保留日志的語義信息并降低語法各異給異常檢測帶來的影響,結(jié)合CNN與LSTM方法排除噪聲的干擾并提取日志序列的前后依賴性特征.基于公開數(shù)據(jù)集的實驗表明,LogMerge在準(zhǔn)確性方面優(yōu)于當(dāng)前的有監(jiān)督學(xué)習(xí)方法和無監(jiān)督學(xué)習(xí)方法,并極大地降低了異常標(biāo)注的開銷.在獲得更多類型的日志數(shù)據(jù)后,未來將在更廣泛數(shù)據(jù)集上驗證LogMerge的性能.

猜你喜歡
檢測方法模型
一半模型
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
重要模型『一線三等角』
重尾非線性自回歸模型自加權(quán)M-估計的漸近分布
3D打印中的模型分割與打包
小波變換在PCB缺陷檢測中的應(yīng)用
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
主站蜘蛛池模板: 久久精品免费国产大片| 又爽又大又光又色的午夜视频| 国产成人免费视频精品一区二区| 亚洲无码高清免费视频亚洲| 国产91丝袜在线观看| a欧美在线| 国产91成人| 激情综合图区| 亚洲欧美日韩久久精品| 中文精品久久久久国产网址 | 国产免费羞羞视频| 毛片a级毛片免费观看免下载| 亚洲成综合人影院在院播放| 亚洲精品午夜天堂网页| 亚洲欧美另类日本| 亚洲V日韩V无码一区二区| 久久夜色精品国产嚕嚕亚洲av| 国产成人亚洲无码淙合青草| 99热线精品大全在线观看| 米奇精品一区二区三区| 怡春院欧美一区二区三区免费| 视频一本大道香蕉久在线播放| 午夜激情福利视频| 欧美亚洲欧美区| 国产嫖妓91东北老熟女久久一| 亚洲中文字幕久久无码精品A| 国产白浆视频| 亚洲国产中文在线二区三区免| 国产午夜在线观看视频| 毛片免费在线视频| 自拍欧美亚洲| 四虎精品黑人视频| 嫩草影院在线观看精品视频| 波多野结衣在线一区二区| 国产成人精品第一区二区| 国产免费a级片| 人妻免费无码不卡视频| 国产精品第一区在线观看| 在线视频亚洲欧美| 毛片免费视频| 久久77777| 欧美日韩一区二区在线播放| 人妻丰满熟妇αv无码| 国产精品九九视频| 亚洲bt欧美bt精品| 午夜视频免费一区二区在线看| 一区二区三区国产| 午夜电影在线观看国产1区| 久草视频精品| 538国产在线| 青青青视频91在线 | 亚洲成人免费看| 色综合五月婷婷| 欧美一级在线| 国产女同自拍视频| 国产亚洲欧美另类一区二区| 免费一级毛片不卡在线播放 | 日韩福利在线视频| 亚洲精品色AV无码看| 国产免费高清无需播放器| 欧美在线黄| 美女一级免费毛片| 小说区 亚洲 自拍 另类| 性欧美精品xxxx| 欧美在线视频a| 青青草原国产免费av观看| 欧美自慰一级看片免费| 国产91精品久久| 国产高清在线丝袜精品一区| 真人免费一级毛片一区二区| 素人激情视频福利| 国产9191精品免费观看| 真人免费一级毛片一区二区| 九色在线视频导航91| 亚洲欧美另类久久久精品播放的| 波多野结衣二区| 国产色偷丝袜婷婷无码麻豆制服| 亚洲成a人片| 99久久国产综合精品2023 | 亚洲AⅤ无码日韩AV无码网站| 国产高清又黄又嫩的免费视频网站| 99精品视频在线观看免费播放|