随着云计算的普及化,越来越多的企业步入了公有云、私有云、混合云的时代。当多云环境和混合IT架构来临时,网络复杂程度成倍增加,传统的网络监控工具,开始无法满足云环境所需的可见性,而企业也很难把越来越零碎的网络监控工具融合在一起。
一直以来,网络流量的采集和分析,是企业数据中心基础设施不可或缺的监控手段。通过对网络流量的深度分析,企业能够更好地定位网络故障、优化网络和业务性能指标。很多中大型企业在传统环境中已经构建了以流量为载体实时、高效、零影响的全面监控方案,因此填补云网网络流量监控的空白,并与现有的监控分析工具进行对接,闭合私有云、容器环境中的运维、业务分析工具链,成为企业迫在眉睫的需求。同时避免以往的投资浪费,也要打造一体化的云上云下监控方案,实现对业务真正的端到端监控。
在混合IT架构下,企业云数据中心可能包括K8S、OpenStack、VMware、裸金属、容器等异构IT资源池,涉及核心业务区、互联网接入区、外联区、DMZ区等多种网络区域划分,网络环境正在变得越来越规模巨大、层级复杂且多变。云环境下全网流量监控的缺失,让企业如鲠在喉。大型金融机构、电信运营商、IDC运营商,以及采用了混合云和云原生技术的行业头部企业,都在急切地寻求解决方案。
传统的环境中流量的获取一般都是交换机镜像的方式,而在虚拟化、容器等云网环境中,流量的行为发生了巨大的变化,其中东西向内部的交互流量成为主要部分,且多数不再经过物理交换机。同时,虚拟机、容器的上线、下线变得更加频繁,IP地址也不在固定,主机飘逸现象更是不在少数,这就迫使我们需要一种全新的方式来获取云网环境中的流量。
那么云网流量采集方案至少要满足以下几点关键点:
- 统一管理
云环境中需要采集规模可能达到几千甚至上万的节点,在数量上和传统环境不是一个级别,这就需要对安装的采集器进行统一管理。
- 可以支持采集器的安装部署与策略下发等管理;
- 可以支持采集流量的过滤、熔断、裁切等功能管理。
- 多环境
因为云环境中主要考虑采集器和管理端的适配情况。应对各种主流操作系统、芯片、虚拟化、容器等环境支持,同时也应该考虑对各种架构的支持。
- 操作系统:centos、redhat、suse、ubuntu、windows、银河麒麟、欧拉、龙晰、统信等;
- CPU:Intel、arm、龙芯、海光、鲲鹏、飞腾等;
- 虚拟化:vmware、hyper-v、kvm等;
- 云平台及容器:openstack、kubernetes、docker、华为、阿里、腾讯、AWS、Azure等;
- 架构:单体、SOA、微服务、服务网格等。
- 低开销
- 在云网中部署大量采集器对虚拟网络流量进行采集时,应该以最小的侵入性原则,可以采用宿主机旁路方式,运行一个用户态的进程来进行采集,且可以做流量的过载保护,最大限度保障业务优先。
- 云网流量采集器,计算资源消耗量与采集转发性能的平衡,是其重要考量因素。对云网带宽开销和计算资源开销都需要考虑。在内核允许的环境下应该考虑基于eBPF的内核采集技术,有效控制采集开销。建议采集开销不超过整体计算资源的5%。
- 高性能
一个客户的云环境可以能存在各种各种的系统或云网平台,那么为了实现采集的高效性就需要针对特定的系统采用最佳的采集技术。比如
- linux kernel 4.1.0以上,可以用eBPF零拷贝技术,捕获效率最高;
- linux kernel 2.6.0以上,可以用Packet mmap技术,;进程用户态映射到内存,减少拷贝次数;
- windows,可以用npcap,通用数据包捕获依赖库。
在一些复合分析场景,或者较为复杂的项目中,可采用FLOW方式来提升流量处理性能。一方面主要降低流量承载量,以规避对业务的影响,另一方面遵循低价值流量统计可视,中价值流量按需采集/加工,高价值流量精细采集/加工的原则,提升信息价值密度。
- 开放性
随着云服务在各个行业中的占比越来越大,企业上云遭遇虚拟网络黑盒的挑战也越来越明显。另一方面,随着云原生、微服务等新技术的兴起,IP地址已经不能作为标识应用的特征,使得原有按照网络五元组采集网络数据的策略再无用武之地。
为了能够提升云网流量采集的适用性,要求与主流资源平台和云平台的适配工作,将资源信息与知识图谱对接和关联起来,在能够查看云平台资源信息的同时,做到按照平台资源的维度来配置采集策略,扩展了网络数据采集的策略边界,使得云网流量采集更贴近业务数据分析、潜在风险缝隙等安全场景的数据需求。
同时为了构建端到端的监控,也需要采集后的流量可以对接整合到现有的监控系统之中,实现跨越overlay/underlay的传输追踪,对相应的数据进行关联之后,能够得到应用层的调用时间即每一个转发步骤的延迟。
- 自动化
在云网环境中,所有的资源包括网络资源在内,都是可弹性变化的。那么,对应的采集平台也需要具备弹性的、可扩展的特性。尤其在混合云环境中,网络规模宏大且资源池类型多样,部署采集点数量,相比传统监控规模多达几个数量级的增长,都要求采集器的自动化运行。
通过利用编排技术,可以实现应用的自动动态扩缩。需要云网流量采集本身兼容动态扩缩的场景。例如在云原生场景,POD作为最小颗粒度进行编排,随着业务的变化,POD数量也会持续的动态扩缩,云网流量采集应该主动发现业务运行的变化情况,并记录事件信息,方便后续诊断与回溯。
- 消费灵活
- 由于企业每个部门的不同需求,需要采集流量满足“统一采集、多次分发消费”,避免“烟囱式”建设和重复投资;
- 针对云下不同的消费场景(网络安全、性能监控、数据审计、智能运维),可以提供不同精度的定制化数据。
以上只是对云网流量采集一些粗浅想法,在混合云时代,网络正在变得更加复杂,企业在不同程度遭遇着虚拟网络黑盒的挑战。随着行业纷纷发力全网流量采集与分析建议,示范效应将逐渐释放,引导着众多企业在混合云环境中应用新的网络监控管理技术,建设新一代的全网流量监控基础设施。