OVS下的sFlow 测试

sflow概述

sFlow是Sampled Flow的简称,是一种用于监控数据网络上交换机或者路由器流量转发状况的技术。

sFlow系统包含一个嵌入在设备中的sFlow Agent和远端的sFlow Collector

  • sFlow Agent 内嵌于网络设备中,在sFlow系统中收集流量统计数据发送到Collector端供分析
  • sFlow Collector 通常由专门服务器充当,在sFlow系统中收集各Agent的采样数据并以图表形式加以汇总

原理什么的 暂时 也不去了解了。什么消息类型格式什么的。。。采用UDP封装,缺省目的端口号为端口6343 也就是sFlow Agent 会将收集的流量统计信息 发往安装sFlow Collector 主机的6343 端口。

sFlow Collector 工具

sFlow Agent 内嵌于网络设备中,不用特别的设置。
sFlow Collector 工具倒是需要自己找。因为要将收集的数据制表制图什么的,当然,厉害的大神 自己根据端口收集的数据 自己制表制图 也是可以的。

总之,按个人理解 sFlow Collector是一个 数据分析工具,,,把从6343端口收到的数据进行分析 然后制成可视化的 图表的工具。

从网上 看到的 几个 工具

  1. SolarWinds sFlow Collector and Analyzer(免费试用)
  2. Paessler PRTG Network Monitor(免费试用)
  3. inMon sFlowTrend
  4. ManageEngine NetFlow Analyzer
  5. ntopng and nProbe
  6. Plixer Scrutinizer

嗯,各有特点。。。本实验当然用免费的 inMon sFlowTrend。可以顺便测试一下同是inMon 产品的 sFlow-RT。

  • inMon sFlowTrend sFlowTrend 是免费的,图形按的网络和服务器监控功能。使用sFlow标准,提供全面用户和应用的网络带宽使用情况。
    sFlowTrend™ is a free, graphical network and server monitoring tool. sFlowTrend makes use of the popular sFlow® standard to generate real-time displays of the top users and applications making use of network bandwidth. sFlowTrend also uses the extensions to the sFlow standard for monitoring physical and virtual server performance, to link network, server, and application performance and provide an end-end view of networked system performance. sFlowTrend accepts sFlow data from at most five switches or hosts and stores one hour of data in memory. sFlowTrend-Pro does not limit the number of switches or hosts that can be monitored and stores historical data to disk.
  • SFlow-RT sFlow流量监控工具,可直观的展现网络中的流量以及其他监控信。
    sFlow-RT™ incorporates InMon’s asynchronous analytics technology (U.S. Patents 8838774, 9509583, 9712443, 9722926), delivering real-time visibility to Software Defined Networking (SDN), DevOps and Orchestration stacks and enabling new classes of performance aware application such as load balancing, DDoS protection, and workload placement.

安装inMon sFlowTrend

安装前 要先安装JDK 环境1.8以上

免费版似乎最多支持 5个 交换机的监听。。。

Windows下安装

安装包
32位 系统
https://inmon.com/products/sFlowTrend/downloads/sFlowTrend-windows-x32-7_0_1.exe
64 位 系统
https://inmon.com/products/sFlowTrend/downloads/sFlowTrend-windows-x64-7_0_1.exe

就是一个软件 正常安装就行。。。
从sFlowTrendV7.0开始,Java客户端已经被删除,现在必须使用Web客户端连接到sFlowTrend服务器。一旦安装了sFlowTrend,将浏览器指向http://localhost:8087或https://localhost:8443(当然,如果远程访问服务器,您可以将localhost替换成对应主机名)

所以 安装完成是 没有 一个启动程序的。。。可以在服务中找到它


防火墙也要设置一下 不然6343端口可能收不到统计信息
Windows防火墙-》高级设置-》入站规则-》新建规则
然后定义-》端口-》udp/6343-》允许连接-》何时应用该规则全选上-》再设置名称(随意)

然后 访问 本机的8087端口或者 设置https后访问8443端口 便可以查看到
第一次 使用 可能会让输入 许可证 号之类。。。选择 free 就是免费版。。。

然后就可以查看了。当前没有 交换机 向其发消息 所以 找不到。稍后再设置 OVS 虚拟交换机 发送sflow 消息。

Linux下安装

