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

分布式鏈路異常日志采集方法研究

2022-12-13 10:56:10劉錦鳴
機電信息 2022年23期
關(guān)鍵詞:服務(wù)

劉錦鳴

(興業(yè)數(shù)字金融服務(wù)(上海)股份有限公司廣州分公司,廣東 廣州 510000)

0 引言

隨著互聯(lián)網(wǎng)業(yè)務(wù)快速擴展,軟件架構(gòu)設(shè)計也變得愈發(fā)復(fù)雜,為滿足大量客戶高并發(fā)的請求,系統(tǒng)逐步走向分布式,如單體架構(gòu)的服務(wù)拆分為微服務(wù),這些微服務(wù)構(gòu)成了復(fù)雜的分布式網(wǎng)絡(luò)。同時,復(fù)雜的分布式調(diào)用網(wǎng)絡(luò)可能會有成千上萬的服務(wù),如果一個服務(wù)出現(xiàn)問題,可能會導(dǎo)致數(shù)十個服務(wù)出現(xiàn)異常,對異常問題的排查將十分困難。

分布式鏈路跟蹤[1]是將分布式請求還原成請求的調(diào)用鏈路,如一次點擊請求的處理過程,經(jīng)過多個服務(wù)及實例。當(dāng)出現(xiàn)異常節(jié)點時,需采集異常節(jié)點的全鏈路信息,文獻[2]探討了基于采樣方式采集異常鏈路,該策略能提升異常鏈路采集速率,但實際生產(chǎn)中99.99%的非異常日志對問題排查作用不大,而0.01%的異常日志則起到關(guān)鍵作用。在保證異常日志鏈路查全率的前提下,提高異常日志采集速率能在業(yè)務(wù)高峰期起到重要作用。

本文提出了一種分布式鏈路異常日志采集方法,能在保證異常日志鏈路查全率的前提下,提高異常日志采集速率,以提升服務(wù)異常時的運維排查效率。

1 分布式技術(shù)

1.1 分布式系統(tǒng)

分布式系統(tǒng)是指由多臺在網(wǎng)絡(luò)上分散的計算機通過網(wǎng)絡(luò)連接而成的系統(tǒng),系統(tǒng)的計算處理邏輯和控制功能分布在這個系統(tǒng)網(wǎng)絡(luò)的計算機上。而計算機的分布式部署就是將微服務(wù)應(yīng)用有規(guī)則地分散在多臺獨立運行的計算機設(shè)備上,同一功能的微服務(wù)應(yīng)用可能同時部署到多臺計算機上,利用多臺計算機服務(wù)器進行應(yīng)用的負載均衡。

1.2 鏈路跟蹤

鏈路跟蹤在請求調(diào)用鏈路還原、調(diào)用網(wǎng)絡(luò)重構(gòu)方面對分布式服務(wù)起到關(guān)鍵作用[3],可以協(xié)助運維人員快速定位分布式服務(wù)框架下的請求調(diào)用鏈路,提高微服務(wù)的運維定位效率。

一個請求接口內(nèi)可能調(diào)用了多個應(yīng)用服務(wù),排查接口內(nèi)的異常節(jié)點,需要清楚請求服務(wù)調(diào)用多個服務(wù)的順序,就是調(diào)用鏈。為了實現(xiàn)調(diào)用鏈,對請求調(diào)用的每個服務(wù)按先后排序標記唯一標志,該標志定義為spanId;為了標志每次請求的調(diào)用情況,需要對每一次請求也標記唯一標志,該標志定義為traceId,如圖1所示。

圖1 分布式調(diào)用鏈

1.3 翻滾時間窗口

翻滾時間窗口指的是讀取數(shù)據(jù)的窗口所含時間長度固定,若時間窗口設(shè)定為n s,則該時間窗口只讀取當(dāng)前n s內(nèi)的數(shù)據(jù),而不會讀取前n s或后n s的數(shù)據(jù),且時間連續(xù),窗口不會出現(xiàn)重疊。

2 框架構(gòu)建

2.1 基于翻滾移動窗口實時提取分布式流數(shù)據(jù)方案

隨著業(yè)務(wù)的辦理,業(yè)務(wù)執(zhí)行日志將不斷產(chǎn)生,并實時寫入日志服務(wù)器。由于日志數(shù)據(jù)是實時產(chǎn)生并寫入日志服務(wù)器的,讀取日志數(shù)據(jù)就是一個面向流處理的場景[4-5],并非批處理的場景。每個日志服務(wù)器上的數(shù)據(jù)都是從上到下逐條寫入,且時間上是順序的。

