CNCF在云原生的定義中,將可觀測性(Observability)明確為一項必備要素。因此,使用云原生應用架構,享受其帶來的效率提升時,不得不面對的是如何構建匹配的可觀測性能力。
可觀測性并不是通過簡單使用一個工具所能具備,是需要根據企業組織、業務應用、基礎設施以及已有的監控體系的需求現狀,明確階段目標,伴隨著業務發展逐步建立,是一個持續發展的過程。云杉網絡與客戶的共同實踐,基于云原生應用發展的現狀,通過DeepFlow與客戶的應用、網絡、基礎設施整合,綜合分析各類指標、日志以及追蹤數據,形成一站式的容器化微服務可觀測性方案。
可觀測性,必須要解決以下問題:
1. 在數百個服務中發現瓶頸:提供非采樣,秒級精度,提供HTTP/DNS/GRPC等性能指標數據
2. 在數千個訪問中追蹤應用:提供應用層Trace追蹤數據,網絡層Flow追蹤數據
3. 在數萬個容器中定位根因:提供全棧(API、主機、基礎設施)端到端指標數據、日志數據
注意,解決上述問題,還需要零侵擾、多維度和實時性。
云杉網絡DeepFlow v5.0產品,在NPM基礎上,利用classic BPF技術,通過host的用戶態(零侵擾)監控到主機及虛機的系統和網卡流量。DeepFlow v6.0產品,利用eBPF技術,進一步在零侵擾的前提下獲取了應用和sidecar的信息,擴展了多維度的能力。
過去三年時間,云杉網絡DeepFlow產品中的關鍵數據組件,經歷了兩次重要的升級。2018年使用ES作為主要引擎,讀寫速度無法滿足實時性要求,只能為數百臺規模的業務集群實施可觀測性。
1. 2020年初,DeepFlow v5.5發布,融入了深度優化的InfluxDB作為Metrics引擎,使平臺性能提升10倍,可以解決數千臺服務器集群的可觀測性。
2. 2021年12月,DeepFlow v6.0的第一個版本發布,進一步融入了深度優化的ClickHouse作為觀測數據的OLAP,讀寫性能再提升10倍,滿足金融及互聯網客戶的數萬規模的集群部署。
DeepFlow容器化微服務可觀測性方案
DeepFlow提供適用于容器化微服務的可觀測性,解決云原生應用診斷難的核心痛點。通過對全局微服務間的通信訪問、系統調用、平臺環境等數據進行深度分析,提供監控告警、故障定位及風險排查,保障業務在云原生環境中的穩定、高效運行。
DeepFlow可觀測性整體架構圖
分鐘級定位問題邊界:基于容器化微服務的云原生應用出現故障時,快速明確問題邊界是解決問題的第一步。基于知識圖譜、微服務調用鏈、全棧追蹤等功能組合,快速檢索到異常單元所關聯涉及到的其他維度信息和影響范圍;直觀展示系統、容器、虛擬主機全棧性能指標鎖定性能洼地等。
大幅提升排障效率:排障過程并不僅是找到故障根因并修復,而是從定位、根因、修復、驗證及預防一整套運維保障操作閉環。容器環境疊加微服務架構使得排障更加復雜,需要有效地將應用、容器平臺、系統調用等運維數據進行關聯,且對比指標、跟蹤以及日志特征來提高根因的準確性;并通過歷史視圖、系統運行表現、修復驗證等指標來確認從而提升效率。
微服務可用性指標:應用微服務化后,衡量判斷眾多微服務的質量以及可用性是一個繁瑣的問題。涉及到不同開發團隊,設定具體指標,周期性的記錄和評估,發現性能洼地及熱點等等。這些工作都是要建立在數據積累的基礎之上,DeepFlow平臺也是基于此來進行對微服務各維度的畫像評估。通過對應用中所涉及的幾十、上百個微服務運行的歷史指標數據進行量化分析,在一個運行周期中,能實時監控業務是否達到99.99%的可用性要求,并分析出潛在影響可用性的各種原因。
DeepFlow容器化微服務可觀測性方案,面向公有云K8s、容器環境。利用eBPF等新技術的零侵入特性實現對網絡、系統、應用的全棧黃金指標的采集。對服務調用鏈以及Service mesh、iptables/ipvs、NAT的逐跳鏈路追蹤,對服務訪問的零采樣全留存,并結合云資源知識圖譜和變更事件數據,搭建立體化的微服務可觀測平臺。保障云及微服務業務有序可控發展。
構建云原生可觀測性能力
云杉網絡提供容器化微服務可觀測免費試用版本,試用期內免費且無限量部署采集器。可享受業務零侵入部署,深度體驗DeepFlow全棧鏈路追蹤等能力,為平臺開發團隊、業務開發團隊、技術運營團隊帶來一鍵部署即可享受的‘輕便體驗’,幫助企業更順暢地走上云原生之旅。