为linux下安装似乎准备了不少方式
.sh可执行文件
https://inmon.com/products/sFlowTrend/downloads/sFlowTrend-unix-7_0_1.sh
rpm 安装包
https://inmon.com/products/sFlowTrend/downloads/sFlowTrend-linux-7_0_1.rpm
deb 包
https://inmon.com/products/sFlowTrend/downloads/sFlowTrend-linux-7_0_1.deb

建议.sh 可执行文件安装 还可以控制软件安装位置(一般选择默认) 。。算是交互式安装了。使用rpm 安装包安装后。个人不知道默认的安装包在哪里。。。

下载.sh 文件到 系统。我的是 CentOS7。嫌wget慢就先下载 然后ftp方式传到CentOS系统

wget https://inmon.com/products/sFlowTrend/downloads/sFlowTrend-unix-7_0_1.sh

下载完成后 为该文件赋予可执行权限 。执行该可执行文件需要是root权限用户

su
chmod u+x sFlowTrend-unix-7_0_1.sh
./sFlowTrend-unix-7_0_1.sh

然后就是安装,这个基本上应该都没问题,都选默认的就好。

安装完成

CentOS7 下 也是以一个 守护进程运行(服务)。 服务名sflowtrend-server

systemctl status sflowtrend-server


这个服务启动停止 等和正常 CentOS下服务一致。。注 服务名是sflowtrend-server 不要少了 -server

然后 防火墙 关闭 或者 开放 udp/6343 端口 即可。
由于是在VMWare 的CentOS7虚拟机下安装的。IP是192.168.199.91
访问

http://192.168.199.91:8087

安装inMon SFlow-RT

安装前 要先安装JDK 环境1.8以上

https://sflow-rt.com/download.php

两个安装一个就好。。。同时安装会出出错,因为都要监听6343 端口。。。
个人也不清楚 哪个更好用 更适合作为监控。(毕竟也是初学)

SFlow-RT 的安装更简单。。。解压后 执行可执行文件即可

wget https://inmon.com/products/sFlow-RT/sflow-rt.tar.gz
tar -xvzf sflow-rt.tar.gz
./sflow-rt/start.sh

这个应该没有 windows版。。。。
执行 start.sh 这个可执行文件。。。


是一个前台执行的 应用。。。访问 IP:8008 端口即可查看分析的结果

清楚地看到 Agents 为0 目前没有 交换机发来sflow 消息。。。
真正要查看 状态 是在 Apps 里面。。。 可以把 apps 当作 不同角度的分析工具 而初始安装的 只是一个展示界面。。


安装apps也很简单
./sflow-rt/get-app.sh sflow-rt 加上要安装的应用名即可
https://sflow-rt.com/download.php

如 基本上必备的 flow-trend 和 browse-metrics

./sflow-rt/get-app.sh sflow-rt flow-trend
./sflow-rt/get-app.sh sflow-rt browse-metrics

安装完成再重新执行

./sflow-rt/start.sh

再次访问 IP:8008 查看apps

然后就可以 点击 应用 筛选 查询了。。。
至于API 可自行查看 应该是 使用 网络请求 获取 json 格式的数据。

SFlow-RT 运行时一直占据前台。。。让人有点 不爽。可以 使用nodup 命令使其在后台执行。 其它前台显示命令也适用 会把命令返回结果 放到 执行该命令时的 同级 目录下 的 nohup.out

nohup ./sflow-rt/start.sh &


可以看到 命令在后台执行。且nohuo.out 记录了程序返回内容。
使用命令

 jobs -l

查看 后台运行 任务 及 进程号。。。可通过 进程号 如11500 杀死该进程

kill -9 11500

设置 OVS 的Bridge 设置sFlow

发送给sFlow Collector 工具的 消息 都是一样的。区别只是不同的 工具 从不同的角度分析 生成不同的 可是图表而已。。。

暂定已经安装好了 OVS 设置了网桥等。。。

查看当前 sflow 配置

ovs-vsctl list sflow

为空

进行sflow 配置

COLLECTOR_IP=192.168.199.153
COLLECTOR_PORT=6343
AGENT_IP=ens33
HEADER_BYTES=128
SAMPLING_N=64
POLLING_SECS=10ovs-vsctl -- --id=@sflow create sflow agent=${AGENT_IP} target=\"${COLLECTOR_IP}:${COLLECTOR_PORT}\"  header=${HEADER_BYTES} sampling=${SAMPLING_N} polling=${POLLING_SECS} -- set bridge cloudbr0 sflow=@sflow