因此,基于翻滾時間移動窗口讀取日志流數(shù)據(jù),該方案是每次在日志服務(wù)器從上到下按照固定時間長度非重復(fù)性地讀取該時間段內(nèi)日志數(shù)據(jù)。時間窗口是基于歷史統(tǒng)計請求的最長時間×1.1獲得,應(yīng)用歷史統(tǒng)計最長時長記為Reqmax,時間窗口寬度記為W,即W=Reqmax×1.1。

2.2日志數(shù)據(jù)暫存

每個時間窗口寬度提取出的日志數(shù)據(jù)將作為一個集合,并對每個集合按從小到大的順序分配編號setId(eg:1,2,3,…)。同時,對當(dāng)前集合的每條數(shù)據(jù)進行遍歷,每條日志數(shù)據(jù)所含的標志字段有:traceId(請求標志)、status(請求狀態(tài))。由于請求是并發(fā)的,可能在短時間內(nèi)大量請求進入系統(tǒng),不同請求的traceId不同,每經(jīng)過不同的應(yīng)用服務(wù)后,都會產(chǎn)生相應(yīng)的日志并存入日志文件,這樣就造成同一個traceId下日志中間會存在各個不一樣的traceId的請求調(diào)用到不同應(yīng)用產(chǎn)生的日志,同一個traceId不同應(yīng)用服務(wù)的日志將不會連續(xù)。

所以,為了把相同traceId的請求日志區(qū)分出來,引入了日志數(shù)據(jù)存入數(shù)據(jù)結(jié)構(gòu):Map>。其中,Map里的key=traceId,Map里的value=LinkedList,LinkedList為有序列表,LinkedList的每條數(shù)據(jù)為該日志信息。

2.3 提取異常日志traceId

一個穩(wěn)定的系統(tǒng),業(yè)務(wù)辦理的成功率都在99.99%以上,這些業(yè)務(wù)成功辦理的日志信息對于極少數(shù)業(yè)務(wù)辦理失敗的原因排查無關(guān)緊要,最重要的是業(yè)務(wù)辦理時出現(xiàn)的問題信息,需要通過暴露出來的異常信息進行排查,才能解決存在的問題。

然而,為了區(qū)分正常和異常的日志,需要把重要的異常日志從大量的日志信息中提取出來。通過判斷讀取出來的日志信息,判斷該日志信息的狀態(tài)是否為200,如果為非200,那么該日志為異常日志,需要把該日志所在讀取的批次setId和該日志的traceId記錄到錯慢日志集合,并用Map>存儲,其中,Map里的key=setId,Map里的value=traceId。

2.4 計算

通過上述三個步驟,完成對日志流數(shù)據(jù)的實時按批次讀取和按批次存儲,把識別到的異常日志對應(yīng)的traceId提取出來,并使用集合方式存儲起來。

以異常集合的traceId為出發(fā)點,從暫存的數(shù)據(jù)中提取出涉及該鏈路的所有節(jié)點日志數(shù)據(jù)。由于日志數(shù)據(jù)是按批次讀取的,所以異常日志traceId也是按集合批次進行存儲區(qū)分。但落在當(dāng)前setId集合里的鏈路日志,可能存在該鏈路數(shù)據(jù)落在相鄰的setId集合里,為了確保囊括該請求鏈路所有節(jié)點的日志數(shù)據(jù),需要把setId集合的前后兩個setId集合對應(yīng)traceId提取出來。

所以,計算setId=n的日志數(shù)據(jù)時,需2.3點提到的集合(n-1,n,n+1)∈setId,并從2.2的traceId集合里獲取key值一致的traceId所對應(yīng)的List數(shù)據(jù)。

3 實驗

采用日志大小為4 GB的日志服務(wù)器作為日志流輸出口,異常日志采集服務(wù)器分類4G內(nèi)存。通過上述方法對日志流數(shù)據(jù)進行異常日志鏈路采集。通過對日志流輸出進行調(diào)整,測試采用上述方法在不同日志流輸出速率下的異常鏈路采集時長。

設(shè)定日志流速率在700~1 650 MB/s范圍內(nèi),日志流速率間隔為50 MB/s,調(diào)整日志流速率,日志采集時長/日志流時長、異常日志查全率統(tǒng)計如圖2所示。當(dāng)日志流速率在1 200~1 300 MB/s時,采集時長和日志流時長的比值大于1,表明采集時間比日志流時間長,并且隨著日志流速率提高,采集時間與日志流時長比值增大,那么異常日志采集最高速率在1 200~1 300 MB/s為宜。

圖2 700~1 650 MB/s速率的采集時長/日志流時長、異常鏈路查全率

為了更精確地獲取異常日志采集速率,設(shè)定日志流速率在1 150~1 340 MB/s范圍內(nèi),日志流速率間隔為10 MB/s,調(diào)整日志流速率,日志采集時長/日志流時長、異常日志查全率統(tǒng)計如圖3所示。當(dāng)日志流速率大于1 260 MB/s時,采集時長和日志流時長的比值大于1,如表1所示,表明采集速率達到最大值。

