01 | 背景介紹
國內某大型金融機構通過自建的行業云為各機構、服務商和開發者提供自主可控、安全可信的金融級云平臺產品和服務。在全產業加速數字化轉型的關鍵階段,A金融機構為了更好的支持產品創新和業務拓展,更快地響應客戶和市場的需求,不斷夯實金融云平臺技術底座,保障金融業務安全、穩定運行。
A金融機構本身有著豐富的監控手段和強大的技術能力,在越來越多的金融機構、服務商將業務遷往行業云后,云上業務交互的網絡訪問關系復雜度越來越高,動態性越來越強,針對傳統網絡監控的工具和手段無法移植到云環境中,使云的運營者和云租戶都面臨在新型基礎設施平臺下網絡安全及運維難度的嚴峻考驗。在準備對云內網絡進行系統性的監控分析之前,技術團隊就開始了細致的需求分析與技術選型。
02 | 技術選型
▌ 流量采集方案的選擇
傳統NPM主要應用在物理網絡鏈路上采用鏈路分光、交換機鏡像(Port Mirroring)等旁路方式對數據包進行采集分析,是通過配置交換機或路由器,將一個或多個源端口的數據流量轉發到某一個指定端口來實現對網絡的監聽。這種流量采集的方案并不能滿足云內網絡流量的采集需求。如果考慮采用虛擬交換機鏡像通過vSwitch或者OVS配置端口鏡像及混雜模式,確實能夠獲取一部分虛擬網絡流量,但是因為OVS等虛擬交換機性能瓶頸、流量管理等方面原因又不能廣泛應用。另外,隨著云原生技術的引入,部署在容器、微服務上的應用加劇了網絡的復雜性,但對容器網絡、服務間的流量暫無合適應對的方案。
DeepFlow流量采集(Trident)方案,適用于各種類型資源池網絡,分別支持部署到云平臺TCE計算節點、TKE容器節點、和裸金屬服務器上,以實現多種虛擬網絡流量的按需采集,其采集性能為tcpdump的10倍,計算資源消耗可低至運行環境總資源量的1%,輸出遙測數據時的帶寬消耗可低至業務流量的0.01%。
▌ 網絡分析維度的差異
比起傳統物理網絡分析以IP為基本視角查看流量數據的維度,云網絡分析需要更加貼合云內資源屬性的維度查看流量路徑及指標,以應對云內動態變化的業務部署范圍及資源。
▌ 云內網絡鏈路分析的特點
傳統物理網絡流量分析,是以物理網絡拓撲為基礎,分析物理網絡上設備鏈路及網絡接口的性能指標等數據,網絡路徑固定,路徑拓撲展現方式按照物理網絡拓撲結構展示即可。
在云網絡環境中,邏輯更加抽象,網絡路徑更加動態復雜。例如容器業務pod之間產生交互,所涉及網絡節點包括源端pod接口、源端虛擬機接口、源端宿主機接口、vSwitch、網關宿主機、網關虛擬機、目的端宿主機、目的端虛擬機接口、目的端vSwitch、目的端虛擬機接口、目的端pod接口等,性能分析及故障排查路徑復雜。
另外在騰訊云網絡內的通信場景更加復雜,根據不同資源間通信邏輯有具體的通信規則,相關涉及的網關類型眾多例如:VPCGW、PVGW、NATGW、JNSGW、PCGW、NATGW、MCGW等,各類虛擬網元在各類云內網絡通信場景中,都起到重要作用,也給云內網絡問題的排查提出了更多的挑戰。
03 | 能力定位
面對云網絡的“黑盒”,在不干擾生產環境的前提下需要一套能夠完成流量的全網采集、全景分析和按需分發的數據平臺,建立刻畫云網絡的全景視圖和運維、運營、安全管理機制。幫助A行業云中心提高運維效率,優化資源使用率,提升安全性,從而提升行業云整體服務的SLA水平。
針對云網流量規模大、動態性強、關聯關系多、網絡路徑復雜等特殊性,既能夠滿足對于目前云內資源和網絡的無侵擾,又能實現大規模流量管理;既能不過多消耗業務帶寬資源,又能監控到全局的云內各類資源各種視角的網絡流量交互視圖。客戶給DeepFlow的能力定位是一套能夠面向云數據中心,解決云內網絡監控分析難題的網絡流量分析產品。
04 | 一套面向混合云的全景監控平臺
▌ “四兩可撥千斤”—全棧流量采集器
相比于部署在物理網絡用于流量分析的重型裝備,云杉流量采集器像是《三體》中描述的質子,極簡的部署,極微的體量,卻能捕捉到每個最小交互單元的流量數據包。
全棧流量采集器是DeepFlow平臺基于云資源池全棧分析理念推出的一款一體化流量采集組件。騰訊全棧專有云包括TKE容器集群與TCE云平臺,從部署形式上全棧流量采集器包含有容器流量采集pod,CVM母機(宿主機)流量采集軟件進程,NFV流量專屬采集器,三種形態的流量采集器分別采集容器層、虛擬化層、物理服務器層、NFV層全部流量數據,并由控制器統一進行管理。
云內流量分析對象是成千上萬的業務pod、虛擬機,以及他們之間交互形成的又一個指數量級的網絡路徑,想要把這種體量的流量數據包發送出來再進行集中處理計算顯然不是明智的選擇。這就給流量采集器提出了一個更加嚴苛的要求:以極小的資源消耗,保證強大的本地計算能力。DeepFlow流量采集器在騰訊全棧專有云中進行了完美適配,經過現場多輪測試結果可知:在規定資源占用的前提下(1C1G),單個流量采集器計算處理能力大于10Gbps,這無疑是客戶工程師心中的又一粒定心丸。
從覆蓋范圍上看,這種流量采集器部署實現了對整個A金融行業云兩地多區域的的全面覆蓋。這種規模是在傳統網絡流量監控角度上難以想象的。采集流量范圍更加廣,管理流量的規模更加龐大,粒度更加精細化,才能夠適應云數據中心當下的監控需求,是新架構、新場景下對于網絡流量監控的必然要求。
部署完成之后,客戶李工長舒一口氣說道:“有了DeepFlow,我們身上的壓力小了很多。沒想到小小的流量采集器有如此的能力,可謂是四兩撥千斤啊!”
▌ “怎么才算懂云網” 云網知識圖譜
怎樣才能準確的描述一個云內的業務?成為了業務部門關心的第一個問題,難點之一在于如何關聯混合云下的流量數據,從業務視角展現全棧(服務之間從客戶端、容器節點、宿主機、網關到服務端的全路徑)、全鏈路(業務系統的服務間依賴、資源組間依賴、業務間依賴、跨資源池調用、跨可用區調用、跨區域調用)的網絡性能數據;難點之二在于云環境固有的規模性和彈性要求監控系統的采集側、存儲側、控制側都需要隨云擴展、隨云演進,以適應十萬量級的云資源規模及容器、Serverless等新型資源池形態;難點之三在于云資源的物理位置動態性、IP地址動態性和普遍存在的NAT地址翻譯,使得不再能夠通過物理位置或IP地址段切割、標記一個業務,需要構建完整的云網絡知識圖譜。
想要解決上述的問題,我們需要了解哪些信息是能夠幫助我們快速理解云網絡下業務網絡邏輯的:
資源池的維度的信息包括:區域、可用區、私有云資源池、容器集群、租戶等。
● 計算資源維度的信息包括:宿主機、云服務器;
● 網絡服務維度的信息包括:安全組、NAT網關、負載均衡器;
● 存儲資源維度的信息包括:RDS、Redis;
容器應用資源維度的信息包括:容器集群、命名空間、容器節點、Ingress、容器服務、工作負載(Deployment、StatefulSet、ReplicationController)、ReplicaSet、容器POD。
網絡策略配置信息:SDN網絡控制器上配置的各類各類通信場景下的網絡規則,如:LB、NAT、對等連接等網絡策略。
DeepFlow實現了上述資源信息的自動同步,并將以上維度的資源信息與流量監控數據進行自動關聯,既幫助我們快速刻畫出云內網絡資源、云上業務應用,又為進一步的網絡診斷分析、故障定位、資源優化等使用場景提供了先決條件。
▌ “運維利劍” 全鏈路網絡性能分析
真實業務場景下,業務端點可能分布在云內容器集群、虛擬機、云公共服務(Redis等)甚至在云外,通信路徑其實異常復雜,且不可見。比如:容器的環境下有大量的LB,LB所做的工作無外乎就是地址映射,包括源端地址、目的端地址的映射。在諸如Node-POD的Service、Ingress或外界有LB設備提供負載均衡等復雜的場景下SNAT和DNAT會多次發生,每一次發生地址轉換就意味著可能會產生網絡的性能問題。容器應用訪問外部虛擬機、公共服務、甚至下云,通信路徑上首先是經過容器內部的地址映射,LB然后是根據不同通信場景選擇不同的虛擬網關或其他虛擬網元設備,然后可能會跨越物理服務器的機架,意味著跨越接入交換機,也可能會跨越物理網元,比如物理防火墻,安全設備等。
看似簡單的通信鏈路,卻要歷經千山萬壑如果沒有一張繪制精細的地圖顯然會讓這一路徑充滿未知的危機。
為業務應用提供“貼身保護”
通過云網知識圖譜的構建,幫助我們了解了整個云環境的業務資源分布,在容器應用部分,自動按照service、工作負載的維度進行展示,全自動刻畫出容器應用互訪關系,創新性的解決了容器業務網絡的實時監控分析的難題。無論資源和業務如何動態變化,監控策略都能實時自動跟隨。此外包括Service之間訪問的追蹤關系,在負載均衡器前后、Service前后IP的變化關系,真實源IP與SNAT和DNAT后的變化關系。這都是為了實現整個業務的監控應該去獲取的數據。基于其他的資源屬性,通過資源之間服務依賴(服務端口通信梳理)發現能力,梳理資源之間的流量互訪關系,包括物理部分和虛擬部分進行梳理。構建一個云內跨資源類型的、動態分布的、規模龐大的業務網絡全景視圖。
按照業務網絡全景視圖進行網絡性能分析,故障定位,有的放矢的處理來自于不同業務部門的反饋,清晰呈現出目標業務端到端路徑逐跳的性能數據。基于這個性能數據,在不同的維度(資源組維度、POD維度、分析維度)做層層的鉆取來最終定位業務的性能問題,并進行證據的留存。同時,也可以通過虛擬網絡邏輯拓撲來檢查資源的配置,校驗端到端的連通性問題,最后可通過流日志回溯將診斷到的問題數據進行收集,為業務故障提供診斷依據。
當我們再遇到業務故障時不必慌,DeepFlow為全網業務提供“貼身保護”。
在傳輸路徑上“一招制敵”
業務維度網絡全景視圖像是一個“保鏢”,不管業務發展到哪里,規模到多大,它都為業務提供“貼身保護”。另外一個“利劍”則類似于“交警”,他們在每個路口,保障網絡數據包順利的通過每一個網絡節點。
全棧混合云環境下的虛擬網絡全鏈路追蹤,可以展示在客戶端、客戶端容器節點、客戶端宿主機、客戶端網關宿主機、客戶端網關、服務端網關、服務端網關宿主機、服務端宿主機、服務端容器節點、服務端等關鍵位置的指標數據,以定位虛擬網絡端到端路徑上的時延、丟包、異常等等。
全棧混合云環境下的物理網絡全鏈路追蹤,展示端到端路徑在物理鏈路、物理網元的指標量,以定位物理網絡端到端路徑上的時延、丟包、異常等。
針對復雜的云網絡環境,如騰訊專有云(TCE)中NFV網關區流量全路徑追蹤,通過任意四元組信息可以自動追蹤一次或多次SNAT、DNAT、FULLNAT前后的流量拓撲和逐跳鏈路拓撲,展示資源之間的NAT流量關系,包括:容器服務及后端POD、NAT網關DNAT策略后端云服務器或IP、負載均衡器及后端云服務器或IP等。
經過上述三類路徑上的端到端分析切片,網絡故障無處遁形,不用再去手動計算復雜的網絡時序包的時延性能數據,在全鏈路追蹤視圖中,網絡端到端路徑中哪里丟了包、哪里時延大、哪里成為了性能瓶頸,并自動計算差值、百分比等,一目了然。
復雜路徑下故障排查不緊張,談笑間DeepFlow幫你“一招制敵”!
▌ 行業云增值服務 流量功能SaaS化
說起流量服務、流量分析,很多人甚至用了很多年SaaS服務的客戶都不會想到,這種流量分析、流量分發的能力居然也能用到公有云、行業云中。我們在A金融機構行業云中,就建設了這樣的SaaS化服務能力。
在行業云中,各個租戶之間的VPC網絡是完全隔離的,云運營團隊想將云網分析、流量分發等能力以服務的形式提供給所有租戶使用,需要通過騰訊云TCE運營端發布相關服務配置,進行服務發布。云杉Deepflow平臺早已完成了與騰訊云TCE產品的深度結合,通過進行一系列配置,例如:全局VPCGW策略配置、調用AddGlobalRoute、AddService相關接口、為DeepFlow平臺添加端口映射、添加平臺頁面鏈接至運營平臺等操作,完成行業云中發布DeepFlow平臺服務。
租戶側可以按照自身需求,自助部署流量采集器軟件,采集和分發租戶區域內的所需流量數據包,并從DeepFlow管理平臺進行分發策略的管理。在此方案上,既保證了租戶資源隔離查看的權限,又能快,部署方使用。
自助式網絡流量數據服務滿足了行業云上租戶的各類流量需求,補充了行業云平臺的運營服務能力,是針對行業云租戶流量管理的一次成功實踐。