10-sFlow配置
本章节下载: 10-sFlow配置 (221.37 KB)
sFlow是一种基于报文采样的网络流量监控技术,主要用于对网络流量进行统计分析。
如图1-1所示,sFlow系统包含嵌入在设备中的sFlow Agent和远端的sFlow Collector。其中,sFlow Agent通过采样机制获取接口的统计信息和数据包信息,将信息封装成sFlow报文,当存放sFlow报文的缓冲区满或是在sFlow报文发送定时器(定时器时间间隔固定为1秒)超时后,会将sFlow报文封装在UDP报文里发送到指定的sFlow Collector。sFlow Collector会对sFlow报文进行分析,并显示分析结果。一个sFlow Collector可以监控多个sFlow Agent。
sFlow使用以下两种采样机制:
· Flow采样:基于数据包的流采样,用于获取数据包内容的相关信息。
· Counter采样:基于时间的接口统计信息采样,用于获取接口的统计信息。
sFlow可以同时采用上述两种采样机制。
图1-1 sFlow工作机制
与sFlow相关的协议规范有:
· RFC3176:InMon Corporation's sFlow: A Method for Monitoring Traffic in Switched and Routed Networks
· sFlow.org:sFlow Version 5
由于设备会定期检查是否配置了sFlow Agent的IP地址,如果未配置,设备会自动查找一个IPv4地址作为sFlow Agent的IP地址。自动查找的IP地址信息不会保存在配置文件中。所以建议用户手工配置sFlow Agent的IP地址。
在设备上只能配置一个sFlow Agent的IP地址,新配置的IP地址会覆盖已有的配置。
(1) 进入系统视图。
system-view
(2) 配置sFlow Agent的IP地址。
sflow agent { ip ipv4-address | ipv6 ipv6-address }
缺省情况下,未配置 sFlow Agent的IP地址。
(3) 创建并配置sFlow Collector。
sflow collector collector-id { ip ipv4-address | ipv6 ipv6-address } [ port port-number | datagram-size size | time-out seconds | description string ] *
缺省情况下,未配置sFlow Collector的相关信息。
(4) 配置sFlow报文的源IP地址。
sflow source { ip ipv4-address | ipv6 ipv6-address } *
缺省情况下,设备使用路由决定的源IP地址作为sFlow报文的源IP地址。
在接口上配置Flow采样后,sFlow Agent会根据配置的参数对该接口上的报文进行采样,然后将采样报文封装为sFlow报文。
(1) 进入系统视图。
system-view
(2) 进入二层以太网接口视图。
interface interface-type interface-number
(3) (可选)配置Flow采样的采样模式。
sflow sampling-mode random
缺省情况下,Flow采样的采样模式为random。
(4) 开启Flow采样功能并配置Flow采样的报文采样率,即在rate个报文中抽取一个报文进行采样。
sflow sampling-rate rate
缺省情况下,Flow采样功能处于关闭状态。
建议用户配置报文采样率为2的N次方且大于等于8192,例如32768。
(5) (可选)配置在进行报文内容拷贝时,从原始报文的头部开始,允许拷贝的最大字节数。
sflow flow max-header length
缺省情况下,从原始报文的头部开始,允许拷贝的最大字节数为128字节。
建议用户使用缺省配置。
(6) 将Flow采样和sFlow实例、sFlow Collector编号关联。
sflow flow [ instance instance-id ] collector collector-id
缺省情况下,Flow采样未和sFlow实例、sFlow Collector编号建立关联。
在接口上配置Counter采样后,sFlow Agent会周期性提取该接口上的统计信息,然后将统计信息封装为sFlow报文。
(1) 进入系统视图。
system-view
(2) 进入二层以太网接口视图。
interface interface-type interface-number
(3) 开启Counter采样功能并配置Counter采样的时间间隔。
sflow counter interval interval
缺省情况下,Counter采样功能处于关闭状态。
(4) 将Counter采样和sFlow实例、sFlow Collector编号关联。
sflow counter [ instance instance-id ] collector collector-id
缺省情况下,Counter采样未和sFlow实例、sFlow Collector编号建立关联。
在完成上述配置后,在任意视图下执行display命令可以显示配置后sFlow的运行情况,通过查看显示信息验证配置的效果。
表1-1 sFlow显示和维护
操作 |
命令 |
显示sFlow配置信息 |
display sflow |
如图1-2所示,在Device上运行sFlow Agent,并在接口GigabitEthernet1/0/1上开启sFlow功能,包括Flow采样(选择随机模式)和Counter采样,从而对该接口的网络流量进行监控。最后Device将采样结果封装为sFlow报文,通过接口GigabitEthernet1/0/3发送给sFlow Collector,sFlow Collector对sFlow报文进行分析并显示分析结果。
图1-2 配置sFlow组网图
(1) 配置IP地址
请按照图1-2配置各接口的IP地址和子网掩码,具体配置过程略。
(2) 配置sFlow Agent和sFlow Collector信息
# 配置sFlow Agent的IP地址。
<Device> system-view
[Device] sflow agent ip 3.3.3.1
# 配置sFlow Collector信息:sFlow Collector编号为1,IP地址为3.3.3.2,端口号保持缺省值6343,描述信息为netserver。
[Device] sflow collector 1 ip 3.3.3.2 description netserver
(3) 配置Counter采样
# 在GigabitEthernet1/0/1接口上开启Counter采样功能并配置Counter采样的时间间隔为120秒。
[Device] interface gigabitethernet 1/0/1
[Device-GigabitEthernet1/0/1] sflow counter interval 120
# 在GigabitEthernet1/0/1接口上经过Counter采样后,sFlow Agent输出sFlow报文的目的sFlow Collector编号为1。
[Device-GigabitEthernet1/0/1] sflow counter collector 1
(4) 配置Flow采样
# 在GigabitEthernet1/0/1上开启Flow采样功能并配置Flow采样的采样模式为随机采样,Flow采样的报文采样率为32768。
[Device-GigabitEthernet1/0/1] sflow sampling-mode random
[Device-GigabitEthernet1/0/1] sflow sampling-rate 32768
# 在GigabitEthernet1/0/1接口上经过Flow采样后,sFlow Agent输出sFlow报文的目的sFlow Collector编号为1。
[Device-GigabitEthernet1/0/1] sflow flow collector 1
# 显示sFlow的配置和运行信息。
[Device-GigabitEthernet1/0/1] display sflow
sFlow datagram version: 5
Global information:
Agent IP: 3.3.3.1(CLI)
Source address:
Collector information:
ID IP Port Aging Size VPN-instance Description
1 3.3.3.2 6343 N/A 1400 netserver
Port counter sampling information:
Interface Instance CID Interval(s)
GE1/0/1 1 1 120
Port flow sampling information:
Interface Instance FID MaxHLen Rate Mode Status
GE1/0/1 1 1 128 32768 Random Active
从上面的显示信息中可以看到开启sFlow功能的GigabitEthernet1/0/1接口处于“Active”状态,Counter采样的时间间隔为120秒,Flow采样的报文采样率为32768,即在32768个报文中抽取一个报文进行采样,表示sFlow功能正在正常运行。
远端的sFlow Collector无法收到sFlow报文。
可能有以下几个原因:
· 未配置sFlow Collector的IP地址;
· 接口未配置sFlow采样,导致没有接口提供采样数据;
· 配置的sFlow Collector的IP地址和远端的sFlow Collector的IP地址不同,导致远端的sFlow Collector无法收到sFlow报文;
· 设备和sFlow Collector之间的物理连接中断;
· 配置的sFlow报文的长度小于sFlow报文头长度与配置的采样样本长度之和。
(1) 执行display sflow命令,查看当前的sFlow配置信息,检查是否为sFlow特性配置错误;
(2) 检查设备是否已经配置可以和sFlow Collector通信的IP地址;
(3) 检查设备和sFlow Collector之间的物理连接是否正常;
(4) 检查配置的sFlow报文的长度是否大于sFlow报文头长度与配置的采样样本长度(建议使用缺省配置)之和。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!