隨著湖南農信互聯網金融業務的飛速發展,線上化業務量越來越大,業務系統架構快速更新,業務上云加速推進。運維人員需要一種有效的解決方案,能夠對全網的網絡流量進行采集和分析,覆蓋云上和云下,敏捷應對業務變化,掌握運維的主動性。

該解決方案不但能夠真實地觀測核心業務網絡層的運行情況,還能夠跨越多種技術架構,云上云下統一視角,并且囊括防火墻和應用交付設備,同時還易于建設和使用。在流量采集層,需要能覆蓋underlay、overlay等各層次,具備對物理主機、ECS虛機、K8S、負載均衡等各個環節網絡流量的采集能力。在流量分析層,需要能支持underlay流量等隧道協議解封裝,支持對underlay、overlay流量的解析、存儲、分析能力。支持基于業務全路徑,對全路徑的網絡層流量進行關聯分析。在云上業務流量跨越underlay設備、網元設備、物理主機、ECS、云下ESB、云下核心等等各個環節的情況下,具備對業務系統流量在各個環節的性能對比分析,從而快速的判斷網絡問題和回溯分析問題。

項目目標

● 全鏈路網絡流量可觀測性

通過端到端、全鏈路監控,實現物理服務器、重要防火墻、負載均衡、跨云、云原生等不同環境下的全鏈路業務流量監控保障,實時感知變化,統一流量分析觀測視角,提高網絡問題發現和定位的效率。

目標:云上云下被監控業務網絡問題的5分鐘定位。

● 云網可觀測性

通過流量鏡像、微探針引流等方式,將云環境中的網絡數據進行全量采集、解碼分析與處理,通過分析網絡指標和業務指標,構建對云網環境的全景、立體式監測,保障云上業務連續性、支撐新業務上云。

● 基于主動發現能力的根因分析

綜合運用“依賴分析”“剖析”與“排錯”的主動發現能力,通過指標呈現網絡與業務實時動態,調取模塊間的交互狀態,通過逐層下鉆分析交易明細和TCP會話信息,實現智能故障診斷與根因分析。

建設思路

本次項目主要采用捕獲網絡數據包的方式實現網絡流量實時監控,優點是不對應用產生任何侵入,同時在實施部署以及應對應用變化方面擁有非常明顯的優勢。云上ECS的流量監控,采用在ECS上部署微探針(overlay)的方式進行流量捕獲和轉發,微探針不侵入應用本身的通信和代碼參數,并能快速適應云上業務的變化,不存在兼容性問題。

無論是傳統環境還是云環境,網絡流量監控都通過以下三個層次進行。

第1層:云上網絡流量采集層。

從傳統環境到云環境,數據采集的難度大幅上升。過去,網絡流量跑在物理網絡、服務器等傳統設備間,只需要通過TAP或者物理交換機鏡像的方式就能進行流量采集;現在,流量開始跑向云端,擁抱虛擬化和容器環境,傳統的采集方式統統失效。

雖然流量采集是進行性能監控的第一步,但并非核心目的。在獲取流量后,我們更多需要思考:這些流量數據要如何處理、如何應用,才能為科技管理、企業發展帶來價值。因此,為了后續網絡流量數據的應用,我行制定了數據包全包采集的策略,未采用ebpf等技術,而是采用了傳統的libpcap等技術,在網卡層對數據包進行全包采集,不是Flow數據的采集。在擁有對數據包進行深度解析的能力下,才能從數據包中提煉價值,應用于網絡分析、運維保障、業務價值發現等各個維度,這才是全流量采集的意義與價值所在。

第2層:網絡數據解析處理層。

在流量采集的過程中,采集器通常可以通過網絡流量來粗略計算部分TCP流級別的網絡統計指標。但在大部分場景下,流量級別的網絡統計指標并不能反映網絡的健康狀況,更不能發現應用性能的潛在問題。因此,采集微探針將全包采集并發送至網絡性能分析平臺,會對網絡數據包進行解析,并計算每條Flow的網絡性能指標,基于KPI指標的告警策略,能快速發現和定位網絡問題。

同時,當談及網絡性能與應用性能監控時,我們更需要“高層視角”的指引。從網絡性能管理層面來看,需要會話級別的網絡指標和原始數據包;從應用性能管理層面來看,需要對數據包的payload做解析、關聯和統計。因此,本項目也將網絡數據包全包發送至應用性能分析平臺,只有具備對“高層指標”的深度解析能力,才能夠將云環境的監控落到實處。

第3層:全鏈路監控層,實現根因定位。

保障業務的穩定高效運行,是云環境性能監控的核心目的之一。當深度解析高層指標后,需要通過一定的技術手段對網絡數據、網絡路徑進行分析,最終找到問題根因。

原始數據包分析技術自動梳理流量、IP地址、應用、會話、網段等信息,并構建完整的網絡層視圖或應用層視圖,通過呈現網絡指標或應用指標的實時狀態,發現異常指標數據,并通過一鍵鉆取、多維統計等功能,幫助運維人員快速找到故障節點、鎖定故障根因。

架構設計

1.架構圖

圖1    全鏈路網絡流量監控架構圖

