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

基于消息中間件與GRU 的分布式日志異常檢測(cè)*

2022-08-26 09:39:40賈雪磊
關(guān)鍵詞:實(shí)驗(yàn)檢測(cè)方法

賈雪磊 方 巍 張 文

(1.南京信息工程大學(xué)計(jì)算機(jī)與軟件學(xué)院 南京 210044)

(2.中國(guó)氣象科學(xué)研究院災(zāi)害天氣國(guó)家重點(diǎn)實(shí)驗(yàn)室 北京 100081)

(3.南京信大氣象科學(xué)技術(shù)研究院有限公司 南京 210044)

1 引言

分布式的服務(wù)日志有著兩個(gè)特點(diǎn),首先日志的數(shù)據(jù)量是海量的,大規(guī)模的系統(tǒng)每小時(shí)打印日志約50Gb(約1.2 億~2 億行)的量級(jí)[1];另外分布式系統(tǒng)產(chǎn)生的日志都是分散在不同的服務(wù)器目錄下。由于日志數(shù)據(jù)是海量且分散的,因此對(duì)整個(gè)分布式系統(tǒng)的日志進(jìn)行分析與異常檢測(cè)會(huì)比單機(jī)系統(tǒng)復(fù)雜很多。所以就需要有一種高效的日志采集和分析方法來幫助完成對(duì)日志的分析工作,從日志中發(fā)現(xiàn)異常來避免系統(tǒng)異常而造成的嚴(yán)重后果。

近年來,有許多的科研團(tuán)隊(duì)對(duì)日志異常檢測(cè)展開了相關(guān)研究工作,并且取得了很豐碩的成果。早在2004年Mike Chen[2]等學(xué)者提出了使用決策樹的方法對(duì)HDFS 日志進(jìn)行的錯(cuò)誤檢測(cè)。Yinglung Liang[3]團(tuán)隊(duì)使用SVM(Support Vector Machines,支持向量機(jī))對(duì)IBM BlueGene/L的日志數(shù)據(jù)進(jìn)行一個(gè)異常處理。文獻(xiàn)[4]提出了使用RNN(Recurrent Neural Network,循環(huán)神經(jīng)網(wǎng)絡(luò))對(duì)系統(tǒng)日志進(jìn)行異常檢測(cè)。Qingwei[5]團(tuán)隊(duì)提出了一個(gè)LogCluster的方法對(duì)服務(wù)系統(tǒng)進(jìn)行一個(gè)日志錯(cuò)誤識(shí)別。最近幾年深度學(xué)習(xí)飛速發(fā)展,許多研究日志異常的團(tuán)隊(duì)將目光轉(zhuǎn)向了深度學(xué)習(xí)領(lǐng)域,其中Feifei Li[6]團(tuán)隊(duì)提出了一種基于LSTM[7](Long Short-Term Memory,長(zhǎng)短期記憶網(wǎng)絡(luò))的日志異常檢測(cè)模型DeepLog,這個(gè)模型通過學(xué)習(xí)大量的正常日志數(shù)據(jù),從中學(xué)習(xí)日志規(guī)則,當(dāng)檢測(cè)到新來的日志數(shù)據(jù)偏離了正常的日志規(guī)則,則認(rèn)定這條日志是一條異常日志。

常見的日志異常檢測(cè)的方法可以歸納為三個(gè)步驟[8]:1)日志采集和預(yù)處理;2)日志解析;3)異常檢測(cè)。整個(gè)日志異常檢測(cè)的流程圖見圖1所示。

圖1 常見日志檢測(cè)的流程圖

本文針對(duì)目前分布式系統(tǒng)中日志異常研究存在的一些問題提出了如下的三點(diǎn)研究創(chuàng)新。

1)在日志采集前加入預(yù)處理操作。先進(jìn)行預(yù)處理的好處是在一定程度上減少網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)量,提高整個(gè)異常檢測(cè)的效率。

2)使用分布式的消息中間件進(jìn)行日志的采集與傳輸。分布式消息中間件可以很好地應(yīng)對(duì)高頻率的大數(shù)據(jù)的需求。

3)在日志異常檢測(cè)階段,本文提出了基于GRU[9]深度網(wǎng)絡(luò)的日志異常檢測(cè)方法,相比文獻(xiàn)[6]提出的基于LSTM 的檢測(cè)方法,GRU 結(jié)構(gòu)更為簡(jiǎn)單,所需訓(xùn)練樣本較少,具有輕量級(jí)與易實(shí)現(xiàn)的特點(diǎn)。