圖3 1 150~1 340 MB/s速率的采集時長/日志流時長、異常鏈路查全率

表1日志流輸出時長/采集時長、查全率

4 結(jié)果與討論

當(dāng)日志流速率在1 260 MB/s以下時,采集時間與日志流時間一致;當(dāng)日志流速率在1 260 MB/s以上時,采集時間比日志流時間長,并且隨著日志流速率提高,采集時長與日志流時長比值增大。數(shù)據(jù)表明,采集速率達到1 260 MB/s,日志流速率在1 260 MB/s以內(nèi)時能實時處理日志信息。

5 結(jié)語

本文旨在分析分布式系統(tǒng)鏈路日志的現(xiàn)況,提出了一種分布式鏈路異常日志采集的方法:只要請求的鏈路跟蹤數(shù)據(jù)存在異常節(jié)點,那么該異常節(jié)點涉及的全鏈路數(shù)據(jù)將被采集。通過該方法,分布式鏈路異常日志采集速率達到了1 260 MB/s,查全率達到100%。該方法大幅提升了業(yè)務(wù)高峰期系統(tǒng)故障問題定位的效率,提高了系統(tǒng)故障處理能力和業(yè)務(wù)辦理質(zhì)量,提升了客戶滿意度。

猜你喜歡
服務(wù)
自助取卡服務(wù)
服務(wù)在身邊 健康每一天
服務(wù)在身邊 健康每一天
服務(wù)在身邊 健康每一天
服務(wù)在身邊 健康每一天
服務(wù)在身邊 健康每一天
服務(wù)在身邊 健康每一天
服務(wù)在身邊 健康每一天
高等教育為誰服務(wù):演變與啟示
招行30年:從“滿意服務(wù)”到“感動服務(wù)”
商周刊(2017年9期)2017-08-22 02:57:56
主站蜘蛛池模板: 欧美日韩国产在线观看一区二区三区| 亚洲av无码久久无遮挡| 99久久精彩视频| 亚洲一级毛片免费看| 无码专区国产精品第一页| 欧美成人精品一级在线观看| 久久99国产综合精品1| 91区国产福利在线观看午夜| 国产性生大片免费观看性欧美| 国产在线观看91精品亚瑟| 国产精品嫩草影院视频| 国产亚洲视频中文字幕视频| 在线不卡免费视频| 国产情精品嫩草影院88av| 色欲综合久久中文字幕网| 久久精品无码一区二区日韩免费| 亚洲欧美成人影院| 四虎AV麻豆| 999精品视频在线| 最新国产午夜精品视频成人| 中文字幕乱码二三区免费| 国产95在线 | 尤物国产在线| 日韩高清在线观看不卡一区二区 | 国产在线日本| 精品国产自| 日本午夜在线视频| 91精品国产麻豆国产自产在线| 亚洲天堂日韩av电影| 亚洲欧美成aⅴ人在线观看 | 国产激爽爽爽大片在线观看| 久久精品人人做人人爽| 中文字幕在线看| 亚洲V日韩V无码一区二区| 中文一级毛片| 亚洲av片在线免费观看| 亚洲三级a| 青青青草国产| 很黄的网站在线观看| 国产精品久久精品| 热久久这里是精品6免费观看| 亚洲an第二区国产精品| 国产成人一区在线播放| 亚洲国产精品无码久久一线| 国内熟女少妇一线天| 玩两个丰满老熟女久久网| 国产迷奸在线看| 操国产美女| 在线观看热码亚洲av每日更新| 色视频国产| 国产h视频免费观看| 亚洲免费播放| 久久网欧美| 91在线播放免费不卡无毒| 97成人在线视频| 专干老肥熟女视频网站| 香蕉国产精品视频| 久久国产乱子伦视频无卡顿| 欧美三级日韩三级| 亚州AV秘 一区二区三区| 久久综合干| 尤物精品视频一区二区三区| 精品国产乱码久久久久久一区二区| 亚洲精品va| 四虎成人免费毛片| 亚洲国产精品一区二区第一页免| 成年午夜精品久久精品| 亚州AV秘 一区二区三区 | 国产午夜小视频| 国产成人精品日本亚洲77美色| 18禁高潮出水呻吟娇喘蜜芽| 成人精品视频一区二区在线| 国内精品伊人久久久久7777人| 色偷偷一区二区三区| 久青草免费在线视频| 97久久人人超碰国产精品| 国产精品一区二区在线播放| 就去吻亚洲精品国产欧美| 香蕉在线视频网站| 日韩精品一区二区三区中文无码| 亚洲高清日韩heyzo| 国产成人午夜福利免费无码r|