(1)通過微探針,對overlay的ECS流量進行采集;

(2)通過交換機鏡像的方式,對underlay的流量進行采集。

(3)采集流量統一匯聚至云網專用TAP交換機,對流量進行匯集、分發;

(4)在云網中部署NPM流量探針設備,NPM流量探針設備對云網流量進行解封裝,常見的云網隧道協議包括:GRE、Vxlan、Ali VPC Tunnel等;

(5)NPM管理平臺對云網NPM探針統一管理,做到云上云下NPM統一展示分析。

2.云網NPM設備需具備以下幾點基本要求

(1)具備NPM的所有基本功能,并具備云上云下流量的統一分析展示;

(2)云網封裝流量的解析能力包括Vxlan、GRE、Ali VPC Tunnel等,能夠看到封裝在內層的數據包信息;

(3)云網Vxlan、Ali VPC Tunnel ID標簽識別;

(4)IP分片的重組能力:ECS之間的數據包交互,由于系統層開啟了GRO等底層參數的原因,會存在大量超過MTU的大包,因為在微探針捕獲并轉發的過程中,需要對數據包進行分片,當這些分片發送到分析設備之后,分析設備需要將IP分片進行重組并計算指標;

(5)Underlay、overlay流量的統一分析、檢索能力;

(6)芯片及操作系統支持。

云上網絡性能監控平臺功能實現

1.云網流量采集系統基礎功能

(1)云內虛機流量的采集(Linux系統)。對我行云內虛擬機的流量進行采集,包括CentOS、AliOS、麒麟(arm、x86)等操作系統。通過rpm包,一鍵安裝Linux采集器。

(2)K8S內POD流量的采集。支持K8S中每個POD流量的采集,包括POD之間交互的流量。支持通過Daemonset的方式進行部署,對K8S每個節點內POD的流量進行采集。提供Docker鏡像yaml文件,daemonset的方式進行采集器批量部署;可以對每個POD的流量進行采集和轉發。

圖2    K8S內POD流量采集部署設置

 (3)云內流量的全量采集。采集器部署之后,對數據包進行抓取,捕獲的數據包是完整連續的,無丟包,采集器不是通過采樣的方式進行抓包。采集器轉發完整的數據包,而非Flow或KPI指標,在部署采集器時,需要特別注意采集器限流及數據包截取。

圖3    采集策略設置


 (4)限制采集器的資源占用。可對采集器的CPU和內存占用進行限制,設置采集器的CPU、內存上限,在流量較大的情況下,采集器資源占用不超過上限,采集器不對業務產生任何影響。

圖4    采集器資源占用限制

(5)云內采集流量的轉發方式。云平臺虛擬機內部流量,經過采集器捕獲后可通過GRE、VXLAN、ZMQ等可靠通道輸出至分析系統,且不會對原始業務流量產生任何沖突。

圖5    云內采集流量的轉發方式設置

2.云網網絡性能分析平臺核心功能實現

(1)Overlay層流量分析視圖。在微探針對ECS的流量進行采集時,對于復制轉發的網絡流量打上標識,基于該標識,在網絡性能分析平臺,對網絡流量進行分類,例如根據租戶、應用等進行分類,以便運維中的流量分析。在每一個分析視圖,具備近百種網絡性能指標,所有指標能基于MAC、IP、會話、TCP會話、UDP會話、應用等維度進行關聯分析。

(2)云環境經典網流量分析視圖。云環境中經典網絡的流量,是通過交換機流量鏡像的方式進行采集的,由于經典網流量存在云廠商的私有封裝,所以網絡性能分析平臺對私有封裝進行了解析,從而在經典網流量中獲取到ECS的數據包信息,且具備對內層ECS流量的所有分析能力。

(3)基于業務路徑的監控視圖。在運維中,業務交易路徑通常較長,如何直觀、有效地定位問題發生根源并解決問題是迫切需要解決的問題。通過業務路徑監控視圖,用戶能夠及時了解各業務組件的工作狀態、性能參數和告警等信息,從而提高網絡故障定位的效率。

圖6    基于業務路徑的監控視圖

云上網絡性能監控平臺下一步期望

在云上網絡性能監控平臺的部署實施過程中,發現現階段云上網絡性能監控依然存在部分問題,需要云廠商與性能監控平臺廠商共同探討解決,主要表現在如下幾個方面。

一是ECS層流量探針安裝維護管理較為復雜,特別是對于探針分組批量控制,緊急情況下,需要對探針全量限流或關閉;新增或下線ECS,均需要對流量采集進行維護。二是云平臺Underlay流量較大,全量鏡像對鏡像交換機、業務交換機有較大的壓力,而且鏡像方式對overlay流量存在重復采集。三是ECS探針方式采集Overlay流量,為減輕去云平臺SDN網關壓力,不可避免需要裁減數據包,對全流量回溯分析、安全分析、業務流量監控會造成一定的影響,另外,由于采集方與消費方往往不是一個廠商,有一定的適配工作流量。

云上網絡性能監控,目前主要困難均在采集端,期望后續可以在軟硬件層面,開辟一條更精準的業務全流量采集外發通道,形成更完善的解決方案,助力我行業務穩定可持續發展。