一种容器流量的监控方法及bpf控制器技术

技术编号:34124437 阅读:27 留言:0更新日期:2022-07-14 13:51
本发明专利技术公开了一种容器流量的监控方法及bpf控制器,其中,所述方法包括:读取目标主机的配置文件,并将所述配置文件中的配置信息写入内核的ebpf映射表中,所述配置信息中至少包括待监控的内网网段和外网网段;开启监听事件,通过所述监听事件识别所述目标主机中未注入ebpf程序的主机映射网卡,并为所述主机映射网卡注入用于监控流量的ebpf程序;其中,所述主机映射网卡与容器映射网卡具备对应关系;通过注入的所述ebpf程序,按照所述待监控的内网网段和所述外网网段,监控所述主机映射网卡对应的内网流量和外网流量,并将所述内网流量和所述外网流量记录至所述ebpf映射表中。本申请提供的技术方案,在实现内外网流量统计的过程中,保证整体系统的稳定性。保证整体系统的稳定性。保证整体系统的稳定性。

A monitoring method of container flow and BPF controller

【技术实现步骤摘要】
一种容器流量的监控方法及bpf控制器


[0001]本专利技术涉及互联网
,特别涉及一种容器流量的监控方法及bpf控制器。

技术介绍

[0002]随着IaaS(Infrastructure as a Service,基础设施即服务)、PaaS(Platform as a Service,平台即服务)、SaaS(Software as a Service,软件即服务)等云平台的逐渐成熟,容器虚拟化技术也得到了广泛的应用。
[0003]目前,为了区分容器的内外网流量,通常会在容器内部设定多张网卡,然后结合路由的方式,将内网流量和外网流量分别定向到不同的网卡上,后续可以通过ifconfig命令进行内外网流量的统计。
[0004]然而,现有的这种在容器内创建多张网卡的流量统计方式,需要对CNI(Container Network Interface,容器网络接口)进行侵入式改造,很可能带来CNI层面的稳定性问题。

技术实现思路

