基于ebpf技术的容器网络流量监控统计方法及系统技术方案

技术编号:32668981 阅读:96 留言:0更新日期:2022-03-17 11:22
本发明专利技术提供了一种基于ebpf技术的容器网络流量监控统计方法及系统,包括:步骤S1:获取容器tcp网络流量状态及http请求报文状态;步骤S2:将获取的容器tcp网络流量状态及http请求报文状态根据不同的数据类型写入消息队列,消费消息队列并写入非关系型数据库;步骤S3:ip

【技术实现步骤摘要】
基于ebpf技术的容器网络流量监控统计方法及系统


[0001]本专利技术涉及互联网
,具体地,涉及基于ebpf技术的容器网络流量监控统计方法及系统。

技术介绍

[0002]在容器技术越来越被关注,对应地服务容器化已经成为一种趋势。Docker做为时下最流行的容器引擎,在生产环境得到了越来越广泛的应用。对于部署在容器中的服务,其对网络带宽资源的使用情况度量,以及对重点服务网络质量的保障,都成了必不可少的组成部分,直接影响到服务的运营质量。
[0003]目前对容器内的网络流量采集,普通采用了在容器内映射虚拟网卡,然后通过内核提供的/proc/net/dev接口(显示网络适配器及统计信息的接口)获取网络协议栈的网络出入流量及包量,从而达到统计的目的。
[0004]专利文献CN108696452B(申请号:201810468173.4)公开了一种容器级网络流量采集、网络质量标识方法、装置、系统,其中所述容器级网络流量采集方法包括:为容器配置类别标识符,使所述容器中的网络数据包具有对应的类别标识符;在网络数据包传入或传出网络协议栈时本文档来自技高网...

【技术保护点】

【技术特征摘要】
send

data,获取一段时间内结束时间

初始时间的流量差值,作为流量大小展示在前端页面;基于源地址、目的地址或源服务、目的服务、请求方法、请求host、状态码、请求URL、请求耗时,查询es index http

stat

data,展示一段时间内的http请求。6.一种基于ebpf技术的容器网络流量监控统计系统,其特征在于,包括:模块M1:获取容器tcp网络流量状态及http请求报文状态;模块M2:将获取的容器tcp网络流量状态及http请求报文状态根据不同的数据类型写入消息队列,消费消息队列并写入非关系型数据库;模块M3:ip

scaner通过GET请求kubernetes API获取pod、replicas、service、node详情,并将pod、replicas、service、node信息写入关系型数据库;模块M4:检索关系型数据库与非关系型数据库获取预设时间段内的流量大小以及http请求并进行展示。7.根据权利要求6所述的基于ebpf技术的容器网络流量监控统计系统,其特征在于,所述模块M1采用:模块M1.1:利用ebpf

probe调用docker API,获取节点上所有的docker容器的IP地址以及进程PID;模块M1.2:ebpf

probe通过bcc模块注入bpf代码到内核,基于进程PID获取容器tcp网络流量状态;模块M1.3:ebpf

probe基于容器tcp网络流量状态过滤http请求,获取http请求报文状态;模块M1.4:ebpf

probe通过POST接口将获取的容器tcp网络流量状态及http请求报文状态上传至data

receiver。8.根据权利要求6所述的基于ebpf技术的容器网络流量监控统计系统,其特征在于,所述模块M2采用:模块M2.1:data

receiver接收到ebpf

probe上传的数据后,根据不同的数据类型,将数据写入消息队列;其中,发送数据写入topic send

data,接受数据写入topic receive

data,tcp请求详情...

【专利技术属性】
技术研发人员:黄文杰詹赵林王畅王鑫刘金华李贺安黄小刘清
申请(专利权)人:兴业数字金融服务上海股份有限公司
类型:发明
国别省市:

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

1