金融行业云全景网络流量监控实践【腾讯云篇】

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地址段切割、标记一个业务,需要构建完整的云网络知识图谱。

想要解决上述的问题,我们需要了解哪些信息是能够帮助我们快速理解云网络下业务网络逻辑的:

  1. 资源池的维度的信息包括:区域、可用区、私有云资源池、容器集群、租户等。

    ● 计算资源维度的信息包括:宿主机、云服务器;

    ● 网络服务维度的信息包括:安全组、NAT网关、负载均衡器;

    ● 存储资源维度的信息包括:RDS、Redis;

  2. 容器应用资源维度的信息包括:容器集群、命名空间、容器节点、Ingress、容器服务、工作负载(Deployment、StatefulSet、ReplicationController)、ReplicaSet、容器POD。

  3. 网络策略配置信息:SDN网络控制器上配置的各类各类通信场景下的网络规则,如:LB、NAT、对等连接等网络策略。

DeepFlow实现了上述资源信息的自动同步,并将以上维度的资源信息与流量监控数据进行自动关联,既帮助我们快速刻画出云内网络资源、云上业务应用,又为进一步的网络诊断分析、故障定位、资源优化等使用场景提供了先决条件。

“运维利剑” 全链路网络性能分析

真实业务场景下,业务端点可能分布在云内容器集群、虚拟机、云公共服务(Redis等)甚至在云外,通信路径其实异常复杂,且不可见。比如:容器的环境下有大量的LB,LB所做的工作无外乎就是地址映射,包括源端地址、目的端地址的映射。在诸如Node-POD的Service、Ingress或外界有LB设备提供负载均衡等复杂的场景下SNAT和DNAT会多次发生,每一次发生地址转换就意味着可能会产生网络的性能问题。容器应用访问外部虚拟机、公共服务、甚至下云,通信路径上首先是经过容器内部的地址映射,LB然后是根据不同通信场景选择不同的虚拟网关或其他虚拟网元设备,然后可能会跨越物理服务器的机架,意味着跨越接入交换机,也可能会跨越物理网元,比如物理防火墙,安全设备等。

看似简单的通信链路,却要历经千山万壑如果没有一张绘制精细的地图显然会让这一路径充满未知的危机。

为业务应用提供“贴身保护”

通过云网知识图谱的构建,帮助我们了解了整个云环境的业务资源分布,在容器应用部分,自动按照service、工作负载的维度进行展示,全自动刻画出容器应用互访关系,创新性的解决了容器业务网络的实时监控分析的难题。无论资源和业务如何动态变化,监控策略都能实时自动跟随。此外包括Service之间访问的追踪关系,在负载均衡器前后、Service前后IP的变化关系,真实源IP与SNAT和DNAT后的变化关系。这都是为了实现整个业务的监控应该去获取的数据。基于其他的资源属性,通过资源之间服务依赖(服务端口通信梳理)发现能力,梳理资源之间的流量互访关系,包括物理部分和虚拟部分进行梳理。构建一个云内跨资源类型的、动态分布的、规模庞大的业务网络全景视图。

按照业务网络全景视图进行网络性能分析,故障定位,有的放矢的处理来自于不同业务部门的反馈,清晰呈现出目标业务端到端路径逐跳的性能数据。基于这个性能数据,在不同的维度(资源组维度、POD维度、分析维度)做层层的钻取来最终定位业务的性能问题,并进行证据的留存。同时,也可以通过虚拟网络逻辑拓扑来检查资源的配置,校验端到端的连通性问题,最后可通过流日志回溯将诊断到的问题数据进行收集,为业务故障提供诊断依据。

当我们再遇到业务故障时不必慌,DeepFlow为全网业务提供“贴身保护”。

在传输路径上“一招制敌”

业务维度网络全景视图像是一个“保镖”,不管业务发展到哪里,规模到多大,它都为业务提供“贴身保护”。另外一个“利剑”则类似于“交警”,他们在每个路口,保障网络数据包顺利的通过每一个网络节点。

  1. 全栈混合云环境下的虚拟网络全链路追踪,可以展示在客户端、客户端容器节点、客户端宿主机、客户端网关宿主机、客户端网关、服务端网关、服务端网关宿主机、服务端宿主机、服务端容器节点、服务端等关键位置的指标数据,以定位虚拟网络端到端路径上的时延、丢包、异常等等。

  2. 全栈混合云环境下的物理网络全链路追踪,展示端到端路径在物理链路、物理网元的指标量,以定位物理网络端到端路径上的时延、丢包、异常等。

  3. 针对复杂的云网络环境,如腾讯专有云(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管理平台进行分发策略的管理。在此方案上,既保证了租户资源隔离查看的权限,又能快,部署方使用。

自助式网络流量数据服务满足了行业云上租户的各类流量需求,补充了行业云平台的运营服务能力,是针对行业云租户流量管理的一次成功实践。