[0005]本申请的目的在于提供一种容器流量的监控方法及bpf控制器,在实现内外网流量统计的过程中,保证整体系统的稳定性。
[0006]为实现上述目的,本申请一方面提供一种容器流量的监控方法,所述方法应用于bpf控制器中,所述方法包括:读取目标主机的配置文件,并将所述配置文件中的配置信息写入内核的ebpf映射表中,所述配置信息中至少包括待监控的内网网段和外网网段;开启监听事件,通过所述监听事件识别所述目标主机中未注入ebpf程序的主机映射网卡,并为所述主机映射网卡注入用于监控流量的ebpf程序;其中,所述主机映射网卡与容器映射网卡具备对应关系;通过注入的所述ebpf程序,按照所述待监控的内网网段和所述外网网段,监控所述主机映射网卡对应的内网流量和外网流量,并将所述内网流量和所述外网流量记录至所述ebpf映射表中。
[0007]在一个实施方式中,通过所述监听事件识别所述目标主机中未注入ebpf程序的主机映射网卡包括:在所述监听事件启动时,全量获取所述目标主机的各个主机映射网卡,并在所述各个主机映射网卡中识别未注入ebpf程序的主机映射网卡。
[0008]在一个实施方式中,所述方法还包括:若所述监听事件监听到新建的主机映射网卡,为所述新建的主机映射网卡注入用于监控流量的ebpf程序。
[0009]在一个实施方式中,所述用于监控流量的ebpf程序包括入流量监控程序和出流量监控程序;监控所述主机映射网卡对应的内网流量和外网流量包括:通过所述入流量监控程序,分别统计所述主机映射网卡下待监控的内网网段对应的入流量和待监控的外网网段对应的入流量;通过所述出流量监控程序,分别统计所述主机映射网卡下待监控的内网网段对应的出流量和待监控的外网网段对应的出流量。
[0010]在一个实施方式中,将所述内网流量记录至所述ebpf映射表中包括:识别所述主机映射网卡的网卡标识,并将所述待监控的外网网段下的入流量和出流量与所述网卡标识
关联存储至所述ebpf映射表表中。
[0011]在一个实施方式中,将所述外网流量记录至所述ebpf映射表中包括:识别所述主机映射网卡的网卡标识,并将所述待监控的外网网段下的入流量和出流量与所述网卡标识关联存储至所述ebpf映射表表中。
[0012]在一个实施方式中,在将所述内网流量和所述外网流量记录至所述ebpf映射表中之后,所述方法还包括:将所述ebpf映射表以虚拟文件的方式映射至所述目标主机中,以使得其它程序以读文件的方式从所述目标主机中获取所述ebpf映射表中的数据。
[0013]在一个实施方式中,所述方法还包括:若所述配置文件中的配置信息发生更新,获取更新后的配置信息,并将更新后的配置信息写入所述ebpf映射表中,以替换所述ebpf映射表中原先的配置信息;通过注入的所述ebpf程序,按照更新后的配置信息监控所述主机映射网卡对应的内网流量和外网流量。
[0014]为实现上述目的,本申请另一方面还提供一种bpf控制器,所述bpf控制器包括:配置信息处理单元,用于读取目标主机的配置文件,并将所述配置文件中的配置信息写入内核的ebpf映射表中,所述配置信息中至少包括待监控的内网网段和外网网段;程序注入单元,用于开启监听事件,通过所述监听事件识别所述目标主机中未注入ebpf程序的主机映射网卡,并为所述主机映射网卡注入用于监控流量的ebpf程序;其中,所述主机映射网卡与容器映射网卡具备对应关系;流量统计单元,用于通过注入的所述ebpf程序,按照所述待监控的内网网段和所述外网网段,监控所述主机映射网卡对应的内网流量和外网流量,并将所述内网流量和所述外网流量记录至所述ebpf映射表中。
[0015]在一个实施方式中,所述配置信息处理单元还用于:若所述配置文件中的配置信息发生更新,获取更新后的配置信息,并将更新后的配置信息写入所述ebpf映射表中,以替换所述ebpf映射表中原先的配置信息;所述程序注入单元还用于:通过注入的所述ebpf程序,按照更新后的配置信息监控所述主机映射网卡对应的内网流量和外网流量。
[0016]由上可见,本申请一个或者多个实施方式提供的技术方案,可以通过bpf(Berkeley Packet Filter,柏克莱封包过滤器)控制器在主机映射网卡上挂载ebpf(Extended Berkeley Packet Filter,扩展bpf)程序的方式,进行容器的内外网流量的统计。
[0017]具体地,主机映射网卡与容器映射网卡具备对应关系,主机映射网卡的入流量,对应的就是容器映射网卡的出流量。相反,主机映射网卡的出流量,对应的就是容器映射网卡的入流量,这样,通过为用户态的主机映射网卡挂载ebpf程序,从而可以统计出主机映射网卡下的出流量和入流量,对应的就可以统计出容器映射网卡下的入流量和出流量。
[0018]由于本申请的提供的技术方案,可以不需要依赖网络设备配置命令(例如ifconfig命令),而是通过内核态运行的ebpf程序来完成流量统计,从而不需要对CNI进行改造,从而保证了整体系统的稳定性。此外,内核态的统计数据也无需复制带用户态,从而减少了CPU以及内存资源的消耗,进而提高了流量统计的效率。
附图说明
[0019]为了更清楚地说明本专利技术实施方式中的技术方案,下面将对实施方式描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施方
式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0020]图1是本专利技术实施方式中容器流量监控的系统结构示意图;
[0021]图2是本专利技术实施方式中容器流量的监控方法示意图;
[0022]图3是本专利技术实施方式中bpf控制器的功能模块示意图。
具体实施方式
[0023]为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施方式及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施方式仅本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种容器流量的监控方法,其特征在于,所述方法应用于bpf控制器中,所述方法包括:读取目标主机的配置文件,并将所述配置文件中的配置信息写入内核的ebpf映射表中,所述配置信息中至少包括待监控的内网网段和外网网段;开启监听事件,通过所述监听事件识别所述目标主机中未注入ebpf程序的主机映射网卡,并为所述主机映射网卡注入用于监控流量的ebpf程序;其中,所述主机映射网卡与容器映射网卡具备对应关系;通过注入的所述ebpf程序,按照所述待监控的内网网段和所述外网网段,监控所述主机映射网卡对应的内网流量和外网流量,并将所述内网流量和所述外网流量记录至所述ebpf映射表中。2.根据权利要求1所述的方法,其特征在于,通过所述监听事件识别所述目标主机中未注入ebpf程序的主机映射网卡包括:在所述监听事件启动时,全量获取所述目标主机的各个主机映射网卡,并在所述各个主机映射网卡中识别未注入ebpf程序的主机映射网卡。3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:若所述监听事件监听到新建的主机映射网卡,为所述新建的主机映射网卡注入用于监控流量的ebpf程序。4.根据权利要求1所述的方法,其特征在于,所述用于监控流量的ebpf程序包括入流量监控程序和出流量监控程序;监控所述主机映射网卡对应的内网流量和外网流量包括:通过所述入流量监控程序,分别统计所述主机映射网卡下待监控的内网网段对应的入流量和待监控的外网网段对应的入流量;通过所述出流量监控程序,分别统计所述主机映射网卡下待监控的内网网段对应的出流量和待监控的外网网段对应的出流量。5.根据权利要求1或4所述的方法,其特征在于,将所述内网流量记录至所述ebpf映射表中包括:识别所述主机映射网卡的网卡标识,并将所述待监控的内网网段下的入流量和出流量与所述网卡标识关联存储至所述ebpf映射表表中。6.根据权利要求1或4所述的方法,其特征在于,将所述外网流量记录至所述ebpf映射表...

【专利技术属性】
技术研发人员:黄志坚
申请(专利权)人:网宿科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1