DeepFlow助力銀行全棧云構筑云原生可觀測性 保障系統(tǒng)穩(wěn)定安全運行

背景

應用云化、云原生化是企業(yè)全面數(shù)字化轉型的必要技術基礎,光大銀行2019年開始建設新一代全棧金融混合云平臺,在引入了多種云計算核心技術的同時,也開始采用云原生集群架構為應用架構服務化改造提供平臺支撐,隨著全行應用系統(tǒng)的逐步上云,全棧云的可觀測性成為信息科技部關注的重點。

隨著云原生技術的應用,網絡、系統(tǒng)、應用運維均發(fā)生了革命性的變化,應用軟件向微服務架構發(fā)展,微服務調用關系復雜,開發(fā)迭代速度加快,系統(tǒng)資源實時動態(tài)變化,云網黑盒化嚴重,應用遷移上云之后的系統(tǒng)穩(wěn)定性、業(yè)務可靠性保障面臨巨大挑戰(zhàn)。

圖1 云原生應用的復雜度(示例)

同時云原生基礎設施與云原生應用的監(jiān)控運維手段也面臨很多新問題,具體包括:

1. 微服務架構下多語言、多網絡協(xié)議帶來應用的埋點成本高;

2. 微服務化導致業(yè)務調用鏈過程復雜,全鏈路追蹤難;

3. 應用交互跨容器、虛擬機、宿主機多層,故障定界難;

4. 網絡路徑交織復雜、動態(tài)多變,逐段抓包難,故障定位難;

5. 應用、系統(tǒng)、云網的指標數(shù)據(jù)、日志數(shù)據(jù)、追蹤數(shù)據(jù)、標簽數(shù)據(jù)存在高基多維的特點,數(shù)據(jù)關聯(lián)、分析、呈現(xiàn)處理技術復雜;

6. 云原生應用與云原生基礎設施之間的數(shù)據(jù)存在鴻溝,缺乏統(tǒng)一的運維能力,導致應用監(jiān)控運維與基礎設施運維協(xié)同難度高,故障處理效率低;

7. 應用從分布式架構向云原生遷移過程中,缺乏有效的工具支撐云原生應用的開發(fā)、測試、遷移。

這些變化和挑戰(zhàn)給光大銀行的IT運維、業(yè)務保障帶來巨大的困難,傳統(tǒng)監(jiān)控運維手段難以滿足云技術變革背景下的運維需求,構建云原生統(tǒng)一可觀測性平臺就成為解決這類問題的必然技術選擇。

DeepFlow云原生可觀測性平臺

在光大銀行新一代全棧金融混合云平臺的規(guī)劃初期,技術團隊即結合此前工作中的經驗總結,將全棧云和云原生業(yè)務的全面可觀測性列入到云平臺的重要能力中,同步規(guī)劃、同步驗證、同步建設DeepFlow云原生可觀測性平臺。

整體方案中包括了DeepFlow云原生輕量級采集探針和DeepFlow云原生可觀測性分析平臺。

DeepFlow輕量級采集探針實現(xiàn)了對云原生可觀測性數(shù)據(jù)的低成本、全面采集,具體包括:

1. 通過BPF技術對IAAS層、PAAS層及NFV網元(LB、NAT Gateway、分布式路由等)的虛擬網絡的全鏈路全流量采集能力,實現(xiàn)業(yè)務端到端的網絡指標數(shù)據(jù)、追蹤數(shù)據(jù)、日志數(shù)據(jù)的統(tǒng)一采集;

2. 通過eBPF技術構建對云原生應用無開發(fā)語言依賴、無開發(fā)框架依賴、無計算平臺依賴的無侵入采集能力,實現(xiàn)云原生應用指標數(shù)據(jù)、追蹤數(shù)據(jù)、日志數(shù)據(jù)統(tǒng)一采集;

3. 通過采集探針的開放接口,無縫匯聚Skywalking Agent的OpenTelemetry數(shù)據(jù),實現(xiàn)云原生應用進程級的指標數(shù)據(jù)、追蹤數(shù)據(jù)、日志數(shù)據(jù)的統(tǒng)一采集;

4. 通過容器平臺的API能力,實時感知容器資源的動態(tài)變化,實現(xiàn)云原生資源、業(yè)務標簽數(shù)據(jù)的統(tǒng)一采集。

DeepFlow云原生可觀測性平臺的核心技術和實現(xiàn)包括:

1. 通過Autotag技術自動為所有觀測數(shù)據(jù)注入統(tǒng)一的屬性標簽,消除數(shù)據(jù)孤島問題,以釋放數(shù)據(jù)的下鉆切分能力;

