如何使用BMON命令监控服务器带宽使用情况
bmon实用程序是一种工具,可在命令行上以非常熟悉的方式提供网络接口利用率信息。bmon实用程序广泛可用,易于安装且易于上手。
在Linux服务器上安装BMON
大多数现代Linux系统在其默认存储库中提供bmon软件包。您可以使用软件包管理器进行安装。
Fedora / CentOS 8 / Red Hat 8安装bmon
您可以使用dnf软件包管理器通过以下命令安装bmon实用程序:
sudo dnf install bmon
注意:对于Red Hat 8和CentOS 8,在安装bmon之前,您需要安装并启用EPEL存储库。
Red Hat 7 / CentOS 7安装bmon
CentOS和Red Hat 7中的基本存储库不提供bmon软件包。但是,您可以启用epel存储库,然后使用yum安装。使用以下命令通过yum安装bmon实用程序:
sudo yum install bmon
Ubuntu / Mint / Debian安装bmon
apt软件包管理器,用于在基于Debian的系统上安装bmon。
sudo apt install bmon
了解BMON界面
使用此实用程序的最简单方法是不带任何选项的情况下调用它。它将自动开始监视活动接口。在下面的动画中,您可以看到在打开所有显示窗格的情况下bmon界面的外观。让我们检查一下每个信息窗格中的内容。

在上面视图中,您有几行数据需要了解。
第一行:这是元素列表,显示了您可以监视的所有接口及其当前RX / TX利用率。您可以使用向上和向下箭头导航到所需的界面。
第二行:接口属性的图形表示。默认情况下,它显示RX(已接收)和TX(已发送)数据包。可以通过点击来打开或关闭图形g。此外,您可以使用向左和向右箭头来切换要显示的属性。
第三行:详细的统计信息窗格。它向您显示系统保留在所选网络接口上的所有详细信息。您可以通过d按键切换详细统计信息。
第四行:这是附加信息窗格,向您显示有关接口配置的更多信息。您可以通过i按键来打开或关闭此功能。
您可以随时点击?来调出快速参考(如下所示)

要退出界面,您可以q按键。
使用BMON选项
实际上,有几个选项和输入/输出模块使bmon成为强大的带宽监视实用程序。在本节中,我们将概述一些最常见的选项。
在启动时使用特定的接口
打开实用程序时,您很可能希望监视特定的界面。您可以使用该-p选项并在命令行上指定它,而不必遍历查找所需的界面。在这里,我们告诉bmon监视eno1接口。
bmon -p eno1
设置用户定义的读取间隔
默认的更新或读取间隔为一秒。您可以将其更改为所需的任何内容。只需通过-r开关,然后按所需的时间间隔(以秒为单位)即可。例如,要使用五秒钟的读取间隔,该命令应如下所示:
bmon -r 5
您可以半间隔或小于一秒的间隔进行十进制表示。例如,使用.5每半秒更新一次接口。
设置用户定义的速率间隔
速率间隔是速率计算中考虑的时间段(以秒为单位)。默认值为30秒。您可以使用以下-R选项来设置自定义费率间隔:
bmon -R 10
显示全部,包括禁用的接口
使用该-a选项将显示所有元素(接口),包括已禁用的元素。
bmon -a
使用BMON输入和输出模块
bmon实用程序带有几个预配置的输入和输出模块。
列出可用的模块
您可以通过调用-i(input)和-o(output)选项以及list参数来列出可用的模块。

模块说明
这是每个模块的简要说明。
输入模块
netlink –提供有关流量控制qdiscs和类的统计信息。
proc –使用proc文件系统提供统计信息。
dummy –生成静态或随机输入以进行测试。
null –不提供任何统计信息/禁用接口收集
输出模块
curses –如上图所示的默认视图
ascii –将高度可配置的图表和列表打印到标准输出。
format –提供格式化ascii输出以进行脚本编写的功能。
null –禁用主要输出
有关更深入的信息,请使用参考资料部分中的链接。
指定输入模块
要选择输入模块,可以发出-i选项,后跟所需的模块名称。例如,使用proc输入模块:
bmon -i proc
指定输出模块
相反,要指定所需的输出模块,可以使用该-o选项。这是使用ascii输出模块的示例。
bmon -o ascii
Bmon是一个非常强大的带宽监视工具。它具有许多超出本教程范围的选项和配置。如果您对bmon的高级用法感兴趣,建议您阅读其Github项目页面上的详细手册页和文档。