背景

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

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

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

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

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

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

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

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

5. 應用、系統、云網的指標數據、日志數據、追蹤數據、標簽數據存在高基多維的特點,數據關聯、分析、呈現處理技術復雜;

6. 云原生應用與云原生基礎設施之間的數據存在鴻溝,缺乏統一的運維能力,導致應用監控運維與基礎設施運維協同難度高,故障處理效率低;

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

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

DeepFlow云原生可觀測性平臺

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

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

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

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

2. 通過eBPF技術構建對云原生應用無開發語言依賴、無開發框架依賴、無計算平臺依賴的無侵入采集能力,實現云原生應用指標數據、追蹤數據、日志數據統一采集;

3. 通過采集探針的開放接口,無縫匯聚Skywalking Agent的OpenTelemetry數據,實現云原生應用進程級的指標數據、追蹤數據、日志數據的統一采集;

4. 通過容器平臺的API能力,實時感知容器資源的動態變化,實現云原生資源、業務標簽數據的統一采集。

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

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

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

3. 通過高性能數據分析引擎,對海量、高基、多維、異構的可觀測性數據進行統一的標記、關聯、分析;

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

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

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

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

同時DeepFlow云原生可觀測性平臺實現了開放的可觀測性數據共享接口,包括:

1. 通過HTTP等標準接口實現告警事件與公司統一告警平臺的對接;

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

3. SQL查詢接口實現了與Skywalking數據共享對接;

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

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

創新性實戰經驗

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

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

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

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

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

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

實現價值

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

開云、網、應用“黑盒”

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

閃速故障定責定界定位

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

加速云原生遷移

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

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

打破組織邊界,構建融合統一運維能力

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

總結

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

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

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

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

1. 持續提升,不斷增加新數據源的能力

2. 持續提升,不斷擴充新標簽關聯的能力

3. 持續提升,不斷發掘新的數據價值的能力

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

免責聲明:市場有風險,選擇需謹慎!此文僅供參考,不作買賣依據。

標簽: