Bmon是款简单但功能强大的文本型网络监控和调试工具,适用于类Unix系统,能捕获和网络相关的统计数据,是一款可靠有效的实时的带宽监控和速率估算器。支持多种输入模块读取输入,以多种输出模式呈现输出,如交换式curses用户界面及用于脚本目的的可编程文本输出。
Linux中安装bmon带宽监控工具,可以从默认包管理器轻松安装,因为几乎全部Linux发行版默认存储库都有bmon包,只不过版本可能比较久。如果想安装4.0版bmon,在 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
安装好后,运行bmon:
$ bmon
要查看更详细的带宽使用情况图形统计/信息,可以按键d查询。按[Shift + ?]查看下面的快速参考。要退出界面,请再次按[Shift + ?]。
要查看给定接口的统计信息,请使用Up和Down箭头选择它。但是,要仅监视特定接口,需在命令行上将其指定为参数。
-p设置了一个策略,定义要显示哪些网络接口,在下面的示例中,我们将监控enp1s0网络接口:
$ bmon -p enp1s0
使用每秒位数而非每字节数,使用-b:
$ bmon-bp enp1s0
还可以使用bmon输入模块提供有关接口统计数据,如netlink 使用 Netlink 协议从内核收集接口和流量控制统计信息。这是默认的输入模块。proc从/proc/net/dev文件中读取接口统计信息。它被视为传统接口,并提供向后兼容。如果 Netlink 接口不可用,它是一个后备模块。dummy是一个用于调试和测试目的的可编程输入模块。null 禁用数据收集。
查找关于模块的其他信息,可以使用help选项设置调用。如:
$ bmon -i netlink:help
启用proc输入模块的情况下调用bmon:
$ bmon -i proc -p enp1s0
bmon还可以使用输出模块来显示或导出上述输入模块收集到的统计数据,如curses是基于curses的交互式文本用户界面,展示实时速率估计和每个属性的图形表示,是默认输出模式。Ascii是一种简单的可编程文本输出,提供向控制台显示接口列表、详细计数器和图标。在curses不可用时,默认的后备输出模式。Format是一种完全可编写脚本的输出模式,供其他程序使用,在后期使用脚本或程序中也可以使用输出值来分析。null表示这将禁用输出。
以ascii输出模式调用bmon:
$ bmon -p enp1s0 -o ascii
也可以运行格式输出模块,再使用获得值进行脚本编写或其他程序:
$ bmon -p enp1s0 -o format
如果想了解更多使用咨询,还可以阅读bmon的手册页面 :
$ man bmon