openstack虚机流量监控demo

来源:互联网 发布:java常用数据结构 编辑:程序博客网 时间:2024/06/07 16:15

1.使用

docker镜像在172.16.33.1:docker-registry:5000/ntopng-zx:v1.1
使用方式:
1)在待监控虚机所在的物理机上执行:
docker run --net=host --privileged -ti -p 3000:3000 docker-registry:5000/ntopng-zx:v1.1 bash
2)进入容器后,执行:
/tmp/run.sh --interface=tapa7f9b727-a4
该tap设备就是虚机所接的虚机网卡。可以加多个--interface,既同时监控多个虚机网卡。
3)输入物理主机的ip:3000端口,进入管理界面,默认登录密码是admin/admin,初次登录需要重置密码

上图就是当前某个虚机的上网流量分类统计。
上图为实时带宽。

2.原理


上图所示,1是虚机的网卡,2是ovs的port。
1实际上是linux bridge的port,2是ovs-bridge上的port。
1所示的tap设备在linux内核中原生可见。所以采用libpcap的socket捕获报文即可做旁路的流量分析。
2所示的ovs port已经被ovs托管,报文均是纯2层报文。
所以采用最简单的ntop,libpcap对1所示的网卡进行监控方案即可实现。
缺点:
1)libpcap内存及性能上的损耗;
2)ovs 原生2层报文性能更高。