Open vSwitch的基本操作(详细教程)

本文指导如何部署sFlowCollector,下载并解压sFlow-rt,启动服务,解决MN启动时端口占用问题,配置网卡,特别是将eth0端口设置为sFlowAgent监听,启用OvS的sFlow功能,并通过监控界面查看流量统计。
摘要由CSDN通过智能技术生成

部署sFlow Collector

下载sFlow-rt

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

 解压安装sFlow

tar -zxvf sflow-rt.tar.gz

启动sFlow

cd sflow-rt

./start.sh 

可以看到sFlow已经启动,默认端口为6343,可以通过虚拟机内置的浏览器输入http://localhost:8008打开监控页面也可以通过netstat -anput|grep 6343查看sFlow服务是否启动

部署sFlow Agent

          保持Collector服务运行

mn创建拓扑

一般这个时候会出现mn使用的端口被占用无法启动mn

查看占用端口的进程id,使用命令终止进程:sudo kill 1265(这个id是我自己端口上的id1265)

配置网卡

   查看网卡

网桥s1无IP,通过ens33端口是无法监控到Mininet内部两个主机的ping测试。因此需要把eth0端口IP复制给s1,由s1端口作为sFlow Agent来监听,开启一个新终端

ifconfig ens33 0 up

ovs-vsctl add-port s1 ens33

Ifconfig s1 10.0.0.3 netmask 255.255.255.0

route add default gw 10.0.0.1

route -n

每条命令的含义:

  1. ifconfig ens33 0 up
    • ifconfig 是 Linux 系统中用于配置网络接口的命令。
    • ens33 是宿主机上的一个网络接口,通常是物理网卡的名称。
    • 0 是一个标志,表示这个接口是一个虚拟接口,而不是物理接口。
    • up 表示激活这个接口,使其开始发送和接收数据。 这条命令的目的是激活宿主机上的 ens33 接口,以便它可以用于与 Mininet 内部进行通信。
  2. ovs-vsctl add-port s1 ens33
    • ovs-vsctl 是 Open vSwitch 的命令行工具,用于管理 Open vSwitch 的配置。
    • add-port 命令用于向 Open vSwitch 桥添加端口。
    • s1 是 Mininet 中的一个虚拟交换机。
    • ens33 是宿主机上的 eth0 接口的别名,通常在 Mininet 环境中创建。 这条命令的目的是将宿主机上的 eth0 接口添加到 Mininet 中的 s1 交换机上,这样就可以通过宿主机的物理接口来监控 Mininet 内部的流量。
  3. ifconfig s1 10.0.0.3 netmask 255.255.255.0
    • ifconfig 命令用于配置网络接口。
    • s1 是 Mininet 中的一个虚拟交换机。
    • 10.0.0.3 是为 s1 分配的 IP 地址。
    • netmask 255.255.255.0 是分配给 s1 的子网掩码,它定义了该 IP 地址所在的子网。 这条命令的目的是为 Mininet 中的 s1 交换机分配一个 IP 地址和子网掩码,这样就可以通过这个 IP 地址来访问 s1 交换机。
  4. route add default gw 10.0.0.1
    • route 命令用于设置和显示路由表。
    • add 命令用于添加新的路由条目。
    • default 表示默认路由。
    • gw 是 gateway(网关)的缩写,表示路由器。
    • 10.0.0.1 是设置的默认网关地址。 这条命令的目的是为 s1 交换机设置一个默认网关,这样它就可以通过这个网关来访问外部网络。
  5. route -n
    • route 命令用于设置和显示路由表。
    • -n 是一个选项,表示以数字形式显示路由表,而不是解析主机名。 这条命令的目的是显示当前的路由表,以便你可以确认默认网关是否已经正确设置。

请注意,这些命令是在 Mininet 外部执行的,而不是在 Mininet 内部。这些命令的目标是配置宿主机上的网络接口和路由,以便 Mininet 内部可以通过宿主机的物理接口进行通信和监控。

开启OvSsFlow功能,并配置sFlow Agent,命令如下:

sudo ovs-vsctl -- --id=@sflow create sFlow agent=s1 target=\"10.0.0.3:6343\" header=128  sampling=64 polling=1 -- set bridge s1 sflow=@sflow

sudo ovs-vsctl -- --id=@sflow create sFlow agent=s1 target="10.0.0.3:6343" header=128 sampling=64 polling=1

    • 这行命令创建了一个sFlow配置,指定了以下参数:
      • agent=s1:设置sFlow agent为s1,即Mininet中的交换机。
      • target="10.0.0.3:6343":指定sFlow collector的地址为10.0.0.3:6343。
      • header=128:设置sFlow报文头的大小为128字节。
      • sampling=64:设置采样的数据包之间的间隔为64个数据包。
      • polling=1:设置轮询的时间间隔为1秒。

-- set bridge s1 sflow=@sflow

    • 这行命令将上述sFlow配置应用到名为s1的桥上。

命令执行后,生成了一个UUID 66eabdae-8b9f-4bb9-8267-7ac93818245d,这是sFlow配置的唯一标识。

现在,s1交换机将开始监听流量,并将流量信息发送到配置的sFlow collector。可以通过访问sFlow collectorWeb界面来查看监控结果。

SFLOW查看监控结果

登录前文提到的http://localhost:8008 查看结果

sFlow Agents:表示当前运行的sFlow代理数量。sFlow是一种网络流量监控技术,允许网络管理员收集、分析和报告网络流量数据。

sFlow Bytes:表示当前捕获的sFlow字节数。sFlow通过在网络设备上嵌入 agents 来监控和记录网络流量的详细信息,包括源和目的 IP 地址、端口号、协议类型等。这些字节数反映了 agent 正在监控的网络流量的大小。

sFlow Packets:表示当前捕获的sFlow包数。sFlow 数据包是携带网络流量信息的较小数据单元,每个包都包含了网络流量的基本信息。这个指标显示了 agent 能够监控和处理的网络流量数量。

Apps:表示当前运行的应用程序数量。这可能指的是系统中的所有应用程序或者是特定的服务或进程。

Apps Failed:表示当前应用程序失败的次数。这可能是由于应用程序崩溃、异常退出或其他故障导致的失败。

Scripts:表示当前执行的脚本数量。这些脚本可能是自动化配置工具、监控脚本或其他类型的脚本,用于管理、监控或优化网络性能。

Scripts Failed:表示当前脚本失败的次数。这可能是由于脚本执行过程中出现错误、依赖问题或其他原因导致的失败。

HTTP Connections:表示当前建立的 HTTP 连接数量。HTTP(超文本传输协议)是一种广泛使用的互联网通信协议,用于在客户端和服务器之间传输数据。这个指标可以反映网站的访问量、服务器负载等情况。

HTTP Connections:表示当前活跃的 HTTP 连接数量。这通常是指那些正在进行数据传输的连接,而不是已经完成传输的连接。

Memory:表示当前内存的使用百分比。这个指标反映了系统内存的使用情况,可以帮助用户了解系统的资源利用情况和潜在的内存不足问题。

  • 20
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值