sFlow技术及Collector工具概述

1.1 sFlow概述

sFlow是Sampled Flow的简称,是一种用于监控数据网络上交换机或者路由器流量转发状况的技术。sFlow系统包含一个嵌入在设备中的sFlow Agent和远端的sFlow Collector。分工如下:

sFlow可参考资料清单:

1.2 sFlow agent基本原理

sFlow Agent是sFlow的客户端设备,在一个典型的部署sFlow的网络中,一般是内嵌于网络转发设备中(比如交换机和路由器),负责获取本设备上的接口统计信息和数据信息,将信息封装成sFlow报文并实时发送给sFlow Collector以供分析使用。
sFlow agent 对象类如下:

需要注意的是:Receiver对象将流和计数器样本编码为UDP数据报,以发送到目标主机/端口,并且一个Receiver对应一个目的ip+port(因为收集的监控数据可能发给不同的collector)。——也就是说Receiver是sflow agent的一部分,不是collector的一部分。

1.2.1 sFlow采样报文格式

采用UDP封装,缺省目的端口号为知名端口6343。sFlow报文共有4种报文头格式,分别为Flow sample、Expanded Flow sample、Counter sample、Expanded Counter sample。

sFlow提供了两种采样方式,供用户从不同的角度分析网络流量状况,即Flow采样和Counter采样。
① Flow采样:——涉及到流,比较细的内容,Sampler+Receiver
Flow采样是sFlow Agent设备在指定端口上按照特定的采样方向和采样比对报文进行采样分析,并将流的源接口和目标接口,采样的数据包头,原始数据包长度,数据包总数,与采样的数据包相关联的转发决策以及来自该数据包的其他关键信息组合到了sFlow数据报中,并将分析的结果通过sFlow报文发送到Collector设备的过程。
其采样报文中主要包括:Raw packet(原始报文的全部或一部分)、Ethernet Frame Data(解析报文的Ethernet头信息,将解析数据封装到sFlow报文中发送给Collector)、IPV4 Data(解析头信息、封装)、IPV6 Data(解析头信息、封装)、NAT、URL、Router(路由转发)、MPLS等。具体再搜索细化。此外,Flow采样又分为固定采样和随机采样。差别在于采样间隔。
采样过程:因此,典型的序列(对于接口仅输入采样)为:
1.从硬件接收一个样本。
2.查看输入接口,并使用该编号使用sfl_agent_getSamplerByIfIndex()查找采样器。
3.用包头和转发信息填充SFLFlowSample实例。
4.用sfl_sampler_writeFlowSample()将它提交给采样器。

② Counter采样:——涉及到接口,与流无关,Poller+Receiver
Counter采样是sFlow Agent设备周期性的获取接口上的流量统计(即收集时间采样计数器,ps:对于入/出口流量字节等都是只增不减的数据类型,应当是Counter采样的结果),并将这些统计信息通过sFlow报文发送给Collector设备的过程。主要包括:Generic Interface Counters(通用接口指标,从名称上来看就是SNMP的一些指标)、Ethernet Interface Counters(以太网相关的流量信息)、Processor Information(统计设备CPU占用率、内存等情况)。

③ 总结:
Flow采样和Counter采样是两种相互独立的采样,两者互相没有影响。但是由于采样的方式不一样,获取的信息维度也不一样,Flow方式更聚焦于具体的流的分析,可以搜集具体业务的相关数据。而Counter方式更聚焦于接口的统计信息,对于整体的网络状态监控比较有意义。

1.2.2 sFlow数据报编码

流样本和计数器样本被编码到下一个数据包的缓冲区中。
sFlow数据报由一个报头和一个或多个FLOW或COUNTER样本组成。 Receiver对象了解如何进行XDR编码,并将数据打包到连续的缓冲区中,以便可以在下一个数据报中将其发送出去。
当没有空间容纳下一个样本或延迟1秒后,接收器使用回调发送数据包,然后开始构建下一个样本。

1.2.3 源代码文件

1.3 inMon产品

1.3.1概述

sFlow是一种流行的行业标准技术,用于监视网络流量。
Traffic Sentinel提供实时网络可见性,以管理大型复杂网络。(需要购买)
sFlowTrend是一个免费的图形化 sFlow收集器。许多网络设备都能够生成sFlow,并且可以使用sFlowTrend进行监视。
sFlowTrend-Pro扩展了sFlowTrend的免费版本,增加了历史数据的存储,并能够一次监视多个网络交换机。(需要购买)
sFlow-RT是用于软件定义网络(SDN)堆栈的实时sFlow分析引擎。
Hyper-V Agent是用于Microsoft Hyper-V的功能齐全的sFlow代理,包括对Hyper-V虚拟交换机(在Windows Server 2012上运行)的sFlow监视以及物理和虚拟主机监视。

1.3.2 sFlow Trend

优点:sFlow Trend是一个免费的图形网络和服务器监视工具,它利用网络带宽实时显示顶级用户和应用程序。sFlowTrend还使用sFlow标准的扩展来监视物理和虚拟服务器性能,链接网络,服务器和应用程序性能,并提供网络系统性能的终端视图。
缺点:最多五个交换机或主机的sFlow数据,并将一小时的数据存储在内存中。

1.3.3 sFlow Trend-Pro

优点:sFlow Trend-Pro建立在sFlow Trend之上,对其进行了扩展以允许保留历史流量信息,并同时监视数十个网络交换机。它不会限制可以监视的交换机或主机的数量,并将历史数据存储到磁盘。
缺点:需要购买。

1.3.4 sFlow-rt


