掃一掃 | 微信關(guān)注
隨著云原生時(shí)代的全面來(lái)臨,微服務(wù)、容器、不可變基礎(chǔ)設(shè)施和申明式API等新技術(shù)在業(yè)務(wù)應(yīng)用大規(guī)模使用,使得業(yè)務(wù)應(yīng)用出現(xiàn)了微服務(wù)眾多、異構(gòu)語(yǔ)言開(kāi)發(fā)、多通信協(xié)議等明顯特征,業(yè)務(wù)應(yīng)用間調(diào)用鏈路日益復(fù)雜,鏈路信息瞬息萬(wàn)變,傳統(tǒng)維護(hù)方式已經(jīng)無(wú)法適應(yīng),但業(yè)務(wù)鏈路在日常業(yè)務(wù)維護(hù)、故障范圍界定以及故障根因分析等方面處于至關(guān)重要的地位。
傳統(tǒng)鏈路發(fā)現(xiàn)面臨“痛點(diǎn)”
應(yīng)用拓?fù)渫ǔP璋捶?wù)、按應(yīng)用、按實(shí)例等不同維度展示節(jié)點(diǎn),節(jié)點(diǎn)之間連線代表訪問(wèn)關(guān)系。在云原生時(shí)代,云基礎(chǔ)設(shè)施、微服務(wù)拆分以及服務(wù)治理等新的技術(shù)大規(guī)模使用帶來(lái)了很多挑戰(zhàn),導(dǎo)致繪制應(yīng)用拓?fù)渥兊姆浅FD難。傳統(tǒng)的解決方案大致有以下兩種:
手工維護(hù)
純?nèi)斯な崂矸?wù)與服務(wù)之間的訪問(wèn)關(guān)系,在容器化環(huán)境中訪問(wèn)關(guān)系的多變以及不確定性導(dǎo)致手工維護(hù)數(shù)據(jù)時(shí)效性難以滿足運(yùn)維要求;
埋點(diǎn)插碼
通過(guò)字節(jié)碼注入等技術(shù),客戶應(yīng)用雖無(wú)需修改代碼,但應(yīng)用需重新發(fā)布或重啟應(yīng)用,對(duì)業(yè)務(wù)本身連續(xù)性存在干擾,同時(shí)各種新奇的語(yǔ)言、框架給插碼存在不小挑戰(zhàn),SDK升級(jí)也是個(gè)痛苦的過(guò)程,升級(jí)意味著客戶應(yīng)用會(huì)因?yàn)椴杉枨蠖貑ⅲ矌?lái)了潛在危險(xiǎn)。
UYUN優(yōu)云鏈路發(fā)現(xiàn)“另辟蹊徑”
一、UYUN優(yōu)云在鏈路發(fā)現(xiàn)的技術(shù)實(shí)踐
為解決傳統(tǒng)鏈路發(fā)現(xiàn)手工維護(hù)時(shí)效性低和埋點(diǎn)插碼業(yè)務(wù)連續(xù)性干擾等問(wèn)題,優(yōu)云基于業(yè)內(nèi)火熱的eBPF技術(shù)完成無(wú)侵入應(yīng)用鏈路拓?fù)浒l(fā)現(xiàn)能力,能實(shí)時(shí)、全面準(zhǔn)確繪制應(yīng)用拓?fù)洌o客戶提供統(tǒng)一的視圖。基于eBPF技術(shù)本身的特性:無(wú)需業(yè)務(wù)改代碼、無(wú)需服務(wù)修改啟動(dòng)參數(shù)且與編程語(yǔ)言無(wú)關(guān)、無(wú)需重啟服務(wù)進(jìn)程,通過(guò)一種非侵入性、安全且跨系統(tǒng)一致的方式收集、采集數(shù)據(jù),能夠全面覆蓋云基礎(chǔ)設(shè)施和云原生應(yīng)用的整個(gè)技術(shù)棧。
1)內(nèi)核事件采集:采集不同網(wǎng)絡(luò)環(huán)境下的網(wǎng)絡(luò)通信報(bào)文、高資源消耗系統(tǒng)調(diào)用、異常卡死系統(tǒng)調(diào)用、用戶態(tài)和內(nèi)核態(tài)資源使用情況。
2)數(shù)據(jù)分類聚合:對(duì)采集數(shù)據(jù)進(jìn)行聚合,對(duì)相同網(wǎng)絡(luò)請(qǐng)求在一定間隔內(nèi)進(jìn)行數(shù)據(jù)壓制,避免數(shù)據(jù)洪峰。結(jié)合上下文信息對(duì)網(wǎng)絡(luò)請(qǐng)求事件、系統(tǒng)調(diào)用事件進(jìn)行內(nèi)容豐富。
3)數(shù)據(jù)關(guān)聯(lián)分析:對(duì)采集信息結(jié)合CMDB數(shù)據(jù)進(jìn)行數(shù)據(jù)進(jìn)一步豐富,按照不同維度進(jìn)行指標(biāo)聚合計(jì)算,結(jié)合告警規(guī)則實(shí)現(xiàn)異常告警,對(duì)網(wǎng)絡(luò)數(shù)據(jù)集合CMDB信息實(shí)現(xiàn)應(yīng)用拓?fù)渥詣?dòng)繪制。
4)數(shù)據(jù)消費(fèi)展示:基于內(nèi)核事件采集、數(shù)據(jù)分類聚合和數(shù)據(jù)關(guān)聯(lián)分析的入庫(kù)數(shù)據(jù),構(gòu)建面向用戶的應(yīng)用圖譜,具備豐富的系統(tǒng)調(diào)用指標(biāo)、網(wǎng)絡(luò)性能指標(biāo)關(guān)聯(lián)查詢能力以及異常事件告警能力。
二、UYUN優(yōu)云鏈路發(fā)現(xiàn)具備以下優(yōu)點(diǎn)
經(jīng)過(guò)打磨實(shí)踐,UYUN優(yōu)云鏈路發(fā)現(xiàn)能夠在保障業(yè)務(wù)不間斷穩(wěn)定運(yùn)行的情況下,實(shí)現(xiàn)較低成本的鏈路數(shù)據(jù)高效采集,有效保障了應(yīng)用鏈路發(fā)現(xiàn)的高效性、穩(wěn)定性、業(yè)務(wù)連貫性。
1)無(wú)侵入性:通過(guò)旁路方式,不需要對(duì)應(yīng)用代碼進(jìn)行埋點(diǎn)即可采集到所需鏈路數(shù)據(jù),避免采集系統(tǒng)和業(yè)務(wù)系統(tǒng)之間的耦合。
2)語(yǔ)言無(wú)關(guān):基于內(nèi)核層面進(jìn)行數(shù)據(jù)采集,支持任意開(kāi)發(fā)語(yǔ)言和任意框架。
3)高效采集:基于eBPF技術(shù)以極低的消耗采集所需鏈路數(shù)據(jù),并自動(dòng)豐富進(jìn)程信息、容器信息等應(yīng)用相關(guān)標(biāo)識(shí)信息。
4)安全穩(wěn)定: 程序通過(guò)BPF驗(yàn)證器(Verifier)會(huì)保證每個(gè)程序能夠安全運(yùn)行,它會(huì)去檢查將要運(yùn)行到內(nèi)核空間的程序的每一行是否安全可靠,從而避免惡意程序的運(yùn)行。
UYUN優(yōu)云鏈路發(fā)現(xiàn)的場(chǎng)景應(yīng)用
一、無(wú)侵入鏈路發(fā)現(xiàn)繪制全景應(yīng)用拓?fù)?/span>
優(yōu)云鏈路發(fā)現(xiàn)在采集側(cè)通過(guò)監(jiān)聽(tīng)內(nèi)核時(shí)間實(shí)現(xiàn)應(yīng)用間網(wǎng)絡(luò)請(qǐng)求,解析獲取鏈路、應(yīng)用進(jìn)程信息或容器相關(guān)信息;服務(wù)側(cè)根據(jù)采集側(cè)上報(bào)的鏈路數(shù)據(jù)同時(shí)結(jié)合CMDB中應(yīng)用、服務(wù)相關(guān)信息,構(gòu)建全景應(yīng)用鏈路拓?fù)洹?/span>