2 分布式日志異常檢測(cè)方法的設(shè)計(jì)

2.1 基于消息中間件的日志過濾與收集

本文針對(duì)的是分布式系統(tǒng)的日志異常檢測(cè)問題,因此日志數(shù)據(jù)的高效收集是重點(diǎn)任務(wù)之一,也是進(jìn)行日志異常檢測(cè)之前必不可少的環(huán)節(jié)。

由于日志的數(shù)據(jù)量十分龐大,因此需要先進(jìn)行一個(gè)日志預(yù)處理,將日志數(shù)據(jù)中對(duì)日志異常檢測(cè)沒有幫助的信息進(jìn)行剔除,在一定程度上減少了需要進(jìn)行網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)量,提高整個(gè)異常檢測(cè)的效率。Filebeat 是一個(gè)輕量級(jí)的傳送器,可以用來對(duì)指定的日志文件或位置進(jìn)行日志的收集,通過使用配置參數(shù)exclude_lines 可以對(duì)收集的日志先進(jìn)行一個(gè)過濾。Filebeat 配置的輸出是Kafka,Kafka 是一種高吞吐量的分布式發(fā)布訂閱消息系統(tǒng),具有高吞吐量、低延遲、持久性、高并發(fā)等特點(diǎn),十分適合對(duì)實(shí)時(shí)的日志進(jìn)行一個(gè)大數(shù)據(jù)量的傳輸。對(duì)不同機(jī)器的日志按不同Topic 進(jìn)行傳輸,使得日志流數(shù)據(jù)不會(huì)產(chǎn)生混合變成“臟數(shù)據(jù)”[10]。日志流按照Topic發(fā)布的架構(gòu)圖見圖2。

圖2 日志流按照Topic發(fā)布架構(gòu)圖

本文所采用的分布式集群中有三個(gè)主機(jī),主機(jī)名為Hadoop1、Hadoop2、Hadoop3,對(duì)應(yīng)機(jī)器中的Filebeat將收集到的日志分別推送到本主機(jī)名命名的Topic中。這樣設(shè)計(jì)的很好地避免日志被隨意混合,形成“臟數(shù)據(jù)”。

最后使用Logstash 對(duì)Kafka 集群中的日志數(shù)據(jù)進(jìn)行消費(fèi)讀取與保存。Logstash是一個(gè)開源數(shù)據(jù)收集引擎,具有實(shí)時(shí)流水線功能,將日志規(guī)范化后輸出到指定位置進(jìn)行保存。總體的分布式日志預(yù)處理與收集的算法流程圖如圖3所示。

圖3 日志過濾與收集的算法流程圖

在本階段主要使用了三種消息中間件進(jìn)行日志的預(yù)處理、傳輸、接收與保存,且滿足大數(shù)據(jù)傳輸所需的高吞吐量,低延遲以及高可用等。

2.2 基于GRU的日志異常檢測(cè)方法

本文對(duì)日志異常檢測(cè)部分使用的方法是基于GRU 的深度學(xué)習(xí)檢測(cè)模型,對(duì)于日志異常檢測(cè)主要分為日志數(shù)據(jù)向量化處理,異常檢測(cè)模型的訓(xùn)練和日志異常檢測(cè)三個(gè)部分。文本數(shù)據(jù)向矩陣向量化 轉(zhuǎn) 換 的 方 法 有word2vec[11](word to vector),TF-IDF[12],one-hot[13]等。word2vec 可以通過淺層的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)訓(xùn)練一個(gè)權(quán)重矩陣如式(1)所示,來將獨(dú)熱編碼所得的高維數(shù)稀疏矩陣如式(2)所示,轉(zhuǎn)化為低維數(shù)的稠密向量矩陣如式(3)所示。Mikolov 在文獻(xiàn)[11]中指出一個(gè)優(yōu)化的單機(jī)版本一天可訓(xùn)練上千億詞。可見word2vec 的效率是很高的。

另外word2vec 可以將相似度高的詞語通過在向量空間對(duì)應(yīng)詞向量的距離體現(xiàn)出來[14]。所以本文使用word2vec對(duì)日志序列進(jìn)行詞向量的構(gòu)建,并作為GRU神經(jīng)網(wǎng)絡(luò)的輸入。