2. 通過SmartEncoding技術將屬性標簽編碼為整型值,在標簽注入階段直接注入整型標簽,以10倍的效率提升可觀測性數(shù)據(jù)的存儲、處理性能;

3. 通過高性能數(shù)據(jù)分析引擎,對海量、高基、多維、異構的可觀測性數(shù)據(jù)進行統(tǒng)一的標記、關聯(lián)、分析;

4. 通過應用調用鏈可視化追蹤功能,實現(xiàn)對任意一次云原生應用請求從業(yè)務代碼到框架代碼、應用進程、代理進程、容器網絡、云網絡、NFV網元、物理網絡的全鏈路追蹤、指標觀測、日志分析能力;

5. 通過網絡可視化分析功能,實現(xiàn)了對云網絡、容器網絡的從宏觀到微觀的拓撲可視化分析、指標可視化分析、云網流量追蹤、網絡日志回溯等全方位的洞察能力;

6. 通過NAT追蹤功能,實現(xiàn)了面向NFV網元運維的可觀測分析能力。

圖2 云原生應用調用鏈追蹤

同時DeepFlow云原生可觀測性平臺實現(xiàn)了開放的可觀測性數(shù)據(jù)共享接口,包括:

1. 通過HTTP等標準接口實現(xiàn)告警事件與公司統(tǒng)一告警平臺的對接;

2. 通過API接口實現(xiàn)了Grafana對可觀測性數(shù)據(jù)的全自動調閱,從而通過Grafana構建跨平臺的數(shù)據(jù)查詢、呈現(xiàn)能力;

3. SQL查詢接口實現(xiàn)了與Skywalking數(shù)據(jù)共享對接;

4. 通過云原生采集探針的原始流量分發(fā)功能,為交易分析、安全分析提供容器網絡流量的獲取能力。

DeepFlow云原生可觀測性平臺實現(xiàn)了靈活的視圖定制化能力,運維人員構建面向業(yè)務的運維監(jiān)測視圖,將云原生業(yè)務的服務質量映射為8~10個黃金指標(負載類指標、時延類指標、性能/異常類指標),通過主動的性能指標監(jiān)測實現(xiàn)了面向云原生應用穩(wěn)定性、可靠性的主動保障能力。

創(chuàng)新性實戰(zhàn)經驗

隨著DeepFlow云原生可觀測性平臺的深入應用,在光大銀行的全棧云及云原生應用運維中,通過大量的運維實戰(zhàn)案例,充分說明了可觀測性對于企業(yè)IT開發(fā)、運維、運營的巨大價值,真正實現(xiàn)了云原生業(yè)務的洞察能力和穩(wěn)定性保障能力的,在實際運維中云原生可觀測性平臺發(fā)揮了直接有效的作用:

1. 在某應用從傳統(tǒng)分布式環(huán)境向容器平臺遷移工作中,開發(fā)測試環(huán)節(jié)發(fā)現(xiàn)該應用遇到性能壓測明顯受限的問題,通過傳統(tǒng)的測試工具、APM工具在數(shù)周的定位過程中均無法找到問題根因,導致該應用的云原生遷移進度嚴重受阻,因此DeepFlow云原生可觀測性平臺緊急增加對該環(huán)境的采集覆蓋和分析,在1分鐘后完成了對該應用訪問關系的繪制和應用調用追蹤,在5分鐘內通過指標分析發(fā)現(xiàn)了微服務中的性能瓶頸點和性能瓶頸根因。

2. 在云上某次***業(yè)務異常的故障定位中,需要消耗2名中級運維工程師數(shù)十個小時的工作量,進行Pcap抓包、讀包定位,改用DeepFlow可觀測平臺提供的手段,通過1步繪制拓撲,8個指標觀測,3端日志的關聯(lián)分析,在30分鐘內確定服務端軟件異常,進而指導業(yè)務運維人員定位發(fā)現(xiàn)

3. RabbitMQ消息隊列未及時處理,隊列積壓導致的應用同步狀態(tài)異常問題。

4. 在某次云上數(shù)據(jù)庫偶發(fā)性故障定位中,通過1步繪制拓撲,5個指標觀測,3分鐘內的日志分析,快速界定出故障源為數(shù)據(jù)庫應用異常。

5. 在某次云上虛擬機訪問不通的故障定位中,通過1步繪制拓撲,3個指標觀測,1分鐘內的日志分析,確定是由于虛擬機路由配置缺失導致。

實現(xiàn)價值

通過DeepFlow云原生觀測性平臺的構建,在光大銀行的運維實踐中,產生了巨大的實戰(zhàn)價值,包括:

開云、網、應用“黑盒”

通過DeepFlow云原生觀測性平臺,打開了云網黑盒,打開了云原生平臺的系統(tǒng)黑盒,打開了云原生微服務調用的黑盒。

