ovs的sflow配置

首先新建立一个bridge,然后建立了veth用于我们待会发送测试流量:

[root@dev ~]# ovs-vsctl add-br sflow-br
[root@dev ~]# ip link add veth0 type veth peer name veth1
[root@dev ~]# ovs-vsctl add-port sflow-br veth0
[root@dev ~]# ip addr add 10.10.20.100 dev veth1
[root@dev ~]# ip link set veth0 up
[root@dev ~]# ip link set veth1 up
[root@dev ~]# ip route add 10.10.20.150/32 via 10.10.20.100 dev veth1

现在我们ping 10.10.20.150这个地址的时候,路由会把流量给到veth1,然后veth1会传到peer的veth0,进而在sflow-br中广播。

然后我们给sflow-br设置sflow agent,agent的作用就是收集数据包后发送sflow的udp报文给我们的sflow collector。这里我们的sflow collector使用InMon的sflow-rt(http://www.inmon.com/products/sFlow-RT.php)。安装方法如下:

[root@dev ~]# wget http://www.inmon.com/products/sFlow-RT/sflow-rt.tar.gz
t[root@dev ~]# ar -xvzf sflow-rt.tar.gz
[root@dev ~]# cd sflow-rt
[root@dev ~]# ./start.sh

ovs上配置agent的命令如下(详细命令说明的参考http://openvswitch.org/support/config-cookbooks/sflow/):

[root@dev ~]# ovs-vsctl -- --id=@sflow create sflow agent=192.168.56.200 target=\"192.168.56.200:6343\" header=32 sampling=5 polling=5 -- set bridge sflow-br sflow=@sflow
d96d8b06-e074-429b-b301-1916238e8b7c
[root@dev ~]# ovs-vsctl list sflow
_uuid               : d96d8b06-e074-429b-b301-1916238e8b7c
agent               : "192.168.56.200"
external_ids        : {}
header              : 32
polling             : 5
sampling            : 5
targets             : ["192.168.56.200:6343"]

此时在我们的sflow-rt的页面的agent标签页就能看到我们的agent了。我们可以往10.10.20.150这个地址发送数据包,然后做相关的测试。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*