GRU 與LSTM 都為循環(huán)神經(jīng)網(wǎng)絡(luò)的變種,單個(gè)GRU 網(wǎng)絡(luò)的結(jié)構(gòu)見圖4。GRU 升級(jí)了門限結(jié)構(gòu),將LSTM 里面的輸入門、遺忘門整合成一個(gè)更新門Zt,用Rt門替換了LSTM的輸入門,因此GRU網(wǎng)絡(luò)中的門的個(gè)數(shù)由LSTM中的3變成了2,有效地減少了總體參數(shù)的數(shù)量,縮短了訓(xùn)練時(shí)間。Zt主要是用來對(duì)新輸入信息的過往數(shù)據(jù)進(jìn)行歸納,Rt主要是決定前一步驟中狀態(tài)信息輸入模型的概率。

圖4 單個(gè)GRU網(wǎng)絡(luò)結(jié)構(gòu)圖

式(6)中為上一個(gè)單元的隱藏層狀態(tài),輸入為Xt,重置門Rt,更新門Zt,候選隱狀態(tài)H?t,重置門Rt決定了如何將新的輸入信息與前面的記憶相結(jié)合,更新門Zt定義了前面記憶保存到當(dāng)前時(shí)間步的量。如果本文將重置門Rt設(shè)置為1,更新門設(shè)置為0,那么本文將獲得標(biāo)準(zhǔn)RNN 模型。根據(jù)式(7)可以看出當(dāng)前狀態(tài)的隱狀態(tài)的輸出取決于當(dāng)前的輸入與之前的隱藏層的輸入。所以最后的輸入是依賴當(dāng)前的輸入向量與之前的輸入,可以很好地處理日志上下文之間的關(guān)系,可以合理地對(duì)日志序列向量進(jìn)行一個(gè)異常檢測(cè)訓(xùn)練與檢測(cè)。

基于GRU 的日志異常檢測(cè)方法的總體流程圖以見圖5。通過以上對(duì)基于GRU 的日志異常檢測(cè)方法的闡述以及圖5 所表達(dá)的流程可知,在本階段主要對(duì)日志數(shù)據(jù)進(jìn)行向量化處理,GRU 網(wǎng)絡(luò)對(duì)日志序列進(jìn)行分類預(yù)測(cè)的訓(xùn)練,網(wǎng)絡(luò)的輸出再經(jīng)過Softmax[15]分類器進(jìn)行異常分類。

圖5 基于GRU的日志異常檢測(cè)算法流程圖

3 分布式日志異常檢測(cè)方法的實(shí)現(xiàn)

本文在實(shí)驗(yàn)環(huán)節(jié)使用三臺(tái)Centos 服務(wù)器組成Hadoop 分布式集群作為實(shí)驗(yàn)基礎(chǔ),利用Filebeat 與Kafka 對(duì)集群中HDFS(Hadoop Distributed File System)日志進(jìn)行預(yù)處理與收集,收集之后的日志經(jīng)過Logstash整理過濾生成待編碼日志。分布式集群和模型訓(xùn)練與測(cè)試的機(jī)器配置信息見表1。

表1 硬件與軟件環(huán)境配置表

3.1 分布式日志預(yù)處理與收集

日志收集與解析的實(shí)驗(yàn)部分所采用的分布式服務(wù)系統(tǒng)為3 個(gè)Hadoop 節(jié)點(diǎn)集群,主要是對(duì)HDFS所產(chǎn)生的日志文件進(jìn)行一個(gè)異常分析。使用Filebeat對(duì)日志的變化進(jìn)行監(jiān)控,并將新日志數(shù)據(jù)發(fā)送到libbeat,libbeat 將聚集事件,并將聚集的數(shù)據(jù)發(fā)送到Filebeat 配置的輸出接口。本文所使用的是Kafka 作為Filebeat的輸出。Kafka 中采用點(diǎn)對(duì)點(diǎn)的消息隊(duì)列模式,防止日志重復(fù)消費(fèi),造成網(wǎng)絡(luò)資源的浪費(fèi),同時(shí)根據(jù)不同的機(jī)器發(fā)布相對(duì)應(yīng)的主題,實(shí)現(xiàn)不同機(jī)器日志的單獨(dú)收集。