閃速故障定責定界定位

DeepFlow云原生觀測性平臺的數(shù)據(jù)關聯(lián)分析、極簡高效的數(shù)據(jù)呈現(xiàn),實現(xiàn)了分鐘級時延故障定界,分鐘級丟包故障定位,分鐘級業(yè)務異常故障定界,疑難雜癥的定位周期由數(shù)天縮短至30分鐘內。

加速云原生遷移

在實踐中,我們還發(fā)現(xiàn)通過可觀測性不僅僅能加速光大銀行線上生產故障定位,提升在線業(yè)務可靠性,還能夠助力光大銀行開發(fā)、測試階段的異常發(fā)現(xiàn)、異常定位,縮短開發(fā)周期,提高上線代碼質量。

而且通過DeepFlow可觀測性的快速定界能力,能夠厘清故障界面,提升光大銀行內部對云、容器平臺的可靠性認可,提升應用向云原生重構、遷移的信心。

打破組織邊界,構建融合統(tǒng)一運維能力

隨著云原生的發(fā)展,IT開發(fā)組織、運維組織的形態(tài)也正在快速變革中,通過DeepFlow可觀測性構建光大銀行跨云、容器、網絡、應用的統(tǒng)一可觀測能力,打通了光大網絡團隊、云技術團隊、應用運維團隊三個組織的運維邊界,通過統(tǒng)一、客觀的可觀測數(shù)據(jù),為跨組織協(xié)作提供客觀依據(jù),提升溝通效率,減少運維矛盾。

總結

在可觀測性平臺的建設過程中,我們也遇到很多挑戰(zhàn)和困難,比如可觀測性概念推廣普及難,可觀測性建設缺乏指導方法論和建設標準,用戶組織架構與觀測數(shù)據(jù)融合的矛盾。首先,對于可觀測性概念用戶普及難的問題,我們發(fā)現(xiàn)真實的原因是可觀測性概念抽象、對象寬泛、與監(jiān)控區(qū)分不清、缺乏衡量標準。如果要高效率的推廣可觀測性,首先要站在用戶的角度,結合場景,合理闡述和布道可觀測性。通過大量的技術通過與交流,我們總結了簡單易接受的可觀測性定義:

可觀測性定義1:源于監(jiān)控,又不止于監(jiān)控;源于運維,又不局限于運維。

可觀測性定義2:通過海量、多源、異構數(shù)據(jù)(指標、追蹤、日志)的獲取、關聯(lián)、分析,最大化發(fā)掘IT系統(tǒng)數(shù)據(jù)資產的價值(IT系統(tǒng)大數(shù)據(jù)分析、數(shù)據(jù)挖掘)。

其次,對于可觀測性建設缺乏指導方法論和建設標準的問題,經過在可觀測性平臺建設的過程中,我們認識到可觀測性的建設不是一朝一夕、一蹴而就的,可觀性平臺的建設更要關注持續(xù)性、成長性,更要關注平臺的如下幾點能力:

1. 持續(xù)提升,不斷增加新數(shù)據(jù)源的能力

2. 持續(xù)提升,不斷擴充新標簽關聯(lián)的能力

3. 持續(xù)提升,不斷發(fā)掘新的數(shù)據(jù)價值的能力

最后,對于用戶組織架構與觀測數(shù)據(jù)融合的矛盾,核心在于可觀測性對于組織中各個團隊的價值和收益,我們在DeepFlow可觀測性平臺的建設中,以價值為錨點,不斷地推廣、宣傳運維數(shù)據(jù)打通、運維數(shù)據(jù)關聯(lián)、運維數(shù)據(jù)融合的巨大潛力和價值,從而不斷爭取更多的團隊和角色對可觀測性的建設提供支持,從而構筑數(shù)據(jù)更加豐富,使用功能更加強大,數(shù)據(jù)價值更打的可觀測性。

(免責聲明:本網站內容主要來自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網站出現(xiàn)的信息,均僅供參考。本網站將盡力確保所提供信息的準確性及可靠性,但不保證有關資料的準確性及可靠性,讀者在使用前請進一步核實,并對任何自主決定的行為負責。本網站對有關資料所引致的錯誤、不確或遺漏,概不負任何法律責任。
任何單位或個人認為本網站中的網頁或鏈接內容可能涉嫌侵犯其知識產權或存在不實內容時,應及時向本網站提出書面權利通知或不實情況說明,并提供身份證明、權屬證明及詳細侵權或不實情況證明。本網站在收到上述法律文件后,將會依法盡快聯(lián)系相關文章源頭核實,溝通刪除相關內容或斷開相關鏈接。 )