文 / 湖南省农村信用社联合社信息科技部 周维 李柱
随着湖南农信互联网金融业务的飞速发展,线上化业务量越来越大,业务系统架构快速更新,业务上云加速推进。运维人员需要一种有效的解决方案,能够对全网的网络流量进行采集和分析,覆盖云上和云下,敏捷应对业务变化,掌握运维的主动性。
该解决方案不但能够真实地观测核心业务网络层的运行情况,还能够跨越多种技术架构,云上云下统一视角,并且囊括防火墙和应用交付设备,同时还易于建设和使用。在流量采集层,需要能覆盖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)通过微探针,对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的流量进行采集和转发。
(3)云内流量的全量采集。采集器部署之后,对数据包进行抓取,捕获的数据包是完整连续的,无丢包,采集器不是通过采样的方式进行抓包。采集器转发完整的数据包,而非Flow或KPI指标,在部署采集器时,需要特别注意采集器限流及数据包截取。
(4)限制采集器的资源占用。可对采集器的CPU和内存占用进行限制,设置采集器的CPU、内存上限,在流量较大的情况下,采集器资源占用不超过上限,采集器不对业务产生任何影响。
(5)云内采集流量的转发方式。云平台虚拟机内部流量,经过采集器捕获后可通过GRE、VXLAN、ZMQ等可靠通道输出至分析系统,且不会对原始业务流量产生任何冲突。
2.云网网络性能分析平台核心功能实现
(1)Overlay层流量分析视图。在微探针对ECS的流量进行采集时,对于复制转发的网络流量打上标识,基于该标识,在网络性能分析平台,对网络流量进行分类,例如根据租户、应用等进行分类,以便运维中的流量分析。在每一个分析视图,具备近百种网络性能指标,所有指标能基于MAC、IP、会话、TCP会话、UDP会话、应用等维度进行关联分析。
(2)云环境经典网流量分析视图。云环境中经典网络的流量,是通过交换机流量镜像的方式进行采集的,由于经典网流量存在云厂商的私有封装,所以网络性能分析平台对私有封装进行了解析,从而在经典网流量中获取到ECS的数据包信息,且具备对内层ECS流量的所有分析能力。
(3)基于业务路径的监控视图。在运维中,业务交易路径通常较长,如何直观、有效地定位问题发生根源并解决问题是迫切需要解决的问题。通过业务路径监控视图,用户能够及时了解各业务组件的工作状态、性能参数和告警等信息,从而提高网络故障定位的效率。
云上网络性能监控平台下一步期望
在云上网络性能监控平台的部署实施过程中,发现现阶段云上网络性能监控依然存在部分问题,需要云厂商与性能监控平台厂商共同探讨解决,主要表现在如下几个方面。
一是ECS层流量探针安装维护管理较为复杂,特别是对于探针分组批量控制,紧急情况下,需要对探针全量限流或关闭;新增或下线ECS,均需要对流量采集进行维护。二是云平台Underlay流量较大,全量镜像对镜像交换机、业务交换机有较大的压力,而且镜像方式对overlay流量存在重复采集。三是ECS探针方式采集Overlay流量,为减轻去云平台SDN网关压力,不可避免需要裁减数据包,对全流量回溯分析、安全分析、业务流量监控会造成一定的影响,另外,由于采集方与消费方往往不是一个厂商,有一定的适配工作流量。
云上网络性能监控,目前主要困难均在采集端,期望后续可以在软硬件层面,开辟一条更精准的业务全流量采集外发通道,形成更完善的解决方案,助力我行业务稳定可持续发展。
4000520066 欢迎批评指正
All Rights Reserved 新浪公司 版权所有