日志易:可觀測性解決方案——觀察易(觀察日志怎么弄)
日志易:可觀測性解決方案——觀察易(觀察日志怎么弄)
來源:“鑫智獎(jiǎng)”第四屆金融數(shù)據(jù)智能優(yōu)秀解決方案評(píng)選
獲獎(jiǎng)單位:北京優(yōu)特捷信息技術(shù)有限公司
榮獲獎(jiǎng)項(xiàng):運(yùn)維創(chuàng)新優(yōu)秀解決方案
一、解決方案簡介
觀察易是日志易基于自研高性能數(shù)據(jù)搜索分析引擎Beaver和低代碼編程語言SPL(Search Processing Language)自主研發(fā)的針對(duì)單體應(yīng)用架構(gòu)、分布式應(yīng)用架構(gòu)的可觀測性平臺(tái),用于收集、分析、聚合、可視化來自于各類應(yīng)用運(yùn)維數(shù)據(jù),具備鏈路追蹤、性能分析、日志關(guān)聯(lián)、指標(biāo)探索以及擴(kuò)展化運(yùn)維場景的定制能力。它功能強(qiáng)大,具備對(duì)Tracing、Metric以及Logging的統(tǒng)一管理以及關(guān)聯(lián)分析等,無論從應(yīng)用的觀測、監(jiān)控還是運(yùn)維排障方面來看,皆具備較強(qiáng)的能力,觀察易關(guān)注的重點(diǎn)是“可觀測性、監(jiān)控能力以及故障排查效率”。
二、應(yīng)用場景痛點(diǎn)簡介
簡單地說,可觀測性就是從應(yīng)用系統(tǒng)中收集盡可能多的遙測數(shù)據(jù),以便您可以調(diào)查和解決新的復(fù)雜問題。目標(biāo)是使您的團(tuán)隊(duì)能夠開始主動(dòng)觀察系統(tǒng),以便您能夠:在影響客戶之前解決問題,安全地進(jìn)行實(shí)驗(yàn)并實(shí)施優(yōu)化,更好地管理業(yè)務(wù)風(fēng)險(xiǎn)。我們可以將它視為系統(tǒng)的一個(gè)屬性,與功能性、安全性相似。
可觀測性是由日志、指標(biāo)和鏈路追蹤三大支柱去構(gòu)建的,即遙測數(shù)據(jù)可以精簡為日志,指標(biāo)和鏈路追蹤。
日志(Logging):日志展現(xiàn)的是應(yīng)用運(yùn)行而產(chǎn)生的事件或者程序在執(zhí)行的過程中產(chǎn)生的記錄,日志可以詳細(xì)解釋系統(tǒng)的運(yùn)行狀態(tài),但是存儲(chǔ)和查詢需要消耗大量的資源。
指標(biāo)(Metrics):指標(biāo)是一種聚合數(shù)值,其存儲(chǔ)空間小,便于觀察系統(tǒng)的狀態(tài)和趨勢,但對(duì)于問題定位缺乏細(xì)節(jié)展示。這個(gè)時(shí)候使用多維數(shù)據(jù)結(jié)構(gòu)能增強(qiáng)對(duì)于細(xì)節(jié)的表現(xiàn)力。例如統(tǒng)計(jì)一個(gè)服務(wù)的的平均耗時(shí)、請求量等。
鏈路跟蹤(tracing):盡管日志記錄了各個(gè)事件的細(xì)節(jié),可在分布式系統(tǒng)中,日志仍舊存在不足之處。日志記錄的事件是孤立的,但是在實(shí)際的分布式系統(tǒng)中,不同組件中發(fā)生的事件往往存在因果關(guān)系。鏈路跟蹤解決了這一問題,通過SpanID等標(biāo)記可重新構(gòu)造出事件的完整事件鏈路以及因果關(guān)系。技術(shù)人員可以借此了解網(wǎng)格內(nèi)服務(wù)的依賴和調(diào)用流程,構(gòu)建整個(gè)網(wǎng)格的服務(wù)拓?fù)?/span>并輕松分析出請求中出現(xiàn)的異常點(diǎn)。
三種形式的組合使用將會(huì)產(chǎn)生豐富的可觀測數(shù)據(jù)。
三、解決方案亮點(diǎn)介紹
技術(shù)架構(gòu)圖
觀察易能夠從業(yè)務(wù)-服務(wù)-接口-設(shè)備四層維度對(duì)應(yīng)用系統(tǒng)狀態(tài)進(jìn)行分析。
1、產(chǎn)品優(yōu)勢
國產(chǎn)自研,安全可控
日志易是國家級(jí)專精特新“小巨人”企業(yè),已獲得14項(xiàng)技術(shù)發(fā)明專利、3項(xiàng)外觀專利,一直專注于機(jī)器大數(shù)據(jù)平臺(tái)、服務(wù)和解決方案的開發(fā),致力于幫助各行業(yè)用戶挖掘和利用機(jī)器數(shù)據(jù)價(jià)值,提升數(shù)字化運(yùn)營能力,輕松應(yīng)對(duì)IT及業(yè)務(wù)挑戰(zhàn)。
日志易自研的低代碼編程語言SPL(Search Processing Language)已實(shí)現(xiàn)了300多個(gè)函數(shù)及指令,全面覆蓋日常運(yùn)維分析和安全分析工作需求,對(duì)接了后臺(tái)多種機(jī)器學(xué)習(xí)算法,實(shí)現(xiàn)了智能運(yùn)維AIOps。此外,日志易還研發(fā)出了國內(nèi)首個(gè)高性能高可用性的日志搜索引擎Beaver,每天可處理PB級(jí)海量日志,相比國外通用開源搜索引擎來說,Beaver性能提升了10倍且硬件成本降低了50%。
信創(chuàng)生態(tài),行業(yè)引領(lǐng)
日志易于2020年加入了信息技術(shù)應(yīng)用創(chuàng)新工作委員會(huì),2021年成為了信息技術(shù)應(yīng)用創(chuàng)新工作委員會(huì)WG24大數(shù)據(jù)工作組副組長單位,已成為華為鯤鵬展翅伙伴計(jì)劃ISV級(jí)認(rèn)證伙伴,完成了多家信創(chuàng)相關(guān)產(chǎn)品兼容性測試并獲得互認(rèn)證,并受邀參與編寫國內(nèi)首個(gè)《企業(yè)級(jí)AIOps實(shí)施建議白皮書》與中國信通院牽頭制定的智能運(yùn)維(AIOps)能力成熟度模型系列標(biāo)準(zhǔn)。2021年4月,日志易出版了首本由國內(nèi)日志分析專家撰寫的專業(yè)書籍《日志管理與分析》,已經(jīng)成為該領(lǐng)域的佼佼者。
數(shù)據(jù)接入模型
觀察易分為數(shù)據(jù)接入和功能使用兩部分。
觀察易可作為日志易平臺(tái)上的擴(kuò)展應(yīng)用,支持接入全類型日志以便定位故障原因,但是對(duì)于接入的鏈路追蹤日志、性能指標(biāo)需要滿足數(shù)據(jù)模型。只有滿足數(shù)據(jù)模型的數(shù)據(jù)接入觀察易,才可以直接在頁面上使用觀察易提供的功能。
鏈路追蹤和性能指標(biāo),如來自zipkin、jaeger、prometheus的數(shù)據(jù),經(jīng)處理后需要使特定的字段寫入指定的索引,以便在觀察易頁面使用。詳細(xì)信息如下圖所示。
2.應(yīng)用場景
運(yùn)維監(jiān)控
在“業(yè)務(wù)至上”的互聯(lián)網(wǎng)時(shí)代,DevOps需要持續(xù)監(jiān)控業(yè)務(wù)狀態(tài),當(dāng)故障發(fā)生時(shí)需要快速找到根因并進(jìn)行修復(fù)。觀察易能夠從業(yè)務(wù)維度對(duì)業(yè)務(wù)的平均耗時(shí)、請求量、錯(cuò)誤數(shù)、成功率四個(gè)黃金指標(biāo)進(jìn)行監(jiān)控,也可以從服務(wù)和接口維度對(duì)業(yè)務(wù)的整體狀態(tài)進(jìn)行分析。另外,觀察易也提供和業(yè)務(wù)無關(guān)的服務(wù)監(jiān)控、接口分析和設(shè)備監(jiān)控,實(shí)現(xiàn)更全面的系統(tǒng)可觀測性。
鏈路追蹤
伴隨企業(yè)IT由傳統(tǒng)架構(gòu)向分布式微服務(wù)架構(gòu)轉(zhuǎn)型,復(fù)雜單體應(yīng)用被拆分為多個(gè)輕量級(jí)服務(wù)。由于服務(wù)間的獨(dú)立性,一筆業(yè)務(wù)會(huì)涉及到多個(gè)微服務(wù)系統(tǒng)。觀察易可對(duì)接trace日志,實(shí)現(xiàn)業(yè)務(wù)鏈路追蹤,通過觀察易的拓?fù)鋱D、歷史回溯和指標(biāo)趨勢圖了解業(yè)務(wù)詳情,快速定位故障,讓IT運(yùn)維人員更準(zhǔn)確、高效地掌握微服務(wù)環(huán)境下業(yè)務(wù)的運(yùn)行狀態(tài)。
指標(biāo)探索
從業(yè)務(wù)、服務(wù)、設(shè)備角度來說,側(cè)重的是黃金指標(biāo)可觀測性,如果需要關(guān)聯(lián)黃金指標(biāo)對(duì)比觀察或需要關(guān)注黃金指標(biāo)以外的其他指標(biāo)時(shí),運(yùn)維人員可以使用觀察易的指標(biāo)探索功能對(duì)時(shí)序數(shù)據(jù)進(jìn)行單指標(biāo)多維度(平均值、最大值、最小值等)或多指標(biāo)多維度查詢、分析并實(shí)現(xiàn)可視化。
故障定位
觀察易能夠提供標(biāo)準(zhǔn)的起點(diǎn)或圖表來幫助運(yùn)維人員查找問題,分別從業(yè)務(wù)、服務(wù)、接口、設(shè)備的概覽追蹤到其詳情,進(jìn)而結(jié)合調(diào)用鏈的span信息或其他日志信息定位到故障原因。
3.功能介紹
業(yè)務(wù):從業(yè)務(wù)維度梳理系統(tǒng)當(dāng)前狀態(tài),展示業(yè)務(wù)概況、業(yè)務(wù)詳情,用戶可以通過觀察到的異常趨勢深入探究業(yè)務(wù)詳情,并通過業(yè)務(wù)拓?fù)鋱D發(fā)現(xiàn)調(diào)用服務(wù)之間的關(guān)系與具體狀態(tài)。業(yè)務(wù)拓?fù)渫瑫r(shí)支持歷史回溯、服務(wù)詳情、接詳情、查看具體異常請求等功能,幫助用戶快速完成溯源分析。
服務(wù):從服務(wù)維度梳理系統(tǒng)當(dāng)前狀態(tài),從指標(biāo)趨勢和接口分析展示服務(wù)概況、服務(wù)詳情,同時(shí)支持下鉆到關(guān)聯(lián)設(shè)備及調(diào)用鏈信息。
設(shè)備:蜂窩狀視圖讓設(shè)備關(guān)鍵信息一目了然,點(diǎn)擊詳情進(jìn)一步了解設(shè)備的相關(guān)信息、性能指標(biāo)和相關(guān)服務(wù)。
調(diào)用鏈:提供鏈路追蹤查詢功能,用戶可以使用業(yè)務(wù),服務(wù),接口,Local IP,Remote IP,traceID,耗時(shí),請求結(jié)果等多種字段對(duì)調(diào)用鏈進(jìn)行過濾。調(diào)用鏈詳情展示每個(gè)請求的耗時(shí),并能快速跳轉(zhuǎn)至具體日志。
指標(biāo)探索:用戶無需使用SPL編程語言,利用分析區(qū)即可完成對(duì)指標(biāo)時(shí)序數(shù)據(jù)的分析與可視化,支持聚合、時(shí)移及拆分,獲得更深入的分析圖表。
1.業(yè)務(wù)
1)業(yè)務(wù)總覽
業(yè)務(wù)總覽默認(rèn)展示最近10分鐘的業(yè)務(wù)概況,用戶可以自定義時(shí)間范圍,查看不同時(shí)間的業(yè)務(wù)概況,如業(yè)務(wù)名稱,成功率,請求量,錯(cuò)誤數(shù),請求耗時(shí)等。
業(yè)務(wù)查詢支持索引動(dòng)態(tài)查詢,也支持手動(dòng)輸入。用戶可以通過’曲線圖'查看時(shí)間范圍內(nèi)的業(yè)務(wù)趨勢和最后值。
2)業(yè)務(wù)詳情
業(yè)務(wù)詳情包括業(yè)務(wù)拓?fù)鋱D、拓?fù)鋱D播放、業(yè)務(wù)指標(biāo)趨勢圖、服務(wù)指標(biāo)趨勢圖、接口指標(biāo)趨勢圖等。
業(yè)務(wù)拓?fù)鋱D展示時(shí)間范圍內(nèi)業(yè)務(wù)調(diào)用的服務(wù)、服務(wù)之間的關(guān)系以及服務(wù)狀態(tài),默認(rèn)展示服務(wù)層。當(dāng)服務(wù)層節(jié)點(diǎn)異常時(shí),我們可以通過左下角的數(shù)字(數(shù)字表示當(dāng)前層級(jí)的節(jié)點(diǎn)數(shù))切換到接口層,查看接口狀態(tài)和指標(biāo)趨勢。
節(jié)點(diǎn)使用顏色區(qū)分表示健康度,展示該節(jié)點(diǎn)狀態(tài),支持用戶自定義節(jié)點(diǎn)狀態(tài)和成功率的對(duì)應(yīng)關(guān)系。
歷史回溯:
歷史回溯提供更快捷的方式,播放展示不同時(shí)刻的具體鏈路狀態(tài)。用戶可以設(shè)定播放速度,也可以展示任意指定時(shí)刻的具體鏈路狀態(tài)。
業(yè)務(wù)指標(biāo):
業(yè)務(wù)指標(biāo)展示用戶選定時(shí)間范圍內(nèi)的業(yè)務(wù)趨勢。
節(jié)點(diǎn)詳情:
節(jié)點(diǎn)詳情展示節(jié)點(diǎn)指標(biāo)在選定時(shí)間范圍趨勢圖。
2.異常請求
異常的定義來自配置→異常關(guān)鍵字。異常請求通過表格形式按時(shí)間降序展示選定時(shí)間范圍內(nèi)的所有異常請求。點(diǎn)擊traceID可查看該請求詳情。
3.調(diào)用鏈
調(diào)用鏈即鏈路追蹤tracing,調(diào)用鏈頁面提供鏈路追蹤查詢功能,支持使用業(yè)務(wù),服務(wù),接口,Local IP,Remote IP,traceID,耗時(shí),請求結(jié)果對(duì)tracing進(jìn)行過濾。過濾項(xiàng)下拉框來自對(duì)接數(shù)據(jù)的索引動(dòng)態(tài)查詢,也支持手動(dòng)輸入。支持點(diǎn)擊traceID查看該tracing的詳細(xì)信息。
1)調(diào)用鏈詳情
調(diào)用鏈詳情展示單個(gè)tracing的信息,同時(shí)支持進(jìn)一步查看日志原文,跳轉(zhuǎn)至搜索頁。
4.服務(wù)
從服務(wù)維度梳理系統(tǒng)狀態(tài)。包含服務(wù)總覽和服務(wù)詳情。
1)服務(wù)總覽
服務(wù)總覽默認(rèn)展示最近10分鐘的服務(wù)概況,支持自定義時(shí)間范圍,查看不同時(shí)間的業(yè)務(wù)概況,卡片式展示服務(wù)信息,如服務(wù)名稱,成功率,請求量,錯(cuò)誤數(shù),請求耗時(shí)等。支持過濾操作。
2)服務(wù)詳情
服務(wù)詳情包括服務(wù)指標(biāo)趨勢圖:請求量,錯(cuò)誤數(shù),平均耗時(shí),成功率。支持滑選功能。用戶可以選擇查看某個(gè)業(yè)務(wù)的服務(wù)詳情,也可以查看全部業(yè)務(wù)的服務(wù)詳情。
服務(wù)詳情還包括接口分析,默認(rèn)展示’平均響應(yīng)時(shí)間最慢TOP10',還可以選擇’請求次數(shù)最多TOP10','錯(cuò)誤次數(shù)最多TOP10','成功率最低TOP10',當(dāng)選擇全部接口時(shí),可以搜索某個(gè)接口名。
同時(shí)服務(wù)頁面可跳轉(zhuǎn)至關(guān)聯(lián)的設(shè)備、日志及調(diào)用鏈信息頁。
5.設(shè)備
設(shè)備信息由蜂窩圖形式構(gòu)建,不同的顏色代表該設(shè)備的健康狀態(tài)。默認(rèn)展示最近10分鐘的設(shè)備使用率的最新值,支持對(duì)設(shè)備及字段信息過濾篩選,或根據(jù)分組字段對(duì)設(shè)備進(jìn)行分組。設(shè)備類型支持:Hosts和Docker Containers,不同的設(shè)備類型對(duì)應(yīng)的展示指標(biāo)不同。
單擊設(shè)備卡片時(shí),展示設(shè)備詳情:相關(guān)信息,相關(guān)指標(biāo)和相關(guān)服務(wù)。
相關(guān)信息展示設(shè)備tag值、平均cpu使用率、平均內(nèi)存使用率。用戶可以點(diǎn)擊"查看相關(guān)日志"跳轉(zhuǎn)至搜索頁面查看更多信息。
相關(guān)指標(biāo)展示該設(shè)備的性能指標(biāo),相關(guān)服務(wù)展示該設(shè)備上運(yùn)行的服務(wù)信息。
6.指標(biāo)探索
在指標(biāo)探索頁面用戶無需使用spl檢索語句即可對(duì)o11y_metrics索引的時(shí)序數(shù)據(jù)進(jìn)行分析和可視化,僅僅需要選擇數(shù)據(jù)就可以創(chuàng)建交互式圖表,使用聚合、拆分、時(shí)移和過濾器深入分析數(shù)據(jù)。指標(biāo)探索幫助用戶快速識(shí)別數(shù)據(jù)中的異常。
指標(biāo)探索頁面包含三個(gè)區(qū)域。左側(cè)的"數(shù)據(jù)"區(qū)顯示了可用于分析的所有數(shù)據(jù)源。中間的"數(shù)據(jù)展示"區(qū)是您看到圖表表示的數(shù)據(jù)的地方。右側(cè)的“分析”區(qū)列出了可以應(yīng)用于數(shù)據(jù)的聚合和分析功能。
1)圖表與分析
指標(biāo)探索頁支持用戶創(chuàng)建一個(gè)新圖表或向現(xiàn)有圖表添加數(shù)據(jù)。每個(gè)圖表都包含基于至少一項(xiàng)匯總的一個(gè)或多個(gè)時(shí)間序列。將鼠標(biāo)懸停在圖表上的任意點(diǎn)可以查看相應(yīng)的值。支持多個(gè)數(shù)據(jù)可以在同一個(gè)圖表中展示。
在"分析"區(qū)配置分析功能和操作,用戶借此從圖表中獲得洞察力。所有分析功能都會(huì)在后臺(tái)生成SPL,可以點(diǎn)擊圖表中的"在搜索中打開"圖標(biāo)查看對(duì)應(yīng)的spl。
聚合
圖標(biāo)展示中的圖表包含基于匯總數(shù)據(jù)的時(shí)間序列。為了計(jì)算聚合,將相同近似時(shí)間范圍內(nèi)的數(shù)據(jù)點(diǎn)分類為存儲(chǔ)桶。匯總是根據(jù)同一存儲(chǔ)桶中的數(shù)據(jù)點(diǎn)計(jì)算得出的。存儲(chǔ)桶大小或跨度將根據(jù)用戶指定的時(shí)間范圍自動(dòng)配置。增加時(shí)間范圍會(huì)導(dǎo)致跨度自動(dòng)增加。
指標(biāo)探索頁支持向圖表添加多個(gè)時(shí)間序列,以查看數(shù)據(jù)的不同匯總。用戶可以為某一個(gè)數(shù)據(jù)選擇avg(默認(rèn)聚合方式)、max、min、sum、count等多種聚合方式。
拆分
指標(biāo)探索頁支持按維度拆分時(shí)間序列,以查看每個(gè)維度值的單獨(dú)時(shí)間序列。按維度拆分時(shí)間序列會(huì)顯示所選時(shí)間范圍內(nèi)的維度值。
時(shí)移
通過改變選取時(shí)間范圍來對(duì)比數(shù)據(jù)隨時(shí)間的變化情況。
實(shí)現(xiàn)價(jià)值
多維度服務(wù)分析
從指標(biāo)趨勢和接口分析展示服務(wù)信息;支持下鉆到關(guān)聯(lián)設(shè)備及調(diào)用鏈信息。
全局設(shè)備總覽
設(shè)備關(guān)鍵信息采用蜂窩狀視圖展示,性能指標(biāo)和相關(guān)服務(wù)一目了然。
多功能指標(biāo)探索
完成對(duì)指標(biāo)時(shí)序數(shù)據(jù)的分析與可視化;支持聚合、時(shí)移及拆分。
實(shí)時(shí)業(yè)務(wù)監(jiān)控
通過異常趨勢深入探究業(yè)務(wù)詳情;憑借業(yè)務(wù)拓?fù)鋱D發(fā)現(xiàn)服務(wù)之間的調(diào)用關(guān)系與具體狀態(tài)。
鏈路追蹤查詢
通過多種字段對(duì)調(diào)用鏈進(jìn)行過濾查詢;實(shí)時(shí)展示每個(gè)請求的耗時(shí)并快速跳轉(zhuǎn)至具體日志。
四、客戶評(píng)價(jià)
日志易的觀察易在聚合時(shí)可以細(xì)化到節(jié)點(diǎn)級(jí)別。集群或微服務(wù)往往都是分布部署的,觀察易拓?fù)鋱D能夠顯示3層,每層展示的顆粒度都可配置。例如我們,第一層是業(yè)務(wù)系統(tǒng),第二層是各模塊集群,第三層就是模塊節(jié)點(diǎn),可以自定義設(shè)置層次,不斷放大。
——某大型股份制銀行IT負(fù)責(zé)人
使用觀察易,數(shù)據(jù)治理的問題能夠一起解決,大部分不需要修改日志格式。我們引入了觀察易數(shù)據(jù)模型,只需要接入鏈路日志,然后在日志易數(shù)據(jù)工廠進(jìn)行重命名和聚合等操作,即可完成數(shù)據(jù)接入,方便快捷。一則數(shù)據(jù)工廠支持很多span相關(guān)的算子,幫助梳理鏈路;二則數(shù)據(jù)工廠可以實(shí)現(xiàn)大數(shù)據(jù)量的實(shí)時(shí)處理,加快聚合得出指標(biāo)的進(jìn)程。
——某大型城商行IT負(fù)責(zé)人
更多金融科技案例和金融數(shù)據(jù)智能優(yōu)秀解決方案,請登錄數(shù)字金融創(chuàng)新知識(shí)服務(wù)平臺(tái)-金科創(chuàng)新社官網(wǎng)案例庫、選型庫查看。