蘇 燕
(哈爾濱鐵路局 信息技術(shù)所,哈爾濱 150008)
通過日志比對快速定位業(yè)務(wù)問題的方法
蘇 燕
(哈爾濱鐵路局 信息技術(shù)所,哈爾濱 150008)
本文提出一種通過日志比對快速定位業(yè)務(wù)問題的方法,通過構(gòu)建高效的日志處理流程,過濾噪音數(shù)據(jù),對關(guān)鍵字進(jìn)行人工識別,實(shí)時(shí)地對日志信息進(jìn)行解析,準(zhǔn)確定位業(yè)務(wù)問題,并根據(jù)業(yè)務(wù)問題提供解決方法,提升了業(yè)務(wù)故障處理效率,降低了人為維護(hù)帶來的不便。
日志;數(shù)據(jù)庫;語義識別;故障處理
隨著中國鐵路客票發(fā)售和預(yù)訂系統(tǒng)(簡稱:客票系統(tǒng))的迅速發(fā)展,網(wǎng)絡(luò)規(guī)模不斷擴(kuò)大,主機(jī)、網(wǎng)絡(luò)設(shè)備、應(yīng)用軟件數(shù)量不斷增多,系統(tǒng)復(fù)雜性已經(jīng)到了運(yùn)維監(jiān)控人員難于完全掌控的程度。由于系統(tǒng)復(fù)雜、模塊增加、更新頻繁,業(yè)務(wù)故障問題時(shí)有發(fā)生,造成業(yè)務(wù)中斷,用戶感知差。若僅依賴現(xiàn)有的網(wǎng)絡(luò)、設(shè)備、應(yīng)用、業(yè)務(wù)監(jiān)控難于真正快速發(fā)現(xiàn)業(yè)務(wù)故障問題。因此,當(dāng)前的監(jiān)控已經(jīng)不能適應(yīng)企業(yè)用戶目前和未來業(yè)務(wù)發(fā)展的要求,而這些業(yè)務(wù)問題故障經(jīng)常隱藏在某些日志信息中,急需建立一套通過日志快速發(fā)現(xiàn)故障問題的管理系統(tǒng),來迅速解決業(yè)務(wù)問題。
為了發(fā)現(xiàn)系統(tǒng)或業(yè)務(wù)故障與風(fēng)險(xiǎn),傳統(tǒng)方式主要有兩種:(1)通過監(jiān)控系統(tǒng),實(shí)時(shí)通過代理(AGENT)或無代理協(xié)議,采集系統(tǒng)和業(yè)務(wù)數(shù)據(jù),以一種報(bào)文或消息(TRAP)方式主動發(fā)送故障或問題,最后進(jìn)行告警處理;(2)收集系統(tǒng)或業(yè)務(wù)日志信息,通過關(guān)鍵詞對日志信息進(jìn)行審計(jì),發(fā)現(xiàn)問題,進(jìn)行告警處理。針對業(yè)務(wù)問題的監(jiān)控與故障定位,當(dāng)前的方案一般有以下幾種:
(1)在硬件設(shè)備部署無代理或AGENT,通過采集操作系統(tǒng)、業(yè)務(wù)應(yīng)用等數(shù)據(jù)信息進(jìn)行系統(tǒng)監(jiān)控,發(fā)生故障時(shí),進(jìn)行告警處理;
(2)通過模擬用戶操作的方式,周期性模擬用戶處理相關(guān)業(yè)務(wù),監(jiān)測業(yè)務(wù)系統(tǒng)是否正常;
(3)實(shí)時(shí)監(jiān)控網(wǎng)絡(luò)信息,還原用戶業(yè)務(wù)操作,監(jiān)控是否發(fā)現(xiàn)問題。
目前的技術(shù)方案中,有很多快速發(fā)現(xiàn)業(yè)務(wù)故障與問題的方法,如果是通過監(jiān)控系統(tǒng)和業(yè)務(wù),發(fā)現(xiàn)問題經(jīng)常遲于問題出現(xiàn),引起客戶投訴后才開始部署相關(guān)監(jiān)控,制定相關(guān)故障問題監(jiān)控規(guī)則。為應(yīng)對市場的瞬息萬變,業(yè)務(wù)系統(tǒng)需要經(jīng)常的更新,而目前的業(yè)務(wù)故障定位往往處于被動局面,缺少一套有效的方法。
一方面,由于鐵路售票業(yè)務(wù)系統(tǒng)的迅速發(fā)展,系統(tǒng)和網(wǎng)絡(luò)規(guī)模迅速擴(kuò)大,主機(jī)、網(wǎng)絡(luò)設(shè)備、應(yīng)用軟件數(shù)量不斷增多,業(yè)務(wù)資源訪問、操作量不斷增加,造成系統(tǒng)復(fù)雜,當(dāng)發(fā)生業(yè)務(wù)或系統(tǒng)故障時(shí),很難定位問題的根本原因,影響售票業(yè)務(wù),旅客投訴量大;
另一方面,傳統(tǒng)的監(jiān)控只是針對歷史發(fā)生過故障進(jìn)行監(jiān)控,難于定位問題的根本原因,特別是更新或新部署的系統(tǒng)和業(yè)務(wù),更難于發(fā)現(xiàn)故障和問題,只有被動的等待問題發(fā)生,再讓系統(tǒng)、業(yè)務(wù)等所有的人員全部核查,費(fèi)時(shí)費(fèi)力,且效果一般。
針對現(xiàn)有技術(shù)存在的問題,通過專門日志管控平臺,收集系統(tǒng)平臺、數(shù)據(jù)庫、中間件與應(yīng)用程序的日志,把收集的日志進(jìn)行分類,即數(shù)據(jù)庫類型、中間件類型、操作系統(tǒng),并進(jìn)行規(guī)范化處理;針對日志按類型進(jìn)行關(guān)鍵詞分析,如果發(fā)現(xiàn)異常關(guān)鍵字,即進(jìn)入風(fēng)險(xiǎn)處理流程;完成標(biāo)準(zhǔn)信息比對后,再與標(biāo)準(zhǔn)封裝模板進(jìn)行模糊比對,找出差異文本,針對差異項(xiàng),過濾正常差異處理內(nèi)容。如時(shí)間差異,對當(dāng)前處理數(shù)值項(xiàng)范圍進(jìn)行分析,超出范圍即進(jìn)入風(fēng)險(xiǎn)處理流程;最后進(jìn)行異常語義識別,如果識別成功,則認(rèn)為有相關(guān)風(fēng)險(xiǎn),進(jìn)入風(fēng)險(xiǎn)處理流程;下文著重介紹日志處理平臺的架構(gòu)和處理機(jī)制。
日志管控平臺主要分?jǐn)?shù)據(jù)采集層、數(shù)據(jù)處理層和數(shù)據(jù)分析層,通過數(shù)據(jù)處理引擎將需要接入的各類數(shù)據(jù)引入,對日志進(jìn)行分類,按每一類應(yīng)用,建立日志分析比對模板與分析流程,以及日志信息模糊比對風(fēng)險(xiǎn)識別的數(shù)學(xué)算法、語義分析的方法,快速通過日志信息發(fā)現(xiàn)業(yè)務(wù)問題,整體方案如圖1所示。
步驟1:通過專門日志收集平臺,收集系統(tǒng)平臺、數(shù)據(jù)庫、中間件與應(yīng)用程序的日志。由于日志信息較大,一般按文件指針、時(shí)間戳、或以文件比對方式進(jìn)行增量的收集。
步驟2:把步驟1中收集的日志進(jìn)行分類處理,如按數(shù)據(jù)庫類型、中間件類型、操作系統(tǒng)、應(yīng)用系統(tǒng)與環(huán)節(jié)類型,進(jìn)行規(guī)范化處理,去掉時(shí)間、空行等相關(guān)信息,形成規(guī)范的日志分析文本。
步驟3:在完成步驟2日志文本規(guī)范化后,首先針對日志按系統(tǒng)情況進(jìn)行異常關(guān)鍵詞分析,也稱異常關(guān)鍵詞排查,如果發(fā)現(xiàn)與配置中有相同的異常關(guān)鍵詞,與傳統(tǒng)處理一樣,即進(jìn)入風(fēng)險(xiǎn)處理流程。
圖1 日志監(jiān)控處理平臺
步驟4:在完成上述排查后,如果沒有發(fā)現(xiàn)系統(tǒng)或業(yè)務(wù)問題,再與標(biāo)準(zhǔn)封裝模板進(jìn)行比對,找出差異文本。針對差異項(xiàng),去除正常差異處理內(nèi)容,如時(shí)間差異,在基本的業(yè)務(wù)處理數(shù)值項(xiàng)范圍進(jìn)行分析,超出范圍即進(jìn)入風(fēng)險(xiǎn)處理流程。
整個(gè)樣品呈灰色,主要由球狀鮞粒和膠結(jié)物構(gòu)成,鮞粒呈規(guī)則的球狀,直徑約40mm。核心基本位于球心位置。鮞粒和膠結(jié)物點(diǎn)稀鹽酸起泡劇烈,可判斷均主要由方解石構(gòu)成。值得注意的是,鮞粒的表層,及部分層理間含有泥質(zhì),在標(biāo)本上呈褐色。
步驟5:在完成步驟4的差異比對與分析后,進(jìn)行異常語義識別,識別的流程如圖2所示,如果識別成功,則認(rèn)為有相關(guān)風(fēng)險(xiǎn),進(jìn)入風(fēng)險(xiǎn)處理流程。
圖2 異常語義識別流程
如圖2所示,在異常文本識別時(shí),首先需要讀取用戶的異常語義配置信息。異常語義配置如表1所示,包括風(fēng)險(xiǎn)編號、風(fēng)險(xiǎn)故障、風(fēng)險(xiǎn)故障等級、風(fēng)險(xiǎn)WORD、識別權(quán)重、關(guān)鍵標(biāo)識、識別方式、風(fēng)險(xiǎn)率下限值、風(fēng)險(xiǎn)率等信息。
按風(fēng)險(xiǎn)編號進(jìn)行循環(huán),在循環(huán)內(nèi),按風(fēng)險(xiǎn)WORD進(jìn)行逐一處理,處理的方法為“識別方式”,一般值為“包括”、“排除”等;處理成功即為1,否則為0;再檢查當(dāng)前風(fēng)險(xiǎn)Word的識別權(quán)重、關(guān)鍵標(biāo)識,綜合以上信息,確定某一日志的風(fēng)險(xiǎn)概率計(jì)算公式,如式(1):
說明:
(1)m表示Ai取非零值的個(gè)數(shù);
(2)k的定義如下:若日志中存在關(guān)鍵風(fēng)險(xiǎn)WORD,k值為1,否則k值為0;
(3) Ai的定義如下:若日志中存在關(guān)鍵詞與其匹配, Ai取值1,否則取值0。
系統(tǒng)整體處理流程如圖3所示。
表1 異常語義配置信息表
圖3 系統(tǒng)處理流程圖
進(jìn)行日志分類,即數(shù)據(jù)庫類型、中間件類型、操作系統(tǒng),并進(jìn)行規(guī)范化處理;針對日志按類型進(jìn)行關(guān)鍵詞分析,如果發(fā)現(xiàn)異常關(guān)鍵字,即進(jìn)入風(fēng)險(xiǎn)處理流程;完成標(biāo)準(zhǔn)信息比對后,再與標(biāo)準(zhǔn)封裝模板進(jìn)行模糊比對,找出差異文本,針對差異項(xiàng),去除正常差異處理內(nèi)容,如時(shí)間差異,接著對當(dāng)前處理數(shù)值項(xiàng)范圍進(jìn)行分析,超出范圍即進(jìn)入風(fēng)險(xiǎn)處理流程;最后進(jìn)行異常語義識別,如果識別成功,則認(rèn)為有相關(guān)風(fēng)險(xiǎn),進(jìn)入風(fēng)險(xiǎn)處理流程。
本文通過構(gòu)建一種高效的日志處理流程,準(zhǔn)確、實(shí)時(shí)的對日志信息進(jìn)行解析。由于對日志信息進(jìn)行規(guī)范化與標(biāo)準(zhǔn)化處理,與傳統(tǒng)的日志異常關(guān)鍵詞分析方法相比,處理效率提升了27%。此外,通過采用異常語義配置與分析算法,業(yè)務(wù)故障診斷準(zhǔn)確率從原來的19%提高到78%以上,提升了4倍左右,具有一定的實(shí)用價(jià)值。
[1]孫林超,陳 群.專業(yè)的工作日志管理軟件使用與比較分析報(bào)告[EB/OL].http://wenku.baidu.com, 2014-08-04.
[2]影兒悠悠.如何使錯(cuò)誤日志更加方便地排查問題[EB/OL]. http://blog.jobbole.com/84752/ , 2015-03-09.
[3]guangyue_qin.開源日志系統(tǒng)比較:scribe、chukwa、kafka、 flume[EB/OL].http://wenku. baidu.com, 2014-11-04.
責(zé)任編輯 王 浩
Rapid positioning for business problems by log comparison
SU Yan
( Institute of Information Technology, Harbin Railway Administration, Harbin 150008, China )
This paper proposed a method of rapid positioning for business problems by log comparison. It was built a high efficiency treatment process, filtered the noise data, recognized the keywords artificially, analyzed the log information in real time, posited the business problems accurately, provided solutions according to the business problems, improved the efficiency of business failure process greatly, reduced the inconvenience for artificial maintenance.
log; database; semantic identif i cation; fault treatment
U293.22∶TP39
A
1005-8451(2015)11-0035-03
2015-04-10
蘇 燕,工程師。