生成示例 sFlow 数据
sFlow 资源创建服务
尽管 sFlow 通常用于开源系统,但它也被许多交换机和路由器制造商用作 Netflow 和 IPFIX 的替代品。在这种情况下,除了企业制造商之外,您还可以使用“ host-sflow ”应用程序来引导网络流量,这是一个基本应用程序。
首先,下载适用于您选择的操作系统的应用程序。我将提到一个运行在 Windows 和各种 Linux 系统上的 Ubuntu 22.04 的示例。
wget https://github.com/sflow/host-sflow/releases/download/v2.0.38-1/hsflowd-ubuntu22_2.0.38-1_amd64.deb
sudo apt install ./hsflowd-ubuntu22_2.0.38-1_amd64.deb
这样,我们的服务就搭建好了。
配置服务和流式传输流量
在 Linux 系统上配置服务有多种选择。有不同的结构,例如在 Linux 上路由接口分支的流量、配置 Open vSwitch、在 KVM 上路由虚拟化环境的流量。
我基本上将为设备上的网络接口创建解决方案。为此,您必须首先查看将使用以下命令监视哪个网络接口。
ip a
在此输出中,确定了来自 eno1、enp0s1、eth0 等名称的正确流量。该值在 /etc/hsflowd.conf 文件中定义如下,没有任何其他数据。
sflow {
collector { ip=192.168.1.43 udpport=6343 }
pcap { dev = eno1 }
}
对于这些配置行中写入收集器的地方,需要输入相关的IP和udpport信息,以便将其发送到哪个sflow收集器。
正如我上面提到的,您应该在以 pcap 开头的行中编写 eno1 或“ip a”命令的输出作为设备名称。
完成这些操作后,需要使用以下命令重新启动服务。
systemctl restart hsflowd
如果需要,可以使用enable 命令在计算机重新启动时打开该服务。
结论
执行此步骤后,eno1 网络接口上的所有流量将开始流向 IP 地址 192.168.1.43 的端口 6343。
关于其他设置
对于按照官方sflow页面上的配置设置使用经典Linux桥接网络结构的用户;
sflow {
collector { ip = 10.100.12.13 }
pcap { dev = virbr0 }
kvm {}
}
对于 Open vSwitch 配置:
sflow {
sampling = 500
collector { ip = 10.100.12.13 }
kvm {}
ovs {}
}
或者在 Docker 上进行配置:
sflow {
agent.CIDR = 10.0.0.0/8
polling = 10
sampling = 1000
collector { ip = 10.100.12.13 }
collector { ip = 10.122.1.2 }
collector { ip = 10.144.1.2 UDPPort=6344 }
pcap { dev = docker0 }
pcap { dev = docker_gwbridge }
docker {}
}
比如配置文件。
- 点赞
- 收藏
- 关注作者
评论(0)