sFlow-rt 3.0流量监控工具安装部署及简单实验

首先我敢说,现在网上没有谁的文章比我这篇实验记录更加全面。在做这个实验的过程中遇到了许多问题已经解决了,看了许多博客写的内容要不就是工具太落伍了,要不就是条理不清晰,要不就是省略了重要步骤,初学者看了很容易掉坑里,因而我想借这篇文章帮助初学者少走弯路,开心愉快地做完流量监控的小实验。

以下是正文。。。。。。。

简介

sFlow流量监控工具由sFlow Agent和sFlow Collector两部分组成。

sFlow Agent作为客户端,一般内嵌于网络转发设备(如交换机、路由器),通过获取本设备上的接口统计信息和数据信息,将信息封装成sFlow报文,当sFlow报文缓冲区满或是在sFlow报文缓存时间(缓存时间为1秒)超时后,sFlow Agent会将sFlow报文发送到指定的Collector。

sFlow Collector作为远端服务器,负责对sFlow报文分析、汇总、生成流量报告。

sFlow-RT 3.0 安装

点击链接跳转至官方sFlow-rt安装包

安装的步骤很简单,只需要在Linux命令终端按以下顺序执行命令即可完成sFlow-rt的安装

wget http://www.inmon.com/products/sFlow-RT/sflow-rt.tar.gz
tar -xvzf sflow-rt.tar.gz
cd sflow-rt
./start.sh

强烈吐槽一下,用wget的方式下载安装包真的是巨慢无比,可以用迅雷或IDM下载器试试,虽然速度依然慢,但是还是可以接受。

wget下载
在这里插入图片描述
IDM下载
在这里插入图片描述
迅雷下载
在这里插入图片描述

在这里插入图片描述
打开网址http://127.0.0.1:8008
在这里插入图片描述

sFlow-RT 3.0版本具有简化的用户界面,该界面专注于管理sFlow-RT分析软件和已安装的应用程序的性能所需的指标。可以使用一些应用程序来替代前2.3版本中的功能。下面的说明了如何安装sFlow-RT 3.0基本的数据探索应用程序。

安装docker
具体安装教程查看:如何在Ubuntu上安装Docker

安装应用程序

mkdir app
docker run -v $PWD/app:/sflow-rt/app --entrypoint /sflow-rt/get-app.sh sflow/sflow-rt sflow-rt flow-trend
docker run -v $PWD/app:/sflow-rt/app --entrypoint /sflow-rt/get-app.sh sflow/sflow-rt sflow-rt browse-metrics
docker run -v $PWD/app:/sflow-rt/app -p 6343:6343/udp -p 8008:8008 sflow/sflow-rt

可以在端口127.0.0.1:8008上访问产品用户界面在这里插入图片描述参考文档:sFlow-rt 3.0的app安装教程:sFlow-RT 3.0 released

sFlow-RT 3.0部署及简单实验

1.在两台Linux虚拟主机上部署

系统前提:两台Linux虚拟机A和B,至少有一台虚拟机配备好Mininet环境和OpenVSwitch交换机,以下假设只要虚拟机A符合该条件。在虚拟机B中安装并开启sFlow,在浏览器中打开http://localhost:8008查看端口的采样参数。在本实验中虚拟机A的角色是作为sFlow Agent,虚拟机B则为sFlow Collector。

在虚拟机A中输入以下命令开启Mininet虚拟拓扑网络,为简单起见使用默认的拓扑结构。

sudo mn 

在虚拟机A中打开新终端输入以下命令配置sFlow Agent:

sudo su

ovs-vsctl -- --id=@sflow create sflow agent=eth0 target=\"192.168.221.128:6343\" header=128 sampling=10 polling=1 -- set bridge s1 sflow=@sflow

命令参数agent是要监听的网卡,target是sflow collector所在的ip地址和sflow默认端口6343,虚拟机B的ip地址为192.168.221.128,bridge设定需要监听的交换机。

通过以下命令可以查询一下配置好的agent信息和链路状态。

sudo ovs-vsctl list sflow
ip link

在这里插入图片描述
回到虚拟机A的Mininet终端输入以下命令,模拟产生网络流量。

//洪泛
h1 ping -f h2
//大数据包
iperf h1 h2

切换到虚拟机B在Collector Web界面查看监控结果,查看sFlow采样情况。
在这里插入图片描述

2.在一台Linux虚拟机上部署(通过mininet内的两台虚拟主机实现部署)

输入以下命令开启Mininet虚拟拓扑网络,为简单起见使用默认的拓扑结构。

sudo mn 

在这里插入图片描述
网桥s1无IP,通过ens33端口是无法监控到Mininet内部两个主机的ping测试。因此需要把eth0端口IP复制给s1,由s1端口作为sFlow Agent来监听,开启一个新终端

