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

        ?

        系統(tǒng)日志故障預(yù)測中的ELK與LSTM應(yīng)用與實踐①

        2020-07-25 01:47:32徐志斌郜義浩
        計算機系統(tǒng)應(yīng)用 2020年7期
        關(guān)鍵詞:文本故障模型

        徐志斌,葉 晗,王 晗,郜義浩

        1(北京市首都公路發(fā)展集團有限公司,北京 100161)

        2(北京云星宇交通科技股份有限公司,北京 100078)

        1 引言

        隨著現(xiàn)實業(yè)務(wù)規(guī)模的擴大,對應(yīng)的信息系統(tǒng)也變得越來越復(fù)雜.另一方面,業(yè)務(wù)人員對于系統(tǒng)穩(wěn)定性的要求卻越來越高,這對運維的質(zhì)量提出了很高的挑戰(zhàn).一旦業(yè)務(wù)系統(tǒng)發(fā)生故障,運維人員很難精準(zhǔn)定位故障發(fā)生的原和快速修復(fù)系統(tǒng).傳統(tǒng)監(jiān)控系統(tǒng)通常難以發(fā)現(xiàn)潛在的故障,因為在業(yè)務(wù)系統(tǒng)非常復(fù)雜的情況下,每一時刻都會產(chǎn)生大量有關(guān)或無關(guān)的運行狀態(tài)數(shù)據(jù)、日志數(shù)據(jù),使得通過規(guī)則編碼或者人工排查進行故障預(yù)警變得越來越不顯示.

        本文通過兩個步驟完成基于日志的系統(tǒng)故障預(yù)警工作的研究.包括:

        (1)借助ELK平臺收集匯總各個系統(tǒng)中的日志,實現(xiàn)日志的集中化管理.這樣一方面可以方便運維人員的日常查詢、搜索、管理日志,提高運維效率.另一方面也可提供后續(xù)研究打下數(shù)據(jù)基礎(chǔ),為日志預(yù)警模型篩選出確實有效的原始數(shù)據(jù).

        (2)基于LSTM模型,通過對原始數(shù)據(jù)的清洗、規(guī)范化等工作,結(jié)合歷史環(huán)境下系統(tǒng)相關(guān)告警信息,進而訓(xùn)練得到基于日志的故障預(yù)警模型.

        研究內(nèi)容對于發(fā)現(xiàn)潛在故障,快速定位故障來源,準(zhǔn)確識別故障原因,縮短故障恢復(fù)時間,提高運維人員工作效率都具有一定的幫助.

        2 研究現(xiàn)狀

        2.1 日志分析工具

        傳統(tǒng)上通常直接使用Shell或者Python 腳本對單機日志進行分析.當(dāng)這種方式不能滿足海量日志分析要求的時候,分布式的日志采集、分析系統(tǒng)應(yīng)運而生,并且逐漸成為了各大互聯(lián)網(wǎng)企業(yè)的標(biāo)準(zhǔn)配置[1].

        當(dāng)前主流的日志管理系統(tǒng)通常由采集端和服務(wù)端兩部分構(gòu)成.采集端通常為在各主機安裝的代理(agent)或客戶端應(yīng)用(client),這些代理或客戶端將采集到的日志數(shù)據(jù)推送到服務(wù)端.服務(wù)端則實現(xiàn)方式眾多,有的單純提供存儲、查詢功能,也有提供存儲、計算分析、查詢等復(fù)雜功能的龐大的分布式系統(tǒng)[2,3].

        常見的日志管理系統(tǒng)有Cloudera 開源的Flume[4],Elastic[5]公司開源的ELK Facebook 開源的Scribe[6]和Apache的Chukwa[7]等.本文選用Elastic公司開源的ELK 套件來實現(xiàn)日志的采集、查詢和管理.

        2.2 深度學(xué)習(xí)及框架

        深度學(xué)習(xí)(deep learning)是機器學(xué)習(xí)的分支,是一種以人工神經(jīng)網(wǎng)絡(luò)為架構(gòu),對數(shù)據(jù)進行表征學(xué)習(xí)的算法.其最大的好處是使用無監(jiān)督或半監(jiān)督的特征學(xué)習(xí)和分層特征提取算法來替代手工獲取特征,從而大大減少研究人員對研究領(lǐng)域知識的依賴.

        當(dāng)前深度學(xué)習(xí)中有很多成功的模型,例如深度神經(jīng)網(wǎng)絡(luò)、卷積神經(jīng)網(wǎng)絡(luò)、循環(huán)神經(jīng)網(wǎng)絡(luò)等等.這些模型廣泛應(yīng)用于多個研究領(lǐng)域,在計算機視覺、語音識別、自然語言處理以及生物信息學(xué)等領(lǐng)域都取得了極好的效果.

        針對各種成熟的深度學(xué)習(xí)模型,研究者們提出了多種不同的框架,目前使用最廣泛的包括TensorFlow、Caffe、Keras、PyTorch 等.其中TensorFlow 由Google公司出品,TensorFlow框架更新維護頻繁,同時具備python與C++接口,同時具備完整教程,收到了廣大開發(fā)工作者和學(xué)術(shù)人員的青睞,目前已經(jīng)成為深度學(xué)習(xí)框架中最受歡迎的選擇.本文所有模型訓(xùn)練工作均采用TensorFlow框架完成.

        3 模型選型與模型構(gòu)建

        3.1 模型選型

        (1)CNN

        CNN 開始普遍用于圖像識別中,Yoon Kim在2014年提出了TextCNN,將卷積神經(jīng)網(wǎng)絡(luò)CNN應(yīng)用于文本分類中,利用多個不同size的Kernel 來提取句子中的關(guān)鍵信息.但CNN 有個最大問題是固定filter_size的視野,filter_size的超參調(diào)節(jié)很繁瑣.另外由于CNN的特性,TextCNN 對詞的順序很不敏感,無法從上下文中獲取信息.

        (2)RNN

        RNN模型結(jié)構(gòu)最大的特點在于會將上一時刻的結(jié)果作為當(dāng)前時刻的輸入,基本模型結(jié)構(gòu)可以用以下公式表示:

        其中,ht為當(dāng)前時刻輸出,ht?1為上一時刻輸出,xt為當(dāng)前時刻輸入,W即為需要訓(xùn)練的權(quán)重[8].

        RNN相比于CNN在文本上最大的優(yōu)勢在于考慮到了上文的信息.從公式中可以看出,t時刻的輸出與1,2,···,t?1全部有關(guān),但這也同時導(dǎo)致ht是由一系列W連乘得到的,進而引發(fā)梯度消失和梯度爆炸的問題.因此,當(dāng)文本的篇幅比較長的時候,RNN的缺點就會凸顯出來.日志信息往往攜帶者一連串的報錯文本,RNN難以滿足當(dāng)前要求[9].

        (3)LSTM

        LSTM (Long Short-Term Memory)可以認(rèn)為是RNN的一種特殊形式,模型結(jié)構(gòu)如圖1所示.

        圖1 LSTM網(wǎng)絡(luò)模型結(jié)構(gòu)

        LSTM模型通過門控狀態(tài)來對信息進行選擇性的記憶,滿足了需要長時間記憶信息和遺忘信息的需求.

        LSTM彌補了RNN在長文本中存在的缺點,即可以選擇性遺忘不重要的信息,在長文本中只保留重要信息的關(guān)聯(lián)性.本文基于日志的故障預(yù)測模型就是以LSTM為基礎(chǔ)完成的.

        3.2 模型構(gòu)建

        深度學(xué)習(xí)模型構(gòu)建可以簡化為4部分內(nèi)容,即模型結(jié)構(gòu)的選擇、激活函數(shù)的選擇、損失函數(shù)的選擇以及下降梯度的選擇.本文在模型上使用標(biāo)準(zhǔn)的LSTM模型,在模型結(jié)構(gòu)上不需要進行額外設(shè)定.

        模型在損失函數(shù)上采用Softmax,即交叉熵?fù)p失,相比于范數(shù)損失、均方誤差等,交叉熵?fù)p失在分類上收斂速度要更加迅速.

        圖2 日志文件信息

        模型在梯度下降上采用SGD的方式.需要提及的是這里分別使用過Adam算法、AdaDelta算法和幾種GD方法.Adam與AdaDelta方法雖然收斂速度更快,但是由于訓(xùn)練數(shù)據(jù)本身的質(zhì)量一般,最終模型的準(zhǔn)確率往往很差,而GD的收斂速度雖然最慢,但最終得到的效果要優(yōu)于其他幾項,為了避免GD出現(xiàn)局部最優(yōu)的現(xiàn)象,最終選定SGD方法.

        4 系統(tǒng)案例分析

        本文選取首發(fā)集某業(yè)務(wù)系統(tǒng)作為試點,實現(xiàn)系統(tǒng)基于日志的故障預(yù)測完整流程,包括日志分析、日志處理、模型訓(xùn)練與驗證工作.

        4.1 日志文件分析

        該業(yè)務(wù)系統(tǒng)的不同日志文件中,雖然告警內(nèi)容的格式也有所不同,但告警信息內(nèi)容的結(jié)構(gòu)基本上是相同的.

        如圖2所示,所有告警日志基本包含以下幾部分內(nèi)容.

        (1)ERROR_time:告警日志產(chǎn)生的時間

        (2)ERROR_label:告警標(biāo)簽,顯示當(dāng)前錯誤的類別,這個類別信息是日志自己生成的,而非通過告警產(chǎn)生的人工標(biāo)簽.

        (3)ERROR_label_detection:部分告警會有簡單的描述或解釋,這一部分信息不是必須的.

        (4)ERROR_content:告警內(nèi)容本身,這是用于模型訓(xùn)練的關(guān)鍵數(shù)據(jù).

        4.2 模型訓(xùn)練

        (1)數(shù)據(jù)準(zhǔn)備

        本文總共選取了18年1整年的tomcat告警日志作為訓(xùn)練數(shù)據(jù),日志每天產(chǎn)生告警信息20~50條不等,共計訓(xùn)練數(shù)據(jù)8000多條.同時通過采集到的告警信息對日志數(shù)據(jù)進行標(biāo)定,將數(shù)據(jù)分為產(chǎn)生預(yù)警和不產(chǎn)生預(yù)警兩類.

        (2)數(shù)據(jù)處理

        對日志數(shù)據(jù)進行處理,包括結(jié)構(gòu)化、時間格式標(biāo)準(zhǔn)化、日志格式轉(zhuǎn)化、文本序列化、文本長度截取等工作,最終得到可以直接進入模型的訓(xùn)練數(shù)據(jù).

        (3)參數(shù)調(diào)整

        模型主要需要調(diào)整的參數(shù)包括隱層數(shù)量、遺忘門偏置(drop值)、最大序列化值(embedding_size)以及最大文本長度.

        隱層數(shù)量決定模型可以識別內(nèi)容的復(fù)雜程度上限,層數(shù)越多可以完成的分類越復(fù)雜,但是耗費的時間與資源也會相應(yīng)增加,經(jīng)過調(diào)整,隱層數(shù)量為40時已經(jīng)可以滿足模型預(yù)測目標(biāo).

        遺忘門偏置一般要求大于等于1.0即可,當(dāng)模型容易陷入局部最優(yōu)時可以適當(dāng)增大,本文在構(gòu)建模型時已經(jīng)選擇了不易出現(xiàn)局部最優(yōu)的SGD 梯度,因此設(shè)置為1.0即可.

        embedding_size的合理大小是需要在模型訓(xùn)練過程中不斷去調(diào)整的,值過大會導(dǎo)致加入很多干擾項,影響模型準(zhǔn)確率;值過小則進入訓(xùn)練的數(shù)據(jù)信息太小,同樣會造成模型準(zhǔn)確率下降.經(jīng)過反復(fù)調(diào)試,故障預(yù)警模型的embedding_size在800~1000之間準(zhǔn)確率最高,目前模型的embedding_size值為1000.

        最大文本長度同樣會影響最終訓(xùn)練模型的質(zhì)量,一般情況下的最大文本長度可以設(shè)置為最長文本的60%到70%左右,但對于日志文件來說不同文件間的長度差異過大,需要反復(fù)多次試驗才能得到最佳值,本次故障預(yù)警模型使用的最大文本長度為500.

        對于不同模型也需要對上述參數(shù)反復(fù)調(diào)整,最終保證訓(xùn)練模型達(dá)到最優(yōu).

        (3)模型訓(xùn)練

        模型開始訓(xùn)練后會輸出運算步數(shù)以及l(fā)oss值,作為準(zhǔn)確率參考依據(jù),如圖3所示.

        圖3 訓(xùn)練過程樣例

        當(dāng)step增加到一定程度后,模型的loss值就不再下降了,一般情況下需要經(jīng)過3W-5W次的迭代.模型訓(xùn)練最終生成文件樣例如圖4.

        4.3 結(jié)果驗證

        模型訓(xùn)練完成后隨機選取4096條未進行訓(xùn)練的數(shù)據(jù)進行故障預(yù)警模型測試.

        測試結(jié)果如圖5所示.

        圖5 故障預(yù)測模型測試集準(zhǔn)確率

        圖5中左側(cè)表示日志實際分類狀態(tài),右側(cè)表示日志預(yù)測分類狀態(tài),測試數(shù)據(jù)共計4096條,其中識別正確的數(shù)據(jù)為3376條,故障預(yù)測模型最終準(zhǔn)確率為82%.

        5 結(jié)論

        本文首先采用ELK工具實現(xiàn)了日志采集、存儲工作,為后續(xù)故障識別與模型訓(xùn)練提供基礎(chǔ).之后,使用這些日志在TensorFlow框架中對標(biāo)準(zhǔn)LSTM模型進行訓(xùn)練,最終實現(xiàn)故障識別模型.經(jīng)測試,障預(yù)測模型最終準(zhǔn)確率為82%,準(zhǔn)確性良好.

        本文采用的整套流程具備很強的可操作性,可用于實際系統(tǒng)相關(guān)的故障預(yù)測工作,可為運維人員提供工作效率、保障業(yè)務(wù)系統(tǒng)穩(wěn)定性提供一定幫助.同時也存在一些不足,例如尚未考慮日志與日志、告警與告警之間的關(guān)聯(lián)性問題,模型訓(xùn)練中未對詞匯表的進一步研究與調(diào)整工作等,這些都可以作為后續(xù)的研究內(nèi)容,幫助進一步提升模型的準(zhǔn)確率.

        猜你喜歡
        文本故障模型
        一半模型
        重要模型『一線三等角』
        重尾非線性自回歸模型自加權(quán)M-估計的漸近分布
        故障一點通
        在808DA上文本顯示的改善
        基于doc2vec和TF-IDF的相似文本識別
        電子制作(2018年18期)2018-11-14 01:48:06
        3D打印中的模型分割與打包
        奔馳R320車ABS、ESP故障燈異常點亮
        文本之中·文本之外·文本之上——童話故事《坐井觀天》的教學(xué)隱喻
        故障一點通
        国产激情内射在线影院| 精品福利一区二区三区| 国产偷国产偷亚洲高清视频| 少妇人妻大乳在线视频不卡 | 色青青女同性恋视频日本熟女| 久久中文字幕一区二区| 一本精品99久久精品77| 欧美黑人疯狂性受xxxxx喷水| 国产九九在线观看播放| 久久婷婷综合色一区二区| 少妇久久久久久人妻无码| 四虎影库久免费视频| 久久精品国产只有精品96| 91精品国产自拍视频| 久久久久久欧美精品se一二三四| 欧美性xxxx狂欢老少配| 午夜在线观看有码无码| 久久综合另类激情人妖| 久久精品国产久精国产果冻传媒| 亚洲人成网站77777在线观看 | 免费亚洲一区二区三区av| 国产成人精品综合在线观看| 亚洲天堂资源网| 国产av影片麻豆精品传媒| 亚洲欧洲无码精品ⅤA| 亚洲精品第四页中文字幕| 无码av专区丝袜专区| 精品一区二区三区免费播放| 在线观看国产内射视频| 国产偷拍盗摄一区二区| 华人免费网站在线观看| 午夜无码国产理论在线| 人妻无码在线免费| 亚洲午夜精品第一区二区| 好吊妞无缓冲视频观看| 日韩区在线| 日本高清在线一区二区三区| 无码人妻精品一区二区三区蜜桃| 少妇spa推油被扣高潮| 蜜桃视频免费在线视频| 国产一区二区三区内射|