最后Logstash 進(jìn)行日志的消費(fèi)輸出到對(duì)應(yīng)的日志文件中進(jìn)行保存。Filebeat 與Logstash 的配置文件信息如下。

filebeat.inputs:

-type:log

enabled:true

paths:

-/var/log/*。log

output.kafka:

enabled:true hosts:[“192.168.10.10:9092”,“192.168.10.11:9092”,“192.168.10.12:9092”]

topic:hadoop100

input{

kafka{

bootstrap_servers=> [ “192.168.10.10: 9092,192.168.10.11:9092,192.168.10.12:9092”]

topics=>[“hadoop100”]

group_id=>“filebeat-logstash”

}}

output{

file{

path=>“/tmp/logstash.output”

}}

在Filebeat的配置中path用來指定要監(jiān)控的日志目錄,通配符*表示監(jiān)控所有后綴名為.log的日志文件,output 指定為Kafka 輸出。Logstash 配置信息中再對(duì)輸入進(jìn)行指定,就可以進(jìn)行日志消息的抓取,最后再統(tǒng)一輸出到保存目錄即可。

3.2 日志編碼與異常檢測(cè)

根據(jù)所設(shè)計(jì)的異常檢測(cè)算法,本文實(shí)現(xiàn)了基于GRU 的深度學(xué)習(xí)檢測(cè)模型,其模型結(jié)構(gòu)見圖6。針對(duì)本文所使用的基于GRU 的深度學(xué)習(xí)檢測(cè)模型,實(shí)驗(yàn)使用PyTorch來對(duì)模型的網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行搭建以及實(shí)現(xiàn)。主要的模型與訓(xùn)練參數(shù)見表2。

圖6 基于GRU的日志異常檢測(cè)框架圖

表2 模型與訓(xùn)練參數(shù)

4 實(shí)驗(yàn)結(jié)果分析

本文異常檢測(cè)的網(wǎng)絡(luò)模型的訓(xùn)練數(shù)據(jù)集是亞馬遜公開的11,175,629條HDFS日志,數(shù)據(jù)集的分類標(biāo)簽已由亞馬遜的分布式系統(tǒng)專家標(biāo)記是否為異常日志。

實(shí)驗(yàn)采用準(zhǔn)確率(Precision)、召回率(Recall)以及綜合評(píng)價(jià)指標(biāo)(F1-Measure)來評(píng)價(jià)模型的檢測(cè)效果,公式見式(8)~(10)。其中TP 正類判定為正類,F(xiàn)P 負(fù)類判定為正類,F(xiàn)N 正類判定為負(fù)類,TN負(fù)類判定為負(fù)類。

實(shí)驗(yàn)也分別使用近年來主流的一些方法進(jìn)行日志異常預(yù)測(cè),比如LSTM[6]、Invariants Mining[16]以及PCA[17]。通過對(duì)比發(fā)現(xiàn)本文所使用的模型在綜合評(píng)價(jià)指標(biāo)方面比其他三種方法的檢測(cè)精度有顯著優(yōu)勢(shì)。最后的實(shí)驗(yàn)結(jié)果對(duì)比圖見圖7,具體的實(shí)驗(yàn)結(jié)果數(shù)據(jù)見表3,*標(biāo)表示本文使用的方法。

表3 實(shí)驗(yàn)結(jié)果對(duì)比

圖7 實(shí)驗(yàn)結(jié)果對(duì)比

通過實(shí)驗(yàn)結(jié)果得知GRU 在F1-measure 的標(biāo)準(zhǔn)下效果最好,這也驗(yàn)證了本文所使用的檢測(cè)模型是正確的。

5 結(jié)語

本文提出了一種基于消息中間件與GRU 的異常檢測(cè)方法高效地對(duì)分布式系統(tǒng)中產(chǎn)生的日志進(jìn)行采集與異常識(shí)別,極大地幫助運(yùn)維人員了解系統(tǒng)的異常情況。在日志產(chǎn)生階段開始對(duì)日志進(jìn)行一個(gè)預(yù)處理與采集,根據(jù)分布式集群中機(jī)器名劃分Topic,防止日志造成混淆,最后將日志保存到本地的文件系統(tǒng)中。在日志收集與解析之后就需要對(duì)日志進(jìn)行一個(gè)異常識(shí)別。本文使用word2vec 進(jìn)行詞向量的構(gòu)建[18],word2vec 輸出的向量矩陣輸入GRU 網(wǎng)絡(luò),經(jīng)由兩層GRU 單元組成的GRU 網(wǎng)絡(luò)得到其輸出,隨后將其輸入到全連接層經(jīng)過Softmax分類器,得到的結(jié)果分為正常和不正常兩種情況,實(shí)現(xiàn)了日志的異常情況的檢測(cè)。通過對(duì)比同為循環(huán)神經(jīng)網(wǎng)絡(luò)的LSTM 以及其他基于機(jī)器學(xué)習(xí)的檢測(cè)方法,最后根據(jù)實(shí)驗(yàn)數(shù)據(jù)對(duì)比可以看出,本文所使用的GRU 模型的效果更好。接下來的工作是嘗試適應(yīng)不同的分布式系統(tǒng)以及考慮在檢測(cè)模型中加入注意力機(jī)制等,對(duì)Spark,F(xiàn)link[19]等系統(tǒng)的日志進(jìn)行異常分析,提高本文方法的普適性。

猜你喜歡
實(shí)驗(yàn)檢測(cè)方法
記一次有趣的實(shí)驗(yàn)
“不等式”檢測(cè)題
“一元一次不等式”檢測(cè)題
“一元一次不等式組”檢測(cè)題
做個(gè)怪怪長(zhǎng)實(shí)驗(yàn)
NO與NO2相互轉(zhuǎn)化實(shí)驗(yàn)的改進(jìn)
實(shí)踐十號(hào)上的19項(xiàng)實(shí)驗(yàn)
太空探索(2016年5期)2016-07-12 15:17:55
小波變換在PCB缺陷檢測(cè)中的應(yīng)用
用對(duì)方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
主站蜘蛛池模板: 丁香五月婷婷激情基地| 免费jjzz在在线播放国产| 亚洲综合经典在线一区二区| 欧美综合中文字幕久久| 亚洲swag精品自拍一区| 欧美一级黄片一区2区| 国产人在线成免费视频| 在线播放国产一区| 国产肉感大码AV无码| 成年人久久黄色网站| 免费在线国产一区二区三区精品| 小说区 亚洲 自拍 另类| 好紧太爽了视频免费无码| 91欧洲国产日韩在线人成| 欧美一区二区三区不卡免费| 精品一区二区三区自慰喷水| 日本黄色不卡视频| 国产久操视频| 国产欧美在线| 亚洲AV永久无码精品古装片| 激情影院内射美女| 国产h视频在线观看视频| 亚洲精品视频免费| 午夜精品久久久久久久99热下载| 在线看片中文字幕| 国产不卡在线看| 国产成人精品一区二区三在线观看| 国内视频精品| 亚洲大学生视频在线播放| 欧美成人综合在线| 五月天丁香婷婷综合久久| 国产精品第| 九色国产在线| 国产真实乱子伦视频播放| 污污网站在线观看| 精品无码专区亚洲| 97在线公开视频| 国产精品污视频| 亚洲人成网7777777国产| 尤物亚洲最大AV无码网站| 国产一级视频久久| 亚洲欧美不卡| 久久午夜夜伦鲁鲁片无码免费| 欧美成人精品一级在线观看| 免费人成网站在线高清| 最新国产高清在线| 55夜色66夜色国产精品视频| 91成人在线观看视频 | 国产精品hd在线播放| 国产一区三区二区中文在线| 日韩午夜片| 亚洲欧美在线看片AI| 亚洲人成网站色7799在线播放| 国产尹人香蕉综合在线电影 | 久久国产V一级毛多内射| 92精品国产自产在线观看| 欧美精品成人一区二区在线观看| 久久久久夜色精品波多野结衣| 免费黄色国产视频| yy6080理论大片一级久久| 日本三区视频| 日本亚洲欧美在线| 91麻豆精品视频| 九色在线视频导航91| 五月婷婷精品| 在线精品视频成人网| 中文国产成人精品久久| 亚洲人成网站观看在线观看| 国产毛片一区| 国产三级成人| 91国内视频在线观看| 亚洲精品在线影院| a天堂视频| av尤物免费在线观看| 国产91无毒不卡在线观看| 天天综合色天天综合网| 久久久久免费精品国产| 午夜爽爽视频| 狠狠综合久久| 欧美日韩在线第一页| 全部无卡免费的毛片在线看| 欧美成人精品一级在线观看|