sudo ifconfig ens33 0 up
sudo ovs-vsctl add-port s1 ens33
sudo ifconfig s1 10.0.0.3 netmask 255.255.255.0
sudo route add default gw 10.0.0.1
route -n
sudo ovs-vsctl -- --id=@sflow create sFlow agent=s1 target=\"10.0.0.3:6343\"  header=128  sampling=64 polling=1 -- set bridge s1 sflow=@sflow

待sFlow Agent配置好后,会生成一个UUID。

  • agent:虚拟机对应的某个监控流量的网卡,本实验用s1网卡产生和监控流量
  • target:sFlow Collector的IP,默认端口6343;(同一台主机所以也设置为10.0.0.3,不同主机就是不同的ip)
  • bridge:需要开启sflow的网桥

在Mininet终端输入以下命令,模拟产生网络流量

h1 ping -f h2

登录sFlow Collector Web页面 ip地址为:http://10.0.0.3:8008/agents/html,查看agents中可知已将虚拟机(10.0.0.3)已加到被监控对象中,通过上述操作步骤,也可以监控多个
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

<think>嗯,用户问的是如何启动sFlow-RT 3.0-1702版本,或者解决启动时的问题。首先,我需要回忆一下sFlow-RT的基本启动步骤。根据之前提供的引用内容,用户已经下载并解压了安装包,可能已经完成了安装。接下来是启动部分。 首先,启动命令通常是进入sflow-rt目录,然后运行启动脚本。比如./start.sh或者java -jar命令。不过用户提到的版本是3.0-1702,可能启动方式有些不同,或者需要检查Java环境。因为sFlow-RT是基于Java的,所以需要确认Java版本是否兼容。比如,是否安装了Java 8或更高版本。 然后,用户可能遇到的问题可能包括端口冲突,比如默认的6343sFlow)和8008(HTTP)端口被占用。这时候需要检查端口使用情况,用netstat或者lsof命令。如果端口被占用,可能需要修改配置文件中的端口设置,比如修改http.txt或sflow.properties文件中的端口号。 另外,启动时可能出现的错误日志,用户需要查看日志文件,比如sflow-rt目录下的logs文件夹,或者直接通过控制台输出来排查问题。常见的错误可能包括Java版本不兼容、内存不足,这时候可能需要调整Java的堆内存参数,比如-Xmx参数。 还有,用户可能没有正确配置sFlow代理,比如在Open vSwitch中没有正确指向sFlow-RT的收集器地址和端口。这也是常见的问题,需要确保OVS的sFlow配置正确。 可能还需要考虑防火墙设置,是否阻止了sFlow数据包的传输,或者HTTP端口的访问。需要检查iptables或者firewalld的设置,开放相应端口。 总结一下,解决方案步骤大概是:确认Java环境,检查端口占用,查看日志,调整配置,检查代理配置,防火墙设置。同时,根据引用中的信息,用户已经下载并解压了安装包,所以步骤应该从启动命令开始,然后逐步排查问题。</think>### 如何启动sFlow-RT 3.0-1702及故障排查 #### **启动步骤** 1. **安装依赖** 确保已安装Java 8或更高版本: ```bash java -version # 验证Java版本 ``` 2. **启动服务** 进入解压后的sflow-rt目录执行启动命令: ```bash cd sflow-rt ./start.sh # 或使用 java -Xmx1G -jar sflowrt.jar ``` 若需指定配置文件,可添加参数: ```bash java -Xmx1G -jar sflowrt.jar -Dscript.file=init.js ``` 3. **验证服务状态** 访问 `http://<服务器IP>:8008` 查看仪表盘[^2]。 --- #### **常见启动问题排查** 1. **端口冲突** - **现象**: 启动失败提示端口被占用 - **解决**: ```bash netstat -tuln | grep &#39;8008\|6343&#39; # 检查默认端口(8008/6343) ``` 修改端口配置(编辑 `sflow-rt/conf.d/http.txt`): ```properties http.port=8080 # 调整HTTP端口 ``` 2. **Java环境问题** - **现象**: `UnsupportedClassVersionError` - **解决**: 升级至Java 8+,或调整JVM参数: ```bash JAVA_HOME=/path/to/java8 ./start.sh ``` 3. **内存不足** - **现象**: `OutOfMemoryError` - **解决**: 增加堆内存(修改启动脚本): ```bash java -Xmx4G -jar sflowrt.jar # 分配4GB内存 ``` 4. **sFlow数据未接收** - **现象**: 仪表盘无流量数据 - **解决**: 确认Open vSwitch配置指向正确IP和端口[^1]: ```bash ovs-vsctl -- --id=@sflow create sflow agent=eth0 target=\"<sFlow-RT_IP>:6343\" sampling=10 polling=20 -- set bridge s1 sflow=@sflow ``` --- #### **日志分析** - 查看实时日志: ```bash tail -f sflow-rt/logs/sflowrt.log # 监控启动错误 ``` ---
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值