亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

        2020-04-21 07:57:16張圣林李東聞孫永謙孟偉彬張宇哲張玉志
        計算機研究與發(fā)展 2020年4期
        關鍵詞:日志聚類向量

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

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

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

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

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

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

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

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

        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)的多個進程或線程生成,因此一個日志序列往往包含多個正常/異常事件.這就導致一個異常日志序列往往夾雜一個或多個正常日志,為異常日志序列檢測帶來了巨大的挑戰(zhàn).

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

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

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

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

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

        1 相關工作

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

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

        考慮到前人提出的無監(jiān)督異常日志檢測方法和有監(jiān)督異常日志檢測方法均無法解決不同類型日志語法不同導致的海量異常日志標注問題,本文提出了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)的標識;消息類型域描述了日志的概要特征;詳細消息域描述了日志的具體事件.一般地,消息類型域和詳細消息域的語法隨著軟硬件系統(tǒng)的類型、生產(chǎn)廠商、型號的變化而變化,沒有統(tǒng)一的格式,但通常由固定部分和參數(shù)部分組成.固定部分是開發(fā)人員預定義的,用于表示某類事件的信息;參數(shù)部分在軟硬件系統(tǒng)運行過程中依據(jù)具體的時序、交互設備等信息動態(tài)生成.下文所述的“日志”,如無特別說明,指的是一條日志的詳細消息域.

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

        Table 1 Examples of Logs

        2.2 日志模板

        由于日志消息通常是非結(jié)構(gòu)化的文本,只有進行適當?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支持增量式學習、準確性高,且具有很高的模板匹配效率.

        3 LogMerge框架

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

        3.1 整體架構(gòu)

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

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

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

        為了將源類型日志的模板和目標類型日志的模板進行有機融合,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)準確的異常檢測.CNN基于異常日志標記動態(tài)地調(diào)整每個聚類中心向量序列中每個日志所映射的向量的權(quán)重,從而降低日志序列中噪聲的影響.LSTM學習異常日志序列的前后關聯(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ù)的其他特征沒有高度相關性,因此LogMerge采用一維CNN模型.通過這種方式,LogMerge獲得的聚類中心向量序列被不斷修正.

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

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

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

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

        4 實驗及分析

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

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

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

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

        2) PageRank數(shù)據(jù)集[22].與WordCount類似,PageRank也是一種基于Hadoop架構(gòu)的應用,這一數(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ù)集作為目標類型日志集,并將PageRank和HDFS分別作為源類型日志集,以驗證LogMerge的性能.

        Table 2 The Detailed Information of Three Datasets

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

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

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

        4.3 對比方法介紹

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

        1) 無監(jiān)督學習方法

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

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

        2) 有監(jiān)督學習方法

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

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

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

        4.4 評價標準

        異常檢測可以被轉(zhuǎn)化為二分類問題,其常用的評價指標為精度(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ù)集上均取得了最高的準確性,其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取得了更高的召回率,但是其精度很低,導致產(chǎn)生了很多誤報,這對運維人員來說是不可接受的.在PageRank數(shù)據(jù)集上,完整的LogMerge比去掉組合的LogMerge取得了更好的精度和召回率.

        Fig. 11 Evaluation results on the number of anomalous labels in the target type圖11 對目標類型日志異常標注數(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 目標類型日志異常標注數(shù)量評估

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

        5 總 結(jié)

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

        猜你喜歡
        日志聚類向量
        向量的分解
        一名老黨員的工作日志
        華人時刊(2021年13期)2021-11-27 09:19:02
        聚焦“向量與三角”創(chuàng)新題
        扶貧日志
        心聲歌刊(2020年4期)2020-09-07 06:37:14
        基于DBSACN聚類算法的XML文檔聚類
        電子測試(2017年15期)2017-12-18 07:19:27
        游學日志
        向量垂直在解析幾何中的應用
        基于改進的遺傳算法的模糊聚類算法
        向量五種“變身” 玩轉(zhuǎn)圓錐曲線
        一種層次初始的聚類個數(shù)自適應的聚類方法研究
        成人爽a毛片一区二区免费| 成人免费在线亚洲视频| 日韩av午夜在线观看| 久久亚洲私人国产精品| 国产精品午夜波多野结衣性色| 亚洲大片一区二区三区四区| av高清在线不卡直播| 狠狠色噜噜狠狠狠狠米奇777| 国产日产精品久久久久久| av福利资源在线观看| 色婷婷精品久久二区二区蜜桃| 亚洲桃色蜜桃av影院| 制服丝袜一区二区三区 | 一区二区三区亚洲视频| 国产精品成熟老女人| 国自产偷精品不卡在线| 精品久久久久久电影院| 国产伦理一区二区久久精品| 欧美最猛黑人xxxx| 人妻av一区二区三区精品| 91久久精品一二三区蜜桃| 日韩中文字幕一区二区二区 | 国产视频一区二区三区在线免费| 国产午夜精品一区二区三区嫩草 | 一本久久a久久精品vr综合| 亚洲人成电影在线无码| 亚洲一区二区精品在线看| 日韩中文字幕有码午夜美女| 男女爽爽无遮挡午夜视频| 最新国产精品亚洲二区| 亚洲一区二区三区福利久久蜜桃 | 91青青草免费在线视频| 免费国产自拍在线观看 | 伊人婷婷在线| 日韩精品一级在线视频| 日本丰满老妇bbw| 处破痛哭a√18成年片免费| 国产一区二区丁香婷婷| 手机在线免费av资源网| 欧美极品少妇无套实战| 亚洲一区二区在线视频播放 |