前面设置 环境变量 后面设置 sflow。。。
待sFlow Agent配置好后,会生成一个UUID。

(1) agent:虚拟机的网卡。使用该网卡将sflow信息发送到COLLECTOR_IP的COLLECTOR_PORT。如果设置了错误的网卡名,还是会选择一个网卡将信息发送出去。
(2) target:sFlow Collector的IP,默认端口6343;(宿主机Windows安装了sflowtrend所以设置为192.168.199.153,不同主机就是不同的ip)
(3) bridge:需要开启sflow的网桥
一行命令执行就是

ovs-vsctl -- --id=@sflow create sFlow agent=ens33 target=\"192.168.199.153:6343\"  header=128  sampling=64 polling=1 -- set bridge cloudbr0 sflow=@sflow

这时 在 浏览器访问 192.168.199.153:8087 应该可以查看到数据了

这个sflowtrend 显示的是ifindex 想要和设置的端口名 对应 还需自己查看 如ifindex 15 对应 端口 ens33
当然 也许是自己没找到对应的图表。。。

ovs-vsctl list sflow
[root@agent ~]# ovs-vsctl list sflow
_uuid               : 3adf5553-cb3b-443d-9890-d6168333c0e3
agent               : "ens33"
external_ids        : {}
header              : 128
polling             : 1
sampling            : 64
targets             : ["192.168.199.153:6343"]
[root@agent ~]# ovs-vsctl list interface
_uuid               : 543afdf0-ff40-4d27-b54b-08328aabd84f
admin_state         : up
bfd                 : {}
bfd_status          : {}
cfm_fault           : []
cfm_fault_status    : []
cfm_flap_count      : []
cfm_health          : []
cfm_mpid            : []
cfm_remote_mpids    : []
cfm_remote_opstate  : []
duplex              : full
error               : []
external_ids        : {attached-mac="1e:00:11:00:00:42", iface-id="dc24ec05-a0c5-4ef3-88b6-2c598f6ee7e5", iface-status=active, vm-id="62b759d3-a9f8-46e4-9cd6-798302e92018"}
ifindex             : 15
ingress_policing_burst: 0
ingress_policing_rate: 0
lacp_current        : []
link_resets         : 1
link_speed          : 10000000
link_state          : up
lldp                : {}
mac                 : []
mac_in_use          : "fe:00:11:00:00:42"
mtu                 : 1500
name                : "vnet6"
ofport              : 6
ofport_request      : []
options             : {}
other_config        : {}
statistics          : {collisions=0, rx_bytes=0, rx_crc_err=0, rx_dropped=0, rx_errors=0, rx_frame_err=0, rx_over_err=0, rx_packets=0, tx_bytes=11029464, tx_dropped=0, tx_errors=0, tx_packets=38818}
status              : {driver_name=tun, driver_version="1.6", firmware_version=""}
type                : ""

sflow 设置 删除

根据 uuid 删除 sflow

ovs-vsctl remove bridge cloudbr0 sflow uuid

ovs-vsctl remove bridge cloudbr0 sflow 3adf5553-cb3b-443d-9890-d6168333c0e3

使用sFlow测试监控 CloudStack。

使用 sflow-trend

使用sflow-rt

