容器云公网宽带流量获取方法、装置、设备、介质和产品与流程
- 国知局
- 2024-09-11 14:15:40
本申请涉及网络,特别是涉及一种容器云公网宽带流量获取方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术:
1、随着网络技术的发展,公网宽带费用也逐渐提高。公网带宽的使用,一般分成两种情况,一种是通过负载均衡对外提供服务的流量,一般这种流量可以放在负载均衡设备上面进统计,可以给出具体不同的业务使用的公网流量(此时公网客户端ip对于业务来说,往往是不可见的);另外一种是业务主动访问公网的流量,比如爬虫、下载等类型的业务,这种类型的业务也需要进行流量统计,不然可能一方面占用大量带宽,挤压用来提供服务的流量,另一方面也导致高昂的公网带宽费用。
2、传统技术中,针对这个公网流量访问统计的问题,一般公网的出口会使用专门的公网出口设备来实现,不同的业务使用不同的业务网段,往往还会划分到不同的vlan中,例如业务a使用10.0.1.0/24业务网段,业务b使用10.0.2.0/24业务网段,那么在nat(networkaddress translator,网络地址转换)设备上只需要根据流量来源的ip(互联网协议(internet protocol)),就可以给出具体不同业务的流量访问情况的统计。
3、然而,在容器云场景下,上述公网流量访问统计方法则无法满足实际的需求,容器云场景下,业务是运行在容器中的,而容器调度到节点上的时候,一个节点上会有多个业务的容器。一般的容器网络解决方案中,都是一个主机分配一段pod cidr(pod cidr是指kubernetes(kubernetes,简称k8s,是用8代替8个字符“ubernete”而成的缩写。)为pod分配的ip地址段),容器的ip使用pod cidr中的ip进行分配,具有临时性、动态性,同一个ip在不同时间可以属于不同的业务;另外,在容器访问公网的时候,还会在容器主机节点上做一次nat(network address translator,网络地址转换),这样也就导致在nat设备上,根本看不到真实的pod的ip。由于ip使用的动态性以及pod的ip实际也是对nat设备隐藏的,因此传统在nat设备上,基于ip进行流量统计分类的方式不再可行。
技术实现思路
1、基于此,有必要针对上述技术问题,提供一种能够实现容器云公网宽带流量计算的容器云公网宽带流量获取方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
2、第一方面,本申请提供一种容器云公网宽带流量获取方法,所述方法包括:
3、从容器计算节点的ebpf map中获取公网流量数据,所述公网流量数据是以发起网络操作的进程以及网络数据方向为索引的;
4、从本地获取预先生成的进程和业务资源单元映射关系;
5、基于所述映射关系以及所述公网流量数据,确定各所述业务资源单元以及各网络数据方向对应的公网宽带流量。
6、在其中一个实施例中,所述从容器计算节点的ebpf map中获取公网流量数据之前,包括:
7、通过内核调试方式,捕获容器计算节点的内核协议栈中目标钩子点对应的ebpf程序的执行结果;其中,所述ebpf 程序是预先下发至对应的所述目标钩子点的,所述ebpf组件程序在所述目标钩子点上发送目标事件时执行;
8、将所述执行结果作为公网流量数据以发起网络操作的进程以及网络数据方向为索引,存储至ebpf map中。
9、在其中一个实施例中,所述将所述执行结果作为公网流量数据以发起网络操作的进程以及网络数据方向为索引,存储至ebpf map中,包括:
10、将所述执行结果以发起网络操作的进程以及网络数据方向为索引,存储至ebpfmap中;
11、获取预先定义的内网的互联网协议地址;
12、基于所述发起网络操作的进程确定对应的网络五元组;
13、基于所述内网的互联网协议地址以及所述网络五元组,对所述参数记录存储件中的执行结果进行过滤,得到公网流量数据;
14、将所述公网流量数据以发起网络操作的进程以及网络数据方向为索引,存储至所述ebpf map中。
15、在其中一个实施例中,所述目标钩子点包括以下至少一种:tcp数据发送过程中的必经目标调用点、tcp数据接收过程中从内核态接收队列中清理缓冲数据的调用点、udp发送数据过程中的必经目标调用点以及udp接收数据过程中的将数据拷贝到用户态后,在内核释放对应数据包缓存的点。
16、在其中一个实施例中,所述从本地获取预先生成的进程和业务资源单元映射关系,包括:
17、通过监听模式监听节点上的业务资源单元信息和容器信息,其中所述进程属于容器信息对应的容器;
18、获取在本地容器运行时节点运行代理组件上的业务资源单元信息;
19、基于节点运行代理组件上的业务资源单元信息、所述业务资源单元信息和所述容器信息,构建进程和业务资源单元映射关系。
20、在其中一个实施例中,所述方法还包括:
21、通过数据拉取组件从流量代理服务中拉取公网宽带流量;
22、基于数据聚合维度,对所述公网宽带流量进行数据处理;
23、显示处理后的所述公网宽带流量。
24、第二方面,本申请还提供一种容器云公网宽带流量获取装置,所述装置包括:
25、流量数据获取模块,用于从容器计算节点ebpf map中获取公网流量数据,所述公网流量数据是以发起网络操作的进程以及网络数据方向为索引的;
26、映射关系获取模块,用于从本地获取预先生成的进程和业务资源单元映射关系;
27、公网宽带流量计算模块,用于基于所述映射关系以及所述公网流量数据,确定各所述业务资源单元以及各网络数据方向对应的公网宽带流量。
28、第三方面,本申请还提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述的任意一个实施例中的方法的步骤。
29、第四方面,本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的任意一个实施例中的方法的步骤。
30、第五方面,本申请还提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述的任意一个实施例中的方法的步骤。
31、上述容器云公网宽带流量获取方法、装置、计算机设备、存储介质和计算机程序产品,从容器计算节点的ebpf map中获取公网流量数据,从本地获取预先生成的进程和业务资源单元映射关系,这样基于映射关系以及公网流量数据,确定各所述业务资源单元以及各网络数据方向对应的公网宽带流量,解决了容器云场景下,由于业务资源单元的ip的分配问题导致的业务公网访问流量统计问题,以业务为中心,而不再是以ip为中心来统计公网访问流量,可以实现更细粒度的流量统计洞察,更好地服务好业务做公网流量访问的优化。
技术特征:1.一种容器云公网宽带流量获取方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述从容器计算节点的ebpf map中获取公网流量数据之前,包括:
3.根据权利要求2所述的方法,其特征在于,所述将所述执行结果作为公网流量数据以发起网络操作的进程以及网络数据方向为索引,存储至ebpf map中,包括:
4.根据权利要求2所述的方法,其特征在于,所述目标钩子点包括以下至少一种:tcp数据发送过程中的必经目标调用点、tcp数据接收过程中从内核态接收队列中清理缓冲数据的调用点、udp发送数据过程中的必经目标调用点以及udp接收数据过程中的将数据拷贝到用户态后,在内核释放对应数据包缓存的点。
5.根据权利要求1至4任意一项所述的方法,其特征在于,所述从本地获取预先生成的进程和业务资源单元映射关系,包括:
6.根据权利要求1至4任意一项所述的方法,其特征在于,所述方法还包括:
7.一种容器云公网宽带流量获取装置,其特征在于,所述装置包括:
8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
10.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
技术总结本申请涉及一种容器云公网宽带流量获取方法、装置、计算机设备、存储介质和计算机程序产品。所述方法包括:从容器计算节点的eBPF Map中获取公网流量数据,所述公网流量数据是以发起网络操作的进程以及网络数据方向为索引的;从本地获取预先生成的进程和业务资源单元映射关系;基于所述映射关系以及所述公网流量数据,确定各所述业务资源单元以及各网络数据方向对应的公网宽带流量。采用本方法能够实现容器云公网宽带流量计算。技术研发人员:李银鹰,沙烈宝,曾东明受保护的技术使用者:国投证券股份有限公司技术研发日:技术公布日:2024/9/9本文地址:https://www.jishuxx.com/zhuanli/20240911/289855.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表