📜  如何在 Linux 中安装和使用 bmon 实时带宽监视器?

📅  最后修改于: 2021-10-28 02:59:58             🧑  作者: Mango

Bmon Stands 是带宽监控工具的开源工具。 bmon是一个强大的基于 CLI 的网络带宽监控和调试工具,适用于 Unix / Linux 系统,用于捕获网络相关的统计信息,并以人性化的方式在命令行上直观地呈现它们。它捕获系统上所有网络接口的流量使用情况。它是一种有效且快速的实时网络带宽监控器和速率估算器。

它具有各种输出方法,例如:

  • HTML 输出
  • ASCII 输出
  • 图形可视化
  • 交互式诅咒用户界面
  • 用于脚本的可编程文本输出

在 Linux 中安装 bmon:

它可以从默认包管理器轻松安装,因为几乎所有 Linux 发行版在默认存储库中都有 bmon 包,但可用版本可能稍旧。

在 RHEL/CentOS/Fedora 上:

$ sudo yum install bmon

在 Fedora 22+ 上:

$ sudo dnf install bmon

在 Debian/Ubuntu/Mint 上:

$ sudo apt-get install bmon

在 openSUSE 系统上:

$ sudo zypper in bmon

在基于 Arch Linux 的系统上:

$ pacman -S bmon

对于最新版本的 bmon(即 4.0 版),您必须针对不同的 Linux 发行版使用以下命令从其源代码构建它:

对于基于 Debian 的系统:

$ 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

对于 CentOS 6,基于 RHEL 的系统:

$ 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
$ bmon

对于 OSX 安装:

$ brew install bmon

通过以下命令提供完整帮助:

$ bmon --help

带宽监视器 (BMON):入门

运行 bmon 以捕获实时带宽使用情况

通过上述针对不同发行版的命令的帮助成功完成 bmon 安装后,只需键入以下命令即可运行 bmon 工具:

$ bmon

接口

要查看 bmon 的快速参考,请按 [Shift + ?] :

bmon 接口参考

bmon 默认只显示接口信息。要加载图形,请输入g, i , d (取决于发行版)用于详细的信息图形可视化。

接口

设置具体界面显示:

为了监控 enp1s0 网络接口,我们将使用标志-p来设置策略,定义显示哪些网络接口,如下所示:

$ bmon -p enp1s0

要以每秒位数而不是每秒字节数查看结果,请使用-b标志,如下所示:

$ bmon -bp enp1s0

要定义每秒间隔,请使用-r标志,如下所示:

$ bmon -r 2 -p enp1s0

使用 bmon 输入模块:

  • Netlink使用 Netlink 协议从内核收集接口和流量控制统计信息。
  • 默认情况下,netlink 是输入模块。
  • 将 netlink 显式设置为输入模块:
$ bmon -i netlink 

接口

  • proc用于从 /proc/net/dev 文件中读取接口统计信息。
  • 它被认为是一个遗留接口
  • 它提供向后兼容,也作为后备模块,以防Netlink接口不可用。
  • 将 proc 显式设置为输入模块:
$ bmon -i proc

接口

  • dummy是用于调试和测试目的的可编程输入模块。
  • 显式设置 dummy 为输入模块:
$ bmon -i dummy

接口

  • Null用于禁用数据收集。
$ bmon -i null
  • 要获取有关特定模块的更多信息,请使用“帮助”标志和输入模式,如下所示:
$ bmon -i dummy:help

使用 bmon 输出模块:

  • 诅咒是一个交互式的基于诅咒的文本用户界面,
  • 它提供实时速率估计
  • 要获得每个属性的图形表示,使用curses 输出模式。
  • 默认情况下,curses 是输出模式。
  • 要获得curses的输出:
$ bmon -o curses

接口

  • ascii是一个简单的、人类可读的和可编程的文本输出。
  • 可用于向控制台显示接口列表、详细计数器和图形。
  • 默认情况下,当curses不可用时,它是回退输出模式。
  • 要以ascii 格式获取输出:
$ bmon -o ascii 

接口

  • 格式是一种完全可编写脚本的输出模式。
  • 供其他程序使用,即我们可以稍后在脚本/程序中使用其输出值进行分析和其他内容。
  • 要以格式模式获取输出:
$ bmon -o format

接口

  • 要使用图形获得交互式诅咒输出:
$ bmon -o curses:ngraph=2

  • 要获取有关特定模块的更多信息,请使用“帮助”标志,输出模式如下:
$ bmon -o ascii:help

  • 要获得帮助或阅读有关 bmon 的更多信息,请使用手册页或“帮助”标志:
$ bmon --help 

或者

$ man bmon 

接口