一種基于日志快速定位業(yè)務(wù)故障的方法
【技術(shù)領(lǐng)域】
[0001 ]本發(fā)明涉及一種業(yè)務(wù)故障的定位方法,尤其涉及一種基于日志快速定位業(yè)務(wù)故障的方法。
【背景技術(shù)】
[0002]網(wǎng)絡(luò)設(shè)備、系統(tǒng)及服務(wù)程序等,在運(yùn)作時(shí)都會(huì)產(chǎn)生一個(gè)叫做log的時(shí)間記錄;每一行日志都記載著日期、時(shí)間、使用者及動(dòng)作等相關(guān)操作的描述。定位故障時(shí)需要查看處理業(yè)務(wù)請求的日志,在一定規(guī)模的架構(gòu)中每天設(shè)備、系統(tǒng)、應(yīng)用程序等產(chǎn)生的日志量以億做單位計(jì)算,面對如此龐大的信息量,在故障排查、瓶頸分析、安全審計(jì)時(shí)著實(shí)費(fèi)時(shí)費(fèi)力。
[0003]由于日志分布在系統(tǒng)不同應(yīng)用程序、不同存儲(chǔ)路徑,沒有形成有效的收集。同時(shí)針對業(yè)務(wù)故障類型及故障發(fā)生時(shí)間需要進(jìn)行特定的篩選,對于日志量巨大、刷新頻繁的應(yīng)用日志,沒有特殊的關(guān)聯(lián)信息難以確定有效日志信息。
[0004]為了優(yōu)化業(yè)務(wù)瓶頸,需要對比系統(tǒng)中各應(yīng)用模塊在一定周期處理業(yè)務(wù)請求的響應(yīng)速度,處理時(shí)間。但是目前收集一定時(shí)間內(nèi)日志必須手動(dòng)匯總存儲(chǔ)于不同應(yīng)用程序、不同路徑的日志,以日志類型為瑋度篩選該日志類型的響應(yīng)速度,處理時(shí)間再對比不同周期中該日志類型數(shù)據(jù)。
[0005]由上可見,現(xiàn)有技術(shù)具有如下缺點(diǎn):1、分布在系統(tǒng)不同應(yīng)用程序、不同存儲(chǔ)路徑的日志,沒有特定關(guān)鍵信息難以關(guān)聯(lián)特定業(yè)務(wù)類型日志;2、系統(tǒng)日志量巨大,刷新頻繁,沒有形成有效的匯聚點(diǎn);3、以日志類型為瑋度篩選業(yè)務(wù)請求的響應(yīng)速度、處理時(shí)間,耗費(fèi)時(shí)間大。為了解決通過日志排查及瓶頸分析時(shí)所浪費(fèi)的大量時(shí)間,有必要對現(xiàn)有的基于日志定位業(yè)務(wù)故障的方法進(jìn)行改進(jìn)。
【發(fā)明內(nèi)容】
[0006]本發(fā)明所要解決的技術(shù)問題是提供一種基于日志快速定位業(yè)務(wù)故障的方法,能夠方便準(zhǔn)確地將各個(gè)日志進(jìn)行關(guān)聯(lián),實(shí)現(xiàn)對多模塊、多系統(tǒng)的海量日志信息的關(guān)聯(lián)分析,快速準(zhǔn)確地定位業(yè)務(wù)故障,解決現(xiàn)有技術(shù)方案日志信息匹配難、無法關(guān)聯(lián)分析的難題。
[0007]本發(fā)明為解決上述技術(shù)問題而采用的技術(shù)方案是提供一種基于日志快速定位業(yè)務(wù)故障的方法,包括如下步驟:a)對客戶在前端操作的第一個(gè)業(yè)務(wù)請求中增加跟蹤ID;b)當(dāng)網(wǎng)絡(luò)設(shè)備、服務(wù)器及應(yīng)用程序收到具有跟蹤ID的業(yè)務(wù)請求后,經(jīng)過處理后產(chǎn)生的新請求或回復(fù)都將增加該跟蹤ID,并在日志中記錄該跟蹤ID;c)通過搜索具有跟蹤ID的日志定位業(yè)務(wù)故障。
[0008]上述的基于日志快速定位業(yè)務(wù)故障的方法,其中,所述跟蹤ID包含客戶ID、請求時(shí)間以及業(yè)務(wù)類型。
[0009]上述的基于日志快速定位業(yè)務(wù)故障的方法,其中,所述跟蹤ID中由請求時(shí)間、客戶ID、業(yè)務(wù)類型以及請求次數(shù)組成。
[0010]上述的基于日志快速定位業(yè)務(wù)故障的方法,其中,所述步驟a)中產(chǎn)生的前端請求通過網(wǎng)絡(luò)設(shè)備分發(fā)到后端的資源調(diào)度系統(tǒng)、網(wǎng)絡(luò)系統(tǒng)、數(shù)據(jù)庫以及各業(yè)務(wù)模塊,并在對應(yīng)模塊的日志上記錄唯一的跟蹤ID,所述步驟c)配合日志集中管理工具,將前端產(chǎn)生的跟蹤ID作為關(guān)鍵字進(jìn)行搜索,列出與該跟蹤ID相關(guān)聯(lián)的前端及后端的所有相關(guān)日志實(shí)現(xiàn)業(yè)務(wù)故障快速查看定位。
[0011]上述的基于日志快速定位業(yè)務(wù)故障的方法,其中,所述步驟C)還包括根據(jù)跟蹤ID監(jiān)控不同類型客戶日志行為情況,收集、匯總、分析各類型業(yè)務(wù)日志當(dāng)中各模塊處理請求所耗的時(shí)間,得出系統(tǒng)業(yè)務(wù)的性能瓶頸。
[0012]本發(fā)明對比現(xiàn)有技術(shù)有如下的有益效果:本發(fā)明提供的基于日志快速定位業(yè)務(wù)故障的方法,通過設(shè)置跟蹤ID把各模塊中需要的業(yè)務(wù)日志串聯(lián)在一起,實(shí)現(xiàn)對多模塊、多系統(tǒng)的海量日志信息進(jìn)行關(guān)聯(lián)分析,快速準(zhǔn)確地定位業(yè)務(wù)故障,解決現(xiàn)有技術(shù)方案日志信息匹配難、無法關(guān)聯(lián)分析的難題。此外,本發(fā)明通過設(shè)置特定跟蹤ID并利用其中的客戶ID、請求時(shí)間、業(yè)務(wù)類型,使得統(tǒng)計(jì)出來的信息能快速定位故障并優(yōu)化業(yè)務(wù)性能。
【附圖說明】
[0013]圖1為本發(fā)明基于日志快速定位業(yè)務(wù)故障的流程示意圖。
【具體實(shí)施方式】
[0014]下面結(jié)合附圖和實(shí)施例對本發(fā)明作進(jìn)一步的描述。
[0015]圖1為本發(fā)明基于日志快速定位業(yè)務(wù)故障的流程示意圖。
[0016]請參見圖1,本發(fā)明提供的基于日志快速定位業(yè)務(wù)故障的方法,包括如下步驟:
[0017]步驟S1:對客戶在前端操作的第一個(gè)業(yè)務(wù)請求中增加跟蹤ID;所述跟蹤ID包含客戶ID、請求時(shí)間以及業(yè)務(wù)類型,具體可由請求時(shí)間、客戶ID、業(yè)務(wù)類型以及請求次數(shù)組成;具體跟蹤ID以空格隔離,時(shí)間、客戶ID、業(yè)務(wù)類型、請求次數(shù)組成,具體事例如下:
[0018][2015-03-12 14:29:32][TracelD][201503121429323215 2077037 4263 I][INFO][接口 ] [describeInstances][響應(yīng)結(jié)果]〈describeInstancesResponse〉;
[0019]步驟S2:當(dāng)網(wǎng)絡(luò)設(shè)備、服務(wù)器及應(yīng)用程序收到具有跟蹤ID的業(yè)務(wù)請求后,經(jīng)過處理后產(chǎn)生的新請求或回復(fù)都將增加該跟蹤ID,并在日志中記錄該跟蹤ID;
[0020]步驟S3:通過搜索具有跟蹤ID的日志定位業(yè)務(wù)故障。
[0021]本發(fā)明通過將客戶在前端操作的第一個(gè)業(yè)務(wù)請求注入特殊定制的跟蹤ID,該請求到達(dá)網(wǎng)絡(luò)設(shè)備、服務(wù)器、應(yīng)用程序經(jīng)過處理后產(chǎn)生的新請求或回復(fù)都將注入這個(gè)跟蹤ID,SP請求的發(fā)出到最后收到的回復(fù)所經(jīng)過的網(wǎng)絡(luò)設(shè)備、服務(wù)器、應(yīng)用程序的日志都會(huì)具有該跟蹤ID;再利用可視化的技術(shù)將帶有該跟蹤ID的日志展示出來,從而大大節(jié)約故障排查、瓶頸分析、安全審計(jì)的時(shí)間。
[0022]通過本發(fā)明可以收集存儲(chǔ)于日志系統(tǒng)的海量日志能按照用戶、業(yè)務(wù)類型、系統(tǒng)類型進(jìn)行區(qū)分,利用可視化圖形技術(shù)以用戶、業(yè)務(wù)類型、跟蹤ID為瑋度制定可視化的面板,實(shí)現(xiàn)對用戶業(yè)務(wù)流轉(zhuǎn)的全程監(jiān)控。
[0023]現(xiàn)有常規(guī)的前端應(yīng)用所產(chǎn)生的日志,例如tomcat、apache、nginx日志中會(huì)打印每個(gè)請求的產(chǎn)生時(shí)間,請求類型(業(yè)務(wù)類型),基于現(xiàn)有技術(shù)的打印模式可將客戶信息(每個(gè)客戶擁有特定ID),該客戶產(chǎn)生該請求的次數(shù)組成一個(gè)特殊的字段,根據(jù)以上的四個(gè)組成部分(請求時(shí)間、客戶ID、業(yè)務(wù)類型、請求次數(shù))構(gòu)成本發(fā)明的跟蹤ID。跟蹤ID寫入日志中實(shí)際上就是定制更改程序?qū)懭罩镜母袷郊皟?nèi)容,而現(xiàn)有場景中能夠產(chǎn)生客戶相關(guān)信息的程序只有前端應(yīng)用,前端的開發(fā)與后端開發(fā)一般各自為政,關(guān)注的點(diǎn)在于各自程序是否能產(chǎn)出自己想要的日志,忽略前端與后端的關(guān)聯(lián)性,而跟蹤ID在這里就提供了很好的樞紐。
[0024]以公有云為例,前端某客戶同時(shí)產(chǎn)生10個(gè)創(chuàng)建云主機(jī)的請求,其中三臺(tái)云主機(jī)創(chuàng)建失敗,現(xiàn)有技術(shù)排查手段是從前端程序日志著手,檢查請求是否生成,接著排查后端,后端指的是創(chuàng)建云主機(jī)涉及的模塊,例如網(wǎng)絡(luò)系統(tǒng),資源調(diào)度系統(tǒng),數(shù)據(jù)庫等等進(jìn)行排查,加之后端模塊間的交互各自產(chǎn)生自己獨(dú)立一套的日志,毫無關(guān)聯(lián)性,令排查難度加大。使用跟蹤ID后,關(guān)聯(lián)性問題被很好的解決了,前端的請求分發(fā)到后端的資源調(diào)度系統(tǒng),網(wǎng)絡(luò)系統(tǒng),數(shù)據(jù)庫等等,或者再多的模塊,唯一的跟蹤ID都會(huì)打印在對應(yīng)模塊的日志上,配合日志集中管理的工具,只要將前端產(chǎn)生的跟蹤ID作為關(guān)鍵字進(jìn)行搜索,前端及復(fù)雜的后端相關(guān)日志都會(huì)列出來,大大降低排查的難度。而跟蹤ID的唯一性還提供了十分優(yōu)秀的過濾功能,因?yàn)楦橧D中組成的時(shí)間(日志時(shí)間精確到納秒,程序反應(yīng)時(shí)間不會(huì)有此速度)提供了很好的唯一性,當(dāng)然還有請求類型,上述創(chuàng)建失敗的三臺(tái)云主機(jī),從前端日志中獲取其跟蹤ID,分別搜索出對應(yīng)日志,逐一排查其故障原因。從現(xiàn)有技術(shù)與本發(fā)明提出的跟蹤ID中可得出,在前端產(chǎn)生請求,到流轉(zhuǎn)經(jīng)過后端的各模塊所產(chǎn)生的日志量種類及內(nèi)容非常多,只有在各模塊之間增加關(guān)聯(lián)性才能非常有效地處理各種問題。
[0025]綜上所述,本發(fā)明通過設(shè)置跟蹤ID把各模塊中需要的業(yè)務(wù)日志串聯(lián)在一起,再者根據(jù)跟蹤ID中客戶ID、請求時(shí)間、業(yè)務(wù)類型,統(tǒng)計(jì)出來的信息能快速故障、優(yōu)化業(yè)務(wù)、調(diào)整性能。具體優(yōu)點(diǎn)如下:1、根據(jù)跟蹤ID,準(zhǔn)確定位客戶在某時(shí)刻操作的全部日志,提高分析日志的精準(zhǔn)度;2、根據(jù)跟蹤ID,節(jié)省大量從各應(yīng)用中篩選某類型業(yè)務(wù)日志的時(shí)間,降低優(yōu)化業(yè)務(wù)流程的耗費(fèi)時(shí)間;3、根據(jù)跟蹤ID,監(jiān)控不同類型客戶日志行為情況,從而優(yōu)化產(chǎn)品不足,提高客戶滿意度;4、根據(jù)跟蹤ID,關(guān)聯(lián)業(yè)務(wù)日志鏈,方便定位故障發(fā)生所屬模塊,提高處理故障速度;5、收集、匯總、分析各類型業(yè)務(wù)日志當(dāng)中模塊處理請求所耗的時(shí)間,能夠得出架構(gòu)隨業(yè)務(wù)發(fā)展各模塊性能瓶頸。
[0026]雖然本發(fā)明已以較佳實(shí)施例揭示如上,然其并非用以限定本發(fā)明,任何本領(lǐng)域技術(shù)人員,在不脫離本發(fā)明的精神和范圍內(nèi),當(dāng)可作些許的修改和完善,因此本發(fā)明的保護(hù)范圍當(dāng)以權(quán)利要求書所界定的為準(zhǔn)。
【主權(quán)項(xiàng)】
1.一種基于日志快速定位業(yè)務(wù)故障的方法,其特征在于,包括如下步驟: a)對客戶在前端操作的第一個(gè)業(yè)務(wù)請求中增加跟蹤ID; b)當(dāng)網(wǎng)絡(luò)設(shè)備、服務(wù)器及應(yīng)用程序收到具有跟蹤ID的業(yè)務(wù)請求后,經(jīng)過處理后產(chǎn)生的新請求或回復(fù)都將增加該跟蹤ID,并在日志中記錄該跟蹤ID; c)通過搜索具有跟蹤ID的日志定位業(yè)務(wù)故障。2.如權(quán)利要求1所述的基于日志快速定位業(yè)務(wù)故障的方法,其特征在于,所述跟蹤ID包含客戶ID、請求時(shí)間以及業(yè)務(wù)類型。3.如權(quán)利要求2所述的基于日志快速定位業(yè)務(wù)故障的方法,其特征在于,所述跟蹤ID中由請求時(shí)間、客戶ID、業(yè)務(wù)類型以及請求次數(shù)組成。4.如權(quán)利要求1所述的基于日志快速定位業(yè)務(wù)故障的方法,其特征在于,所述步驟a)中產(chǎn)生的前端請求通過網(wǎng)絡(luò)設(shè)備分發(fā)到后端的資源調(diào)度系統(tǒng)、網(wǎng)絡(luò)系統(tǒng)、數(shù)據(jù)庫以及各業(yè)務(wù)模塊,并在對應(yīng)模塊的日志上記錄唯一的跟蹤ID,所述步驟c)配合日志集中管理工具,將前端產(chǎn)生的跟蹤ID作為關(guān)鍵字進(jìn)行搜索,列出與該跟蹤ID相關(guān)聯(lián)的前端及后端的所有相關(guān)日志實(shí)現(xiàn)業(yè)務(wù)故障快速查看定位。5.如權(quán)利要求4所述的基于日志快速定位業(yè)務(wù)故障的方法,其特征在于,所述步驟c)還包括根據(jù)跟蹤ID監(jiān)控不同類型客戶日志行為情況,收集、匯總、分析各類型業(yè)務(wù)日志當(dāng)中各模塊處理請求所耗的時(shí)間,得出系統(tǒng)業(yè)務(wù)的性能瓶頸。
【專利摘要】本發(fā)明公開了一種基于日志快速定位業(yè)務(wù)故障的方法,包括如下步驟:a)對客戶在前端操作的第一個(gè)業(yè)務(wù)請求中增加跟蹤ID;b)當(dāng)網(wǎng)絡(luò)設(shè)備、服務(wù)器及應(yīng)用程序收到具有跟蹤ID的業(yè)務(wù)請求后,經(jīng)過處理后產(chǎn)生的新請求或回復(fù)都將增加該跟蹤ID,并在日志中記錄該跟蹤ID;c)通過搜索具有跟蹤ID的日志定位業(yè)務(wù)故障。本發(fā)明通過設(shè)置跟蹤ID把各模塊中需要的業(yè)務(wù)日志串聯(lián)在一起,實(shí)現(xiàn)對多模塊、多系統(tǒng)的海量日志信息進(jìn)行關(guān)聯(lián)分析,快速準(zhǔn)確地定位業(yè)務(wù)故障,解決現(xiàn)有日志信息匹配難、無法關(guān)聯(lián)分析的難題;此外,本發(fā)明通過設(shè)置特定跟蹤ID并利用其中的客戶ID、請求時(shí)間、業(yè)務(wù)類型,使得統(tǒng)計(jì)出來的信息能快速定位故障并優(yōu)化業(yè)務(wù)性能。
【IPC分類】H04L12/24
【公開號(hào)】CN105577454
【申請?zhí)枴緾N201610119429
【發(fā)明人】程永新, 胡永, 葉煥榮
【申請人】上海新炬網(wǎng)絡(luò)信息技術(shù)有限公司
【公開日】2016年5月11日
【申請日】2016年3月3日