Openvswitch手册(3): sFlow, netFlow
这一节,我们重点看sFlow
采样流sFlow(Sampled Flow)是一种基于报文采样的网络流量监控技术,主要用于对网络流量进行统计分析。
sFlow系统包含一个嵌入在设备中的sFlow Agent和远端的sFlow Collector。其中,sFlow Agent通过sFlow采样获取本设备上的接口统计信息和数据信息,将信息封装成sFlow报文,当sFlow报文缓冲区满或是在sFlow报文缓存时间(缓存时间为1秒)超时后,sFlow Agent会将sFlow报文发送到指定的sFlow Collector。sFlow Collector对sFlow报文进行分析,并显示分析结果。
sFlow agent :
- An sFlow agent is a switch or router through which the traffic to be monitored is flowing.
- This is the device that performs the sampling, and sends the sampled data to one or more sFlow collectors.
sFlow collector
The sFlow collector is a software application, running on a workstation or server, that collects the traffic data from a number of sFlow agents, stores the data, analyses it, and presents the analysis to the network administrator.
sFlow Agent 提供了两种采样方式供用户从不同的角度分析网络流量状况:
Flow 采样:
Flow 采样是sFlow Agent 设备在指定端口上按照特定的采样方向和采样比对报文进行采样分析,用于获取报文数据内容的相关信息,Flow 采样支持获取的采样信息如表所示。该采样方式主要是关注流量的细节,这样就可以监控和分析网络上的流行为。
Counter采样:
Counter采样是sFlow Agent设备周期性的获取接口上的流量统计信息,Counter采样支持获取的采样信息如表所示。与Flow采样相比,Counter采样只关注接口上流量的量,而不关注流量的详细信息。
Flow采样和Counter采样是两种相互独立的采样,两者互相没有影响。但是由于采样的方式不一样,获取的信息维度也不一样,Flow方式更聚焦于具体的流的分析,可以搜集具体业务的相关数据。而Counter方式更聚焦于接口的统计信息,对于整体的网络状态监控比较有意义。
企业两个网络Network1 与Network2 之间通过SwitchA 互发流量。网络维护人员需要监控接口的流量信息、转发情况以及设备的整体运行状况,及时发现异常流量,从而保证网络的正常稳定运行.
在SwitchA 上运行sFlow Agent,通过在GE1/0/2 上开启sFlow 采样功能(包括Flow 采样和Counter 采样),sFlow Agent 能够将采集到的流量统计信息通过sFlow 报文从GE1/0/1 发向sFlow Collector,然后sFlow Collector 根据收到的sFlow 报文中携带的流量信息,将网络流量状况显示出来。从而实现对GE1/0/2 接口流量信息的监控。
我们使用http://www.inmon.com/products/sFlowTrend.php
sFlowTrend
sFlowTrend™ is a free, graphical network and server monitoring tool.
配置如下:
$ sudo ovs-vsctl -- --id=@sflow create sflow agent=vnet8 target=\"16.99.68.93:6343\" header=128 sampling=512 polling=10 -- set bridge helloworld sflow=@sflow
56f701a2-1445-4cbf-964d-37ab8bc5da87
$ sudo ovs-vsctl list sflow
_uuid : 56f701a2-1445-4cbf-964d-37ab8bc5da87
agent : "vnet8"
external_ids : {}
header : 128
polling : 10
sampling : 512
targets : ["16.99.68.93:6343"]
sudo ovs-vsctl remove bridge helloworld sflow 56f701a2-1445-4cbf-964d-37ab8bc5da87
sudo ovs-vsctl -- clear Bridge helloworld sflow
同理我们可以配置NetFlow和IPFIX