sFlow-RT™融合了InMon的异步分析技术(美国专利8838774、9509583、9712443、9722926),为软件定义网络(SDN)、DevOps(包括Grafana)和编排堆栈提供实时可见性,并支持新的性能感知应用程序,如负载平衡、DDoS保护和工作负载分配。

sFlow- rt分析引擎接收来自嵌入在网络设备、主机和应用程序中的sFlow代理的连续遥测数据流,并将其转换为可操作的指标,可通过RESTflow®API访问。RESTflow API使配置定制的度量、检索度量、设置阈值和接收通知变得很容易。
应用程序可以是外部的,用任何支持HTTP/REST调用的语言编写的,也可以是内部的,使用sFlow-RT的嵌入式JavaScript/ECMAScript。
通过将网络、主机和应用程序监视结合在一个集成的分析管道中,sFlow-RT提供了对应用程序、服务器和维持性能所需的网络资源的可见性。

sFlow监控技术及Collector工具概述相关推荐

  1. 安防天下1——视频监控技术概述及相关基础了解

    视频监控技术有三个发展过程,分别是模拟视频监控时代,数字视频监控时代,智能网络视频监控时代, 先过一些术语,并在之后的不断阅读中去加深记忆并理解 IPC 网络摄像机 HD IPC 高清摄像机 DVS ...

  2. 一、视频监控技术概述

    前言 校招结束后,实验室要求一直在搞论文,11月底提交完成.开始按照沈工列的读书清单看看书.海康威视从安防起家,虽然自己搞的是计算机视觉算法,出于对领域业务的熟悉,也需要读读相关的书. 说来也很有意思 ...

  3. sFlow监控OVS使用测试

    OVS下的sFlow 测试 sflow概述 sFlow是Sampled Flow的简称,是一种用于监控数据网络上交换机或者路由器流量转发状况的技术. sFlow系统包含一个嵌入在设备中的sFlow A ...

  4. 流技术安全系统-流量流向监控技术

    流技术基础 1. 流量流向监控技术 1.1 流量流向监控技术  SNMP采集   RMON探针 网络流量检测技术(NetFlow,NetStream,Sflow,Cflowd和IPFIX)  npro ...

  5. 动态函数监控技术在缓冲区溢出检测中的应用

    动态函数监控技术在缓冲区溢出检测中的应用 摘要:本文通过对Window环境下函数劫持方法的分析,并结合调试器技术,提出了动态监测进程函数调用的方法.同时,对缓冲区溢出shellcode进行了分析,用有 ...

  6. 技术知识花园体系概述

    技术知识花园体系概述   程序员(尤其是大厂)区别于传统技工,必须与时俱进.技术成长的过程一方面是广度和深度的积累,另一方面就是抽象和升华,获得更高的视野.更大的格局.使自己能看懂和理解更大格局的需求 ...

  7. 【Active Learning - 10】图像分类技术和主动学习方法概述

    主动学习系列博文: [Active Learning - 00]主动学习重要资源总结.分享(提供源码的论文.一些AL相关的研究者):https://blog.csdn.net/Houchaoqun_X ...

  8. JVM监控之图形化工具

    一.工具概述 使用命令行工具存在以下的局限性: 无法获取方法级别的分析数据,如方法之间的调用关系.各方法的调用次数和调用时间等 要去用户登陆到java应用所在的宿主机上 分析数据通过终端输出,结构不够 ...

  9. 灵雀云首席架构师:Docker容器的监控技术

    前言 在Docker容器技术飞速发展之时,监控容器的效率与健康也变成了至关重要的需求.在Docker资深提供的监控技术逐渐成熟时,来自第三方的监控工具也同时步入了人们的视线. 本文将为大家介绍Dock ...

最新文章

  1. RxJava 在Android中的应用(二)
  2. Python牛刀小试(五)--logging模块
  3. php点击按钮变文字,点击按钮文字变成input框,点击保存变成文字的实现
  4. Oracle count函数原理,oracle count函数
  5. Git的使用的简单介绍
  6. java实现邮件发送, 抄送及多附件发送
  7. Gitlab分支保护
  8. 尚硅谷WebService技术精讲教程
  9. dnf服务器运行库,游戏运行库|3DM游戏必备运行库合集安装包(史上最全) V3.0
  10. 服务器怎么支持smtp,如何搭建邮箱服务器,自建smtp服务器
  11. Alcor(安国)AU6387量产修复(u盘修复)
  12. iOS系统与Windows电脑如何做到无线传输文件?
  13. html编辑器的回车换行问题解决方案
  14. 《电子签名法》相关概念介绍
  15. 网络对抗技术——实验四:恶意代码技术
  16. echarts结合阿里云地图json选择器展示地图
  17. JS 网页设置横竖屏切换
  18. DaoCloud的使用
  19. 2005年乔布斯stanford演讲全文
  20. 解决微信返回码为40113,错误信息errmsg:unsupported file type

热门文章

  1. 详细图解解决 CentOS7 yum出现“Could not retrieve mirrorlist”的问题
  2. VSCode中的git使用篇
  3. 物理中的路程、速度、时间、加速度常用公式
  4. 项目一 认识linux操作系统
  5. 如何安装JDK 15(其他JDK同样适用)
  6. 2022-雨课堂-工程伦理期末考试答案
  7. 【翻译】推荐给极客程序员的五个安卓代码编辑器
  8. PS学习笔记二:跟着李涛学PS第二讲——绘画与修饰工具
  9. 如何实现使用三点新建坐标系
  10. Substance Painter笔记:多显示器且多分辨率显示器时的设置