二、一體化鏈路追蹤讓問(wèn)題無(wú)處遁形
優(yōu)云鏈路發(fā)現(xiàn)通過(guò)對(duì)采集到的網(wǎng)絡(luò)原始數(shù)據(jù)進(jìn)行協(xié)議解析,獲取相關(guān)請(qǐng)求的狀態(tài)碼、耗時(shí)等指標(biāo)信息,將對(duì)應(yīng)拓?fù)浜椭笜?biāo)數(shù)據(jù)組合生成調(diào)用鏈路信息,在原有拓?fù)浠A(chǔ)上豐富鏈路和指標(biāo)數(shù)據(jù)建立應(yīng)用可觀測(cè)模型。

同時(shí)各種類型的追蹤點(diǎn)對(duì)運(yùn)行中的進(jìn)程進(jìn)追蹤,獲取進(jìn)程內(nèi)核態(tài)和用戶態(tài)的運(yùn)行信息,對(duì)請(qǐng)求過(guò)程進(jìn)行逐步分解獲取接收、處理、回應(yīng)、耗時(shí)以及進(jìn)程操作上下文相關(guān)指標(biāo)數(shù)據(jù),對(duì)應(yīng)用運(yùn)行過(guò)程進(jìn)行全方位分析,通過(guò)鏈路和單一請(qǐng)求上下文指標(biāo)進(jìn)行逐層下鉆從而定位到性能、故障的節(jié)點(diǎn)和根本原因。
UYUN優(yōu)云應(yīng)用鏈路的落地實(shí)踐
目前,優(yōu)云無(wú)侵入鏈路發(fā)現(xiàn)已經(jīng)在某頭部用戶處成功落地并生產(chǎn)實(shí)踐,已完成客戶現(xiàn)場(chǎng)100+業(yè)務(wù)系統(tǒng),云上云下2000+實(shí)例節(jié)點(diǎn)訪問(wèn)鏈路的自動(dòng)繪制,為客戶提供了面向業(yè)務(wù)系統(tǒng)和實(shí)例的不同視圖,為日常生產(chǎn)運(yùn)維提供便利,大幅提升了用戶運(yùn)維工作效率。與此同時(shí),優(yōu)云鏈路信息采集也作為優(yōu)云應(yīng)用監(jiān)控產(chǎn)品AppTracing鏈路采集的基礎(chǔ)能力,為其鏈路采集提供準(zhǔn)確、可靠的數(shù)據(jù)來(lái)源支撐。
目前,優(yōu)云應(yīng)用監(jiān)控AppTracing已經(jīng)在多個(gè)大型企業(yè)中落地實(shí)踐,為國(guó)家某行政機(jī)關(guān)全國(guó)30+套服務(wù)業(yè)務(wù)系統(tǒng)進(jìn)行了全鏈路可觀測(cè)服務(wù)監(jiān)控,通過(guò)應(yīng)用全鏈路監(jiān)控應(yīng)用的整個(gè)生命周期,及時(shí)發(fā)現(xiàn)定位各業(yè)務(wù)涉及到業(yè)務(wù)中斷、技術(shù)異常、數(shù)據(jù)異常、業(yè)務(wù)超時(shí)等問(wèn)題,并通過(guò)匯總一屏實(shí)時(shí)展示全國(guó)業(yè)務(wù)服務(wù)質(zhì)量,真正的實(shí)現(xiàn)從IT運(yùn)維走向IT運(yùn)營(yíng),先于用戶感知問(wèn)題、定位問(wèn)題、解決問(wèn)題,為全國(guó)企業(yè)用戶提供了良好的服務(wù)保障。
未來(lái)展望
隨著 eBPF 技術(shù)的應(yīng)用場(chǎng)景被不斷挖掘,業(yè)界涌現(xiàn)的各類產(chǎn)品已經(jīng)覆蓋安全、跟蹤與性能分析、觀測(cè)與監(jiān)控等眾多領(lǐng)域。
不局限于應(yīng)用鏈路拓?fù)浒l(fā)現(xiàn)模塊,未來(lái),廣通優(yōu)云將繼續(xù)深入推進(jìn)eBPF技術(shù)研究工作,積極探索云原生時(shí)代下,可觀測(cè)領(lǐng)域的最佳實(shí)踐,基于現(xiàn)有鏈路拓?fù)浒l(fā)現(xiàn)的階段性成果,不斷完善協(xié)議解析、指標(biāo)采集等能力,從而實(shí)現(xiàn)全鏈路指標(biāo)和鏈路數(shù)據(jù)的采集,降低云原生可觀測(cè)運(yùn)維難度,為用戶提供業(yè)務(wù)全面可觀測(cè)的能力。