查看博客目录

告别流量黑盒:开源神器sFlow-RT实现全网流量可视化

今天给大家介绍一款免费开源利器——sFlow-RT,实现网络流量分析可视化!

一、什么是 sFlow-RT?

sFlow-RT 是一个实时的sFlow流量分析引擎。它能够接收来自网络设备(交换机、路由器)和服务器发送的流量样本数据,并进行实时分析,它能够:

  • 📊 实时采集网络设备流量数据
  • ⚡ 提供秒级的流量分析
  • 🌐 支持全网流量可视化
  • 🔌 具备强大的API接口,便于集成

二、环境准备

在开始安装前,确保你的系统满足以下要求:

  • 🖥️ Linux/Unix系统(本文以centos为例
  • ☕ Java 8或更高版本
  • 💾 至少2GB内存
  • 🌐 支持sFlow协议的网络设备(交换机、路由器)

三、安装步骤

1. 安装 Java 环境

# 安装 OpenJDK 11(推荐)
yum install java-11-openjdk-devel -y

# 验证安装
java -version
echo $JAVA_HOME

# 如果 JAVA_HOME 未设置,可以添加到环境变量
echo 'export JAVA_HOME=/usr/lib/jvm/java-11-openjdk' >> ~/.bashrc
source ~/.bashrc

2. 下载并安装sFlow-RT

# 下载 sFlow-RT
wget https://inmon.com/products/sFlow-RT/sflow-rt.tar.gz --no-check-certificate

# 解压安装包
tar -zxvf sflow-rt.tar.gz

3. 下载sFlow-RT应用app

  • browse-flows:浏览和趋势指标(显示当前网络中的活动流量会话,支持按IP地址、协议、端口等条件过滤)
  • browse-metrics:显示sFlow-RT收集的各种性能指标,支持按设备、接口、协议等维度查看指标
# 下载和安装官方应用商店中的 browse-flows 和 browse-metrics 模块
./sflow-rt/get-app.sh sflow-rt browse-flows
./sflow-rt/get-app.sh sflow-rt browse-metrics

4. 启动

# 方式一:前台启动
cd sflow-rt
./start.sh

# 方式二:将启动服务加入 systemd
cd /usr/lib/systemd/system
vim sflow-rt.service

[Unit]
Description=sflow-rt

[Service]
ExecStart=/usr/bin/sh /root/sflow-rt/start.sh
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure

[Install]
WantedBy=multi-user.target

# 启动服务
systemctl start sflow-rt

5、验证安装 访问 http://服务器IP:8008,显示Web界面即表示安装成功。

告别流量黑盒:开源神器sFlow-RT实现全网流量可视化 配图 1

四、网络设备sFlow配置

配置交换机sflow功能采集数据发送至sFlow-RT进行分析

相同厂商不同型号或版本配置也可能存在差异,以下仅供参考:

H3C交换机示例

全局配置:
sflow agent ip 192.168.1.1       # 配置 sFlow Agent 的 IP 地址
sflow source ip 192.168.1.1      # 配置 source 的 IP 地址
sflow collector 1 ip 192.168.100.20 # 配置 sFlow Collector,端口号保持缺省值 6343

接口配置:
interface GigabitEthernet1/0/1
 sflow counter interval 120
 sflow counter collector 1
 sflow sampling-mode random
 sflow sampling-rate 8192
 sflow flow collector 1

华为交换机示例

# CE68 全局配置
sflow agent ip 192.168.1.1
sflow source ip 192.168.1.1
sflow collector 1 ip 192.168.100.20

# 接口配置
interface 10GE1/0/1
 sflow sampling collector 1 rate 8192 inbound outbound
 sflow counter collector 1 interval 120

五、流量实时数据查看

交换机sflow配置完成后,点击Apps可以看到前面安装的两个应用

告别流量黑盒:开源神器sFlow-RT实现全网流量可视化 配图 2

点击browse-flows 可查看详细流量情况,选择需要过滤的条件查看topN

告别流量黑盒:开源神器sFlow-RT实现全网流量可视化 配图 3

最终效果如下:

告别流量黑盒:开源神器sFlow-RT实现全网流量可视化 配图 4

以上介绍的只是sFlow-RT比较简单的功能,因其具备强大的API接口,所以它也能与Prometheus+Grafana 深度集成,自行编写自动化脚本,与其它运维平台等都能集成。