10.4. sFlow配置

10.4.1. sFlow简介

10.4.1.1. 概述

sFlow(Sampled Flow)采样流,是一种基于报文采样的网络流量监控技术,主要用于对网络流量进行统计分析。

企业网络规模较小、组网灵活,容易出现由于组网或者遭受攻击导致的流量业务异常。所以企业用户需要实时监控接口的流量状况,以便及时采取措施来保证企业网络的正常稳定运行。

sFlow关注的是接口的流量情况、转发情况以及设备整体运行状况,适合于网络异常监控以及网络异常定位,为企业用户的日常巡检维护提供了极大的方便。特别适合于企业网用户。

10.4.1.2. 原理介绍

10.4.1.2.1. sFlow系统组成

sFlow系统由sFlow Agent和sFlow Collector组成。sFlow Agent嵌入到交换机中,对接口上的流量进行采样,然后将采样结果发送给sFlow collector。sFlow collector对sFlow报文进行分析,并显示分析结果。

10.4.1.2.2. 采样机制

sFlow Agent将接口上获取的将信息封装成sFlow报文,当sFlow报文缓冲区满或达到sFlow报文老化时间后,将sFlow报文发送到指定的sFlow Collector。

sFlow Agent提供了两种采样方式,供用户从不同的角度分析网络流量状况:

  • Flow采样: 基于数据包的流采样。在指定接口上按照特定的采样方向和采样比对报文进行采样分析。
  • Counter采样:基于时间的统计信息采样。在指定接口上周期性地获取流量统计信息、内存使用信息。

Flow采样和Counter采样是两种相互独立的采样,两者互相没有影响。但是由于采样的方式不一样,获取的信息维度也不一样。Flow方式关注流量的详细信息,更聚焦于具体的流的分析,可以监控和分析网络上的流行为。而Counter采样只关注接口上流量的数量,不关注流量的详细信息。

10.4.1.2.3. 优势

和其他网络流量监控技术相比,sFlow 具有如下优点:

  • 能够在线实时的监控每个接口。
  • 可以针对不同接口设置不同的采样方式及采样参数,采样灵活。
  • 采样时不需要镜像流量,对网络性能影响小。
  • sFlow Agent内嵌在设备中,不需要额外的监测设备和接口,节省成本。

10.4.2. 配置sFlow

在配置sFlow时:

  1. 首先需要指定进行sFlow采样的接口,即使能接口下的sFlow使能,并设置采样比或采样时间等采样参数。
  2. 如果不配置接口下的采样参数,就按照全局的采样参数进行采样。如果配置了接口下的采样参数,就按照接口下的采样参数进行采样。
  3. 必须指定Collector,否则无法进行采样分析。

10.4.2.1. 配置Flow采样

  1. 进入配置模式。

    ConnetOS> configure

  2. 配置全局sFlow的采样比。

    ConnetOS# set protocols sflow sampling-rate { ingress | egress } sampling-rate

    缺省情况下,全局sFlow的采样比为2000。

  3. 配置全局sFlow的采样报文最大长度。

    ConnetOS# set protocols sflow sampling-rate { ingress | egress } header-length

  4. 使能指定接口的sFlow的功能

    ConnetOS# set protocols sflow interface interface-name enable { false | ture }

    sFlow采样时必须指定接口进行采样。

  5. (可选)配置指定接口下的采样比。

    ConnetOS# set protocols sflow interface interface-name sampling-rate  { ingress | egress } sampling-rate

    如果接口下不配置采样比,就按照全局下的配置生效。

  6. (可选)配置指定接口下的采样报文最大长度。

    ConnetOS# set protocols sflow interface interface-name header-length header-length

    如果接口下不配置采样报文最大长度,就按照全局下的配置生效。

  7. 指定Collector的IP地址。

    ConnetOS# set protocols sflow collector address ip-address

  8. 指定Collector的端口号。

    ConnetOS# set protocols sflow collector port port-number

  9. 提交配置

    ConnetOS# commit

10.4.2.2. 配置Counter采样

  1. 进入配置模式。

    ConnetOS> configure

  2. 配置全局Counter采样的时间间隔报文。

    ConnetOS# set protocols sflow polling-interval polling-interval

    如果接口下不配置采样时间间隔,就按照全局下的配置生效。

  3. 使能指定接口的sFlow的功能

    ConnetOS# set protocols sflow interface interface-name enable { false | ture }

    sFlow采样时必须指定接口进行采样。

  4. (可选)配置接口下的Counter采样的时间间隔报文。

    ConnetOS# set protocols sflow interface interface-name polling-interval polling-interval

    如果接口下不配置采样时间间隔,就按照全局下的配置生效。

  5. 指定Collector的IP地址。

    ConnetOS# set protocols sflow collector address ip-address

  6. 指定Collector的端口号。

    ConnetOS# set protocols sflow collector port port-number

  7. 提交配置

    ConnetOS# commit

10.4.2.3. 检查配置结果

# 执行 show sflow collector 命令,查看collector的配置信息:

ConnetOS> show sflow collector
Collector IP Address  UDP Port   Flow Sample Counters   Counter Sample Counters   Datagram Counters
--------------------    --------     --------------------        -----------------------       -----------------
2.2.2.2              6400      0                     4                      4

# 执行 show sflow 命令,查看全局的sFlow配置信息:

ConnetOS> show sflow
Status   Agent IP Address   Ingress Sample Rate   Egress Sample Rate   Polling Interval   Header Length
--------   ----------------     -------------------       ------------------       ----------------     -------------
Enabled  192.168.1.35     1:2000              1:2000              60s             64B

# 执行 show sflow interface 命令,查看接口上的sFlow配置信息:

ConnetOS> show sflow interface
Interface  Status    Ingress Sample Rate  Egress Sample Rate  Polling interval    Header length
---------   ---------   -------------------      -----------------------   ----------------     -------------
te-1/1/1   Enabled  1:2000             1:2000             60s             100B
te-1/1/2   Enabled  1:600              1:2000             0s              64B         64B