Packet-Agent云环境网络流量镜像

联合创作 · 2023-09-27 08:12

项目背景

传统网络数据分析会在交换机上配置网络数据镜像, 将 Packet 复制后发送到目标机器,实现网络流量镜像的功能。而在云平台上,目前网络数据采集还没有统一的方案。

针对私有云平台,目前有流表数据包复制采集,在 hypervisor 上监听采集、vmware 平台分布式虚交换机配置采集、libpcap 抓包采集等方案。对于 vmware 平台分布式虚交换机配置采集的方案,性能较好,不占用客户机资源,但其属于商业产品,且只适用于购买 vmware 私有云用户;而在 hypervisor 上监听采集,目前有产品开发,性能较好,但只适用于 OpenStack 私有云;采用 OVS 流表方案,优势是免费,不占用客户机资源,但是配置复杂,且只能用于 OpenStack 私有云。


因此,开发基于libpcap + GRE封装转发的应用,或许是云平台目前最优的网络流量镜像方案。其使用简单、开源、适用于各类公有云和私有云。

Packet-Agent 简介

Netis Packet Agent 基于libpcap技术,从业务网卡抓包,进行 GRE 封装后将采集到的数据包发送到另一台远端机器,供分析使用。

该项目提供一套低开销但是高性能的抓包工具:

  • pktminerg 是第一个发布的工具。该工具可以轻松地在网卡上抓数据包,用GRE头进行封装并发送到远端的设备,来进行数据包监控和分析

  • pcapcompare 用于比较两个 pcap 文件
  • gredump 根据特定的过滤规则抓取GRE数据包,并存储为 pcap 文件
  • gredemo 是一个 demo 应用程序,可以从 pcap 文件读取数据包,然后把它们发送到远端网卡。这个程序只能通过源代码编译生成

Docker Kubernetes 支持

Packet-Agent Kubernetes 也提供了支持方案。简单来说,Packet-Agent封装成容器后,与需要监控的业务容器放在同一个 K8S Pod 中,与其共享网络层并抓包镜像网络流量。具体方案见项目文档。

参与 Packet-Agent 项目

欢迎大家参与此项目,包括 star, fork, 提交 pull-request, 报告 bug, 提出任何意见或建议,或者将该项目介绍给相关的朋友。衷心感谢。

浏览 9
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报