bmon - 适用于 Linux 的强大网络带宽监控和调试工具
bmon是一款简单但功能强大的基于文本的网络监控和调试工具,适用于类 Unix 系统,可捕获与网络相关的统计数据并以人性化的格式直观地显示它们。它是一款可靠且有效的实时带宽监控器和速率估算器。
它可以使用各种输入模块读取输入并以各种输出模式呈现输出,包括交互式 curses 用户界面以及用于脚本目的的可编程文本输出。
建议阅读: 20 个用于监控 Linux 性能的命令行工具
在Linux中安装bmon带宽监控工具
几乎所有 Linux 发行版的默认存储库中都有bmon包,并且可以从默认包管理器轻松安装,但可用的版本可能稍微旧一些。
$ sudo yum install bmon [On RHEL/CentOS/Fedora] $ sudo dnf install bmon [On Fedora 22+] $ sudo apt-get install bmon [On Debian/Ubuntu/Mint]
或者,您可以从https://pkgs.org/download/bmon.rpm
获取适用于您的 Linux 发行版的软件包。.deb
如果您想要拥有最新版本的bmon(即4.0版),您需要使用以下命令从源代码构建它。
在 CentOS、RHEL 和 Fedora 上
$ git clone https://github.com/tgraf/bmon.git $ cd bmon $ sudo yum install make libconfuse-devel libnl3-devel libnl-route3-devel ncurses-devel $ sudo ./autogen.sh $ sudo./configure $ sudo make $ sudo make install
在 Debian、Ubuntu 和 Linux Mint 上
$ git clone https://github.com/tgraf/bmon.git $ cd bmon $ sudo apt-get install build-essential make libconfuse-dev libnl-3-dev libnl-route-3-dev libncurses-dev pkg-config dh-autoreconf $ sudo ./autogen.sh $ sudo ./configure $ sudo make $ sudo make install
如何在 Linux 中使用 bmon 带宽监控工具
按如下方式运行(首先:RX表示每秒接收的字节数,TX表示每秒发送的字节数):
$ bmon
要查看更详细的带宽使用情况图形统计/信息,请d
按键并参考下面的屏幕截图。
按[Shift + ?]
查看下面的快速参考。要退出界面,请再次按[Shift + ?]。
要查看给定接口的统计信息,请使用Up
和Down
箭头选择它。但是,要仅监视特定接口,请在命令行上将其指定为参数,如下所示。
建议阅读: 13 种监控 Linux 性能的工具
该标志-p
设置了一个策略,定义要显示哪些网络接口,在下面的示例中,我们将监控enp1s0
网络接口:
$ bmon -p enp1s0
要使用每秒位数而不是每秒字节数,请使用-b
如下标志:
$ bmon -bp enp1s0
我们还可以用标志定义每秒的间隔,-r
如下所示:
$ bmon -r 5 -p enp1s0
如何使用 bmon 输入模块
bmon有许多输入模块提供有关接口的统计数据,其中包括:
- netlink – 使用 Netlink 协议从内核收集接口和流量控制统计信息。这是默认的输入模块。
- proc — 从/proc/net/dev文件中读取接口统计信息。它被视为传统接口,并提供向后兼容。如果 Netlink 接口不可用,它是一个后备模块。
- 假人——这是一个用于调试和测试目的的可编程输入模块。
- null – 禁用数据收集。
要查找有关模块的其他信息,请使用“ help ”选项设置来调用它,如下所示:
$ bmon -i netlink:help
下一个命令将在启用proc输入模块的情况下调用bmon:
$ bmon -i proc -p enp1s0
如何使用 bmon 输出模块
bmon还使用输出模块来显示或导出上述输入模块收集的统计数据,其中包括:
- curses – 这是一个基于 curses 的交互式文本用户界面,它提供实时速率估计和每个属性的图形表示。它是默认的输出模式。
- ascii – 是一种简单的可编程文本输出,供人类使用。它可以向控制台显示接口列表、详细计数器和图表。当 curses 不可用时,它是默认的后备输出模式。
- 格式- 是一种完全可编写脚本的输出模式,它供其他程序使用 - 这意味着我们可以稍后在脚本或程序中使用它的输出值进行分析等。
- null — 这将禁用输出。
要获取有关模块的更多信息,请在运行该模块时设置“ help ”标志,如下所示:
$ bmon -o curses:help
以下命令将以ascii输出模式调用bmon:
$ bmon -p enp1s0 -o ascii
我们也可以运行格式输出模块,然后使用获得的值进行脚本编写或其他程序:
$ bmon -p enp1s0 -o format
要了解更多使用信息、选项和示例,请阅读bmon手册页:
$ man bmon
访问 bmon Github 存储库:https://github.com/tgraf/bmon。
目前就这些了,在不同场景中测试bmon的各种功能,并通过下面的评论部分与我们分享您的想法。