sFlow监控OVS使用测试相关推荐

  1. tomcat监控脚本(监控进程,测试接口,告警动作为发送邮件)

    服务器环境:centos7.2 64位 tomcat8.5.6 tomcat 监控功能共需要两个脚本,如下: initMonitor.sh #!/bin/sh #初始化监控脚本相关变量 export ...

  2. sFlow监控技术及Collector工具概述

    sFlow技术及Collector工具概述 1.1 sFlow概述 sFlow是Sampled Flow的简称,是一种用于监控数据网络上交换机或者路由器流量转发状况的技术.sFlow系统包含一个嵌入在 ...

  3. 软件性能测试(三)监控图表、测试执行、SLA、分析器使用

    1.图标的监控和配置 监控与图表 对运行状况.交易状况进行监控 对系统与网络资源进行监控 对防火墙.网络服务器进行监控 对中间件进行监控 对数据库进行监控 监控图表的常见操作技巧 1.1 设置监控与图 ...

  4. snmp_exporter监控华为交换机测试

    eNSP VMWAE SNMP 因为没有真实的交换机 所以使用eNSP生成一台华为的设备 在vmware创建了一台centos7.9的虚拟机用来安装snmp_exporter R1的配置 [Huawe ...

  5. 一些后端开发术语(设计/开发/通信/故障/监控/服务治理/测试/发布部署/环境/CI/CD)

    工欲善其事,必先利其器:士欲宣其义,必先读其书. 一. 系统开发 1.1 高内聚/低耦合 高内聚指一个软件模块是由相关性很强的代码组成,只负责一项任务,也就是常说的单一责任原则.模块的内聚反映模块内部 ...

  6. eol自动化测试系统监控软件,EOL测试系统总体方案.doc

    EOL测试系统总体方案 EOL测试系统总体方案 一.简述及设计思想 电源系统EOL综合测试是针对目前电池Pack测试过程自动化程度较低,记录分析能力较差的问题,开发的一种全智能化测试平台.将电池充放电 ...

  7. Redis 压力测试 服务监控

    Redis 压力测试 & 服务监控 Redis 压力测试 Redis 安装成功后,会在 /usr/local/bin/目录下生成redis-benchmark压测工具.该工具模拟N个客户端同时 ...

  8. cpu频率监控linux系统,一种用于Linux的CPU压力测试监控方法与流程

    本发明涉及的是服务器领域,尤其是在Linux下对CPU压力测试时,进行CPU监控的方法. 背景技术: 在现有技术中,公知的技术是CPU作为现代服务器的核心组成部分,其稳定性直接影响整个服务器的稳定性. ...

  9. 基于OpenStack的云测试平台

    1.云测试平台技术架构 \\ (一)云测试平台搭建的背景 \\ 笔者目前处于一家国内核心金融机构的测试中心部门,随着公司新业务的开展以及大数据时代的到来,金融软件系统逐步趋向于分布式.高稳定性.高可用 ...

最新文章

  1. 怎么自学《现代控制理论》
  2. springboot之简洁集成mybatis
  3. 这些动物,你认识几个呢
  4. Nature子刊:用机器学习揭露人类基因调控背后的“语法”
  5. 开发可统计单词个数的Android驱动程序(2)
  6. 【每周CV论文推荐】 人脸识别剩下的难题:从遮挡,年龄,姿态,妆造到亲属关系,人脸攻击...
  7. .net ad域登录 form认证_golang|给Gitbook做个认证代理
  8. 2数据库表增加一个字段_14个实用的数据库设计技巧!
  9. 工作198:无法选中的状态一定要绑定在select上面
  10. java打印条形码Code128C
  11. 让软件自己写软件,机器编程未来会取代程序员吗?
  12. 你是码农还是Geek?
  13. JDK、J2EE、J2SE、J2ME的区别(转-2021-04-30)
  14. java的几个设计模式
  15. linux ps1 主机名 ip,Bash Shell PS1: 自定义你的linux提示符十例
  16. 天降公网ip | 你也许已经有公网IP了
  17. 《从零开始的 RPG 游戏制作教程》第十四期:自制技能
  18. 关于学术文献推荐系统的调研报告
  19. 2022深圳国际电子化学与新材料展览会
  20. error怎么开机 fan_电脑开机黑屏提示CPU Fan Error怎么解决?

热门文章

  1. C语言中转义字符的介绍与使用
  2. Värde任命新合伙人和高级董事总经理
  3. 禅道管理员admin密码登录失败,更改密码
  4. OpenCV开发笔记(四十四):红胖子8分钟带你深入了解霍夫圆变换(图文并茂+浅显易懂+程序源码)
  5. jquery.easyui.min.js引导文件
  6. HTML5网页设计期末大作业 ~金福普洱茶叶网页设计成品6页面带视频留言验证(HTML+CSS+JS)~ 学生hbuilder网页设计作业成品源码
  7. 新手蓝牙耳机选购攻略,2021什么牌子蓝牙耳机不容易踩雷
  8. ipad照片文件删除了怎么恢复
  9. DJ4-3 路由器的工作原理
  10. sphinx-for-chinese在windows下安装与使用方法