背景
應(yīng)用云化、云原生化是企業(yè)全面數(shù)字化轉(zhuǎn)型的必要技術(shù)基礎(chǔ),光大銀行2019年開始建設(shè)新一代全棧金融混合云平臺,在引入了多種云計算核心技術(shù)的同時,也開始采用云原生集群架構(gòu)為應(yīng)用架構(gòu)服務(wù)化改造提供平臺支撐,隨著全行應(yīng)用系統(tǒng)的逐步上云,全棧云的可觀測性成為信息科技部關(guān)注的重點。
隨著云原生技術(shù)的應(yīng)用,網(wǎng)絡(luò)、系統(tǒng)、應(yīng)用運維均發(fā)生了革命性的變化,應(yīng)用軟件向微服務(wù)架構(gòu)發(fā)展,微服務(wù)調(diào)用關(guān)系復雜,開發(fā)迭代速度加快,系統(tǒng)資源實時動態(tài)變化,云網(wǎng)黑盒化嚴重,應(yīng)用遷移上云之后的系統(tǒng)穩(wěn)定性、業(yè)務(wù)可靠性保障面臨巨大挑戰(zhàn)。
圖1 云原生應(yīng)用的復雜度(示例)
同時云原生基礎(chǔ)設(shè)施與云原生應(yīng)用的監(jiān)控運維手段也面臨很多新問題,具體包括:
1. 微服務(wù)架構(gòu)下多語言、多網(wǎng)絡(luò)協(xié)議帶來應(yīng)用的埋點成本高;
2. 微服務(wù)化導致業(yè)務(wù)調(diào)用鏈過程復雜,全鏈路追蹤難;
3. 應(yīng)用交互跨容器、虛擬機、宿主機多層,故障定界難;
4. 網(wǎng)絡(luò)路徑交織復雜、動態(tài)多變,逐段抓包難,故障定位難;
5. 應(yīng)用、系統(tǒng)、云網(wǎng)的指標數(shù)據(jù)、日志數(shù)據(jù)、追蹤數(shù)據(jù)、標簽數(shù)據(jù)存在高基多維的特點,數(shù)據(jù)關(guān)聯(lián)、分析、呈現(xiàn)處理技術(shù)復雜;
6. 云原生應(yīng)用與云原生基礎(chǔ)設(shè)施之間的數(shù)據(jù)存在鴻溝,缺乏統(tǒng)一的運維能力,導致應(yīng)用監(jiān)控運維與基礎(chǔ)設(shè)施運維協(xié)同難度高,故障處理效率低;
7. 應(yīng)用從分布式架構(gòu)向云原生遷移過程中,缺乏有效的工具支撐云原生應(yīng)用的開發(fā)、測試、遷移。
這些變化和挑戰(zhàn)給光大銀行的IT運維、業(yè)務(wù)保障帶來巨大的困難,傳統(tǒng)監(jiān)控運維手段難以滿足云技術(shù)變革背景下的運維需求,構(gòu)建云原生統(tǒng)一可觀測性平臺就成為解決這類問題的必然技術(shù)選擇。
DeepFlow云原生可觀測性平臺
在光大銀行新一代全棧金融混合云平臺的規(guī)劃初期,技術(shù)團隊即結(jié)合此前工作中的經(jīng)驗總結(jié),將全棧云和云原生業(yè)務(wù)的全面可觀測性列入到云平臺的重要能力中,同步規(guī)劃、同步驗證、同步建設(shè)DeepFlow云原生可觀測性平臺。
整體方案中包括了DeepFlow云原生輕量級采集探針和DeepFlow云原生可觀測性分析平臺。
DeepFlow輕量級采集探針實現(xiàn)了對云原生可觀測性數(shù)據(jù)的低成本、全面采集,具體包括:
1. 通過BPF技術(shù)對IAAS層、PAAS層及NFV網(wǎng)元(LB、NAT Gateway、分布式路由等)的虛擬網(wǎng)絡(luò)的全鏈路全流量采集能力,實現(xiàn)業(yè)務(wù)端到端的網(wǎng)絡(luò)指標數(shù)據(jù)、追蹤數(shù)據(jù)、日志數(shù)據(jù)的統(tǒng)一采集;
2. 通過eBPF技術(shù)構(gòu)建對云原生應(yīng)用無開發(fā)語言依賴、無開發(fā)框架依賴、無計算平臺依賴的無侵入采集能力,實現(xiàn)云原生應(yīng)用指標數(shù)據(jù)、追蹤數(shù)據(jù)、日志數(shù)據(jù)統(tǒng)一采集;
3. 通過采集探針的開放接口,無縫匯聚Skywalking Agent的OpenTelemetry數(shù)據(jù),實現(xiàn)云原生應(yīng)用進程級的指標數(shù)據(jù)、追蹤數(shù)據(jù)、日志數(shù)據(jù)的統(tǒng)一采集;
4. 通過容器平臺的API能力,實時感知容器資源的動態(tài)變化,實現(xiàn)云原生資源、業(yè)務(wù)標簽數(shù)據(jù)的統(tǒng)一采集。
DeepFlow云原生可觀測性平臺的核心技術(shù)和實現(xiàn)包括:
1. 通過Autotag技術(shù)自動為所有觀測數(shù)據(jù)注入統(tǒng)一的屬性標簽,消除數(shù)據(jù)孤島問題,以釋放數(shù)據(jù)的下鉆切分能力;
2. 通過SmartEncoding技術(shù)將屬性標簽編碼為整型值,在標簽注入階段直接注入整型標簽,以10倍的效率提升可觀測性數(shù)據(jù)的存儲、處理性能;
3. 通過高性能數(shù)據(jù)分析引擎,對海量、高基、多維、異構(gòu)的可觀測性數(shù)據(jù)進行統(tǒng)一的標記、關(guān)聯(lián)、分析;
4. 通過應(yīng)用調(diào)用鏈可視化追蹤功能,實現(xiàn)對任意一次云原生應(yīng)用請求從業(yè)務(wù)代碼到框架代碼、應(yīng)用進程、代理進程、容器網(wǎng)絡(luò)、云網(wǎng)絡(luò)、NFV網(wǎng)元、物理網(wǎng)絡(luò)的全鏈路追蹤、指標觀測、日志分析能力;
5. 通過網(wǎng)絡(luò)可視化分析功能,實現(xiàn)了對云網(wǎng)絡(luò)、容器網(wǎng)絡(luò)的從宏觀到微觀的拓撲可視化分析、指標可視化分析、云網(wǎng)流量追蹤、網(wǎng)絡(luò)日志回溯等全方位的洞察能力;
6. 通過NAT追蹤功能,實現(xiàn)了面向NFV網(wǎng)元運維的可觀測分析能力。
圖2 云原生應(yīng)用調(diào)用鏈追蹤
同時DeepFlow云原生可觀測性平臺實現(xiàn)了開放的可觀測性數(shù)據(jù)共享接口,包括:
1. 通過HTTP等標準接口實現(xiàn)告警事件與公司統(tǒng)一告警平臺的對接;
2. 通過API接口實現(xiàn)了Grafana對可觀測性數(shù)據(jù)的全自動調(diào)閱,從而通過Grafana構(gòu)建跨平臺的數(shù)據(jù)查詢、呈現(xiàn)能力;
3. SQL查詢接口實現(xiàn)了與Skywalking數(shù)據(jù)共享對接;
4. 通過云原生采集探針的原始流量分發(fā)功能,為交易分析、安全分析提供容器網(wǎng)絡(luò)流量的獲取能力。
DeepFlow云原生可觀測性平臺實現(xiàn)了靈活的視圖定制化能力,運維人員構(gòu)建面向業(yè)務(wù)的運維監(jiān)測視圖,將云原生業(yè)務(wù)的服務(wù)質(zhì)量映射為8~10個黃金指標(負載類指標、時延類指標、性能/異常類指標),通過主動的性能指標監(jiān)測實現(xiàn)了面向云原生應(yīng)用穩(wěn)定性、可靠性的主動保障能力。
創(chuàng)新性實戰(zhàn)經(jīng)驗
隨著DeepFlow云原生可觀測性平臺的深入應(yīng)用,在光大銀行的全棧云及云原生應(yīng)用運維中,通過大量的運維實戰(zhàn)案例,充分說明了可觀測性對于企業(yè)IT開發(fā)、運維、運營的巨大價值,真正實現(xiàn)了云原生業(yè)務(wù)的洞察能力和穩(wěn)定性保障能力的,在實際運維中云原生可觀測性平臺發(fā)揮了直接有效的作用:
1. 在某應(yīng)用從傳統(tǒng)分布式環(huán)境向容器平臺遷移工作中,開發(fā)測試環(huán)節(jié)發(fā)現(xiàn)該應(yīng)用遇到性能壓測明顯受限的問題,通過傳統(tǒng)的測試工具、APM工具在數(shù)周的定位過程中均無法找到問題根因,導致該應(yīng)用的云原生遷移進度嚴重受阻,因此DeepFlow云原生可觀測性平臺緊急增加對該環(huán)境的采集覆蓋和分析,在1分鐘后完成了對該應(yīng)用訪問關(guān)系的繪制和應(yīng)用調(diào)用追蹤,在5分鐘內(nèi)通過指標分析發(fā)現(xiàn)了微服務(wù)中的性能瓶頸點和性能瓶頸根因。
2. 在云上某次***業(yè)務(wù)異常的故障定位中,需要消耗2名中級運維工程師數(shù)十個小時的工作量,進行Pcap抓包、讀包定位,改用DeepFlow可觀測平臺提供的手段,通過1步繪制拓撲,8個指標觀測,3端日志的關(guān)聯(lián)分析,在30分鐘內(nèi)確定服務(wù)端軟件異常,進而指導業(yè)務(wù)運維人員定位發(fā)現(xiàn)
3. RabbitMQ消息隊列未及時處理,隊列積壓導致的應(yīng)用同步狀態(tài)異常問題。
4. 在某次云上數(shù)據(jù)庫偶發(fā)性故障定位中,通過1步繪制拓撲,5個指標觀測,3分鐘內(nèi)的日志分析,快速界定出故障源為數(shù)據(jù)庫應(yīng)用異常。
5. 在某次云上虛擬機訪問不通的故障定位中,通過1步繪制拓撲,3個指標觀測,1分鐘內(nèi)的日志分析,確定是由于虛擬機路由配置缺失導致。
實現(xiàn)價值
通過DeepFlow云原生觀測性平臺的構(gòu)建,在光大銀行的運維實踐中,產(chǎn)生了巨大的實戰(zhàn)價值,包括:
開云、網(wǎng)、應(yīng)用“黑盒”
通過DeepFlow云原生觀測性平臺,打開了云網(wǎng)黑盒,打開了云原生平臺的系統(tǒng)黑盒,打開了云原生微服務(wù)調(diào)用的黑盒。
閃速故障定責定界定位
DeepFlow云原生觀測性平臺的數(shù)據(jù)關(guān)聯(lián)分析、極簡高效的數(shù)據(jù)呈現(xiàn),實現(xiàn)了分鐘級時延故障定界,分鐘級丟包故障定位,分鐘級業(yè)務(wù)異常故障定界,疑難雜癥的定位周期由數(shù)天縮短至30分鐘內(nèi)。
加速云原生遷移
在實踐中,我們還發(fā)現(xiàn)通過可觀測性不僅僅能加速光大銀行線上生產(chǎn)故障定位,提升在線業(yè)務(wù)可靠性,還能夠助力光大銀行開發(fā)、測試階段的異常發(fā)現(xiàn)、異常定位,縮短開發(fā)周期,提高上線代碼質(zhì)量。
而且通過DeepFlow可觀測性的快速定界能力,能夠厘清故障界面,提升光大銀行內(nèi)部對云、容器平臺的可靠性認可,提升應(yīng)用向云原生重構(gòu)、遷移的信心。
打破組織邊界,構(gòu)建融合統(tǒng)一運維能力
隨著云原生的發(fā)展,IT開發(fā)組織、運維組織的形態(tài)也正在快速變革中,通過DeepFlow可觀測性構(gòu)建光大銀行跨云、容器、網(wǎng)絡(luò)、應(yīng)用的統(tǒng)一可觀測能力,打通了光大網(wǎng)絡(luò)團隊、云技術(shù)團隊、應(yīng)用運維團隊三個組織的運維邊界,通過統(tǒng)一、客觀的可觀測數(shù)據(jù),為跨組織協(xié)作提供客觀依據(jù),提升溝通效率,減少運維矛盾。
總結(jié)
在可觀測性平臺的建設(shè)過程中,我們也遇到很多挑戰(zhàn)和困難,比如可觀測性概念推廣普及難,可觀測性建設(shè)缺乏指導方法論和建設(shè)標準,用戶組織架構(gòu)與觀測數(shù)據(jù)融合的矛盾。首先,對于可觀測性概念用戶普及難的問題,我們發(fā)現(xiàn)真實的原因是可觀測性概念抽象、對象寬泛、與監(jiān)控區(qū)分不清、缺乏衡量標準。如果要高效率的推廣可觀測性,首先要站在用戶的角度,結(jié)合場景,合理闡述和布道可觀測性。通過大量的技術(shù)通過與交流,我們總結(jié)了簡單易接受的可觀測性定義:
可觀測性定義1:源于監(jiān)控,又不止于監(jiān)控;源于運維,又不局限于運維。
可觀測性定義2:通過海量、多源、異構(gòu)數(shù)據(jù)(指標、追蹤、日志)的獲取、關(guān)聯(lián)、分析,最大化發(fā)掘IT系統(tǒng)數(shù)據(jù)資產(chǎn)的價值(IT系統(tǒng)大數(shù)據(jù)分析、數(shù)據(jù)挖掘)。
其次,對于可觀測性建設(shè)缺乏指導方法論和建設(shè)標準的問題,經(jīng)過在可觀測性平臺建設(shè)的過程中,我們認識到可觀測性的建設(shè)不是一朝一夕、一蹴而就的,可觀性平臺的建設(shè)更要關(guān)注持續(xù)性、成長性,更要關(guān)注平臺的如下幾點能力:
1. 持續(xù)提升,不斷增加新數(shù)據(jù)源的能力
2. 持續(xù)提升,不斷擴充新標簽關(guān)聯(lián)的能力
3. 持續(xù)提升,不斷發(fā)掘新的數(shù)據(jù)價值的能力
最后,對于用戶組織架構(gòu)與觀測數(shù)據(jù)融合的矛盾,核心在于可觀測性對于組織中各個團隊的價值和收益,我們在DeepFlow可觀測性平臺的建設(shè)中,以價值為錨點,不斷地推廣、宣傳運維數(shù)據(jù)打通、運維數(shù)據(jù)關(guān)聯(lián)、運維數(shù)據(jù)融合的巨大潛力和價值,從而不斷爭取更多的團隊和角色對可觀測性的建設(shè)提供支持,從而構(gòu)筑數(shù)據(jù)更加豐富,使用功能更加強大,數(shù)據(jù)價值更打的可觀測性。
(免責聲明:本網(wǎng)站內(nèi)容主要來自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準確性及可靠性,但不保證有關(guān)資料的準確性及可靠性,讀者在使用前請進一步核實,并對任何自主決定的行為負責。本網(wǎng)站對有關(guān)資料所引致的錯誤、不確或遺漏,概不負任何法律責任。
任何單位或個人認為本網(wǎng)站中的網(wǎng)頁或鏈接內(nèi)容可能涉嫌侵犯其知識產(chǎn)權(quán)或存在不實內(nèi)容時,應(yīng)及時向本網(wǎng)站提出書面權(quán)利通知或不實情況說明,并提供身份證明、權(quán)屬證明及詳細侵權(quán)或不實情況證明。本網(wǎng)站在收到上述法律文件后,將會依法盡快聯(lián)系相關(guān)文章源頭核實,溝通刪除相關(guān)內(nèi)容或斷開相關(guān)鏈接。 )