bmon:Linux下一个强大的网络带宽监视和调试工具

bmon 是类 Unix 系统中一个基于文本,简单但非常强大的 网络监视和调试工具,它能抓取网络相关统计信息并把它们以用户友好的格式展现出来。它是一个可靠高效的带宽监视和网速估测工具。

它能使用各种输入模块读取输入,并以各种输出模式显示输出,包括交互式文本用户界面和用于脚本编写的可编程文本输出。

在 Linux 上安装 bmon 带宽监视工具

几乎所有 Linux 发行版的默认仓库中都有 bmon 软件包,可以从默认包管理器中轻松安装,但可用的版本可能比较旧。


  1. $ sudo yum install bmon      [On RHEL/CentOS/Fedora] 
  2. $ sudo dnf install bmon      [On Fedora 22+] 
  3. $ sudo apt-get install bmon  [On Debian/Ubuntu/Mint] 

另外,你也可以从 https://pkgs.org/download/bmon 获取对应你 Linux 发行版的 .rpm 和 .deb 软件包。

如果你想要最新版本(例如版本 4.0)的 bmon,你需要通过下面的命令从源码构建。

在 CentOS、RHEL 和 Fedora 中


  1. $ git clone https://github.com/tgraf/bmon.git 
  2. $ cd bmon 
  3. $ sudo yum install make libconfuse-devel libnl3-devel libnl-route3-devel ncurses-devel 
  4. $ sudo ./autogen.sh 
  5. $ sudo./configure 
  6. $ sudo make 
  7. $ sudo make install 

在 Debian、Ubuntu 和 Linux Mint 中


  1. $ git clone https://github.com/tgraf/bmon.git 
  2. $ cd bmon 
  3. $ sudo apt-get install build-essential make libconfuse-dev libnl-3-dev libnl-route-3-dev libncurses-dev pkg-config dh-autoreconf 
  4. $ sudo ./autogen.sh 
  5. $ sudo ./configure 
  6. $ sudo make 
  7. $ sudo make install 

如何在 Linux 中使用 bmon 带宽监视工具

通过以下命令运行它(初学者说明:RX 表示每秒接收数据,TX 表示每秒发送数据):


  1. $ bmon 

bmon - Linux 带宽监视

按 d 键可以查看更详细的带宽使用情况的图形化统计信息,参考下面的截图。

bmon - Detailed Bandwidth Statistics

按 Shift + ? 可以查看快速指南。再次按 Shift + ? 可以退出(指南)界面。

bmon – 快速指南

通过 Up 和 Down 箭头键可以查看特定网卡的统计信息。但是,要监视一个特定的网卡,你也可以像下面这样作为命令行参数指定。

选项 -p 指定了要显示的网卡,在下面的例子中,我们会监视网卡 enp1s0:


  1. $ bmon -p enp1s0 

bmon – 监控以太网带宽

要查看每秒位数而不是每秒字节数,可以像下面这样使用 -b 选项:


  1. $ bmon -bp enp1s0 

我们也可以像下面这样按秒指定刷新间隔时间:


  1. $ bmon -r 5 -p enp1s0 

如何使用 bmon 的输入模块

bmon 有很多能提供网卡统计数据的输入模块,其中包括:

  • netlink - 使用 Netlink 协议从内核中收集网卡和流量控制统计信息。这是默认的输入模块。
  • proc - 从 /proc/net/dev 文件读取网卡统计信息。它被认为是传统界面,且提供了向后兼容性。它是 Netlink 接口不可用时的备用模块。
  • dummy - 这是用于调试和测试的可编程输入模块。
  • null - 停用数据收集。

要查看关于某个模块的其余信息,可以像下面这样使用 help 选项调用它:


  1. $ bmon -i netlink:help 

下面的命令将启用 proc 输入模块运行 bmon:


  1. $ bmon -i proc -p enp1s0 

如何使用 bmon 输出模块

bmon 也使用输出模块显示或者导出上面输入模块收集的统计数据,输出模块包括:

  • curses - 这是一个交互式的文本用户界面,它提供实时的网上估计以及每个属性的图形化表示。这是默认的输出模块。
  • ascii - 这是用于用户查看的简单可编程文本输出。它能显示网卡列表、详细计数以及图形到控制台。当 curses 库不可用时这是默认的备选输出模块。
  • format - 这是完全脚本化的输出模式,供其它程序使用 - 意味着我们可以在后面的脚本和程序中使用它的输出值进行分析。
  • null - 停用输出。

像下面这样通过 help 选项获取更多的模块信息。


  1. $ bmon -o curses:help 

下面的命令会用 ascii 输出模式运行 bmon:


  1. $ bmon -p enp1s0 -o ascii 

bmon – Ascii 输出模式

我们也可以用 format 输出模式,然后在脚本或者其它程序中使用获取的值:


  1. $ bmon -p enp1s0 -o format 

bmon – Format 输出模式

想要其它的使用信息、选项和事例,可以阅读 bmon 的 man 手册:


  1. $ man bmon 

访问 bmon 的 Github 仓库:https://github.com/tgraf/bmon。

就是这些,在不同场景下尝试 bmon 的多个功能吧,别忘了在下面的评论部分和我们分享你的想法。

译者简介:

Aaron Kili 是一个 Linux 和 F.O.S.S 爱好者、Linux 系统管理员、网络开发人员,现在也是 TecMint 的内容创作者,他喜欢和电脑一起工作,坚信共享知识。

作者:Aaron Kili

来源:51CTO

时间: 2024-09-20 18:16:59

bmon:Linux下一个强大的网络带宽监视和调试工具的相关文章

bmon: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/

linux下一个网卡配置多个IP

  linux下一个网卡如何配置多个IP?linux下边如果没有图形界面了配置网络还真的不是太方便了,呵呵,习惯问题,当然习惯需要改的,最近遇到一个问题需要单网卡配置多个ip地址.文本控制台下面有netconfig,还有ifconfig工具,netconfig图形化的稍微方便些,但是没有文档,配置一个ip还能应付,但是如果配置多个IP就搞不定了,只能使用ifconfig,ifconfig的用法可以使用man ifconfig查看,最常用的给网卡配置ip的命令为 #ifconfig eth0 19

Linux下一个简单的多线程互斥锁的例子

本篇文章是对Linux下一个简单的多线程互斥锁的例子进行了分析介绍,需要的朋友可以参考下   复制代码 代码如下: #include <stdio.h> #include <pthread.h> pthread_mutex_t Device_mutex ; int count=0; void thread_func1() {    while(1)    {        pthread_mutex_lock(&Device_mutex);        printf(&q

lnav:Linux下一个基于控制台的高级日志文件查看器

服务器日志是一个由服务器创建并经常更新.用于抓取特定服务和应用的所有活动信息的日志文件.当你的应用或者服务出现问题时这个文件就会非常有用.从日志文件中你可以获取所有关于该问题的信息,例如基于警告或者错误信息它什么时候开始表现不正常. LNAV(Log file Navigator)是 Linux 下一个基于控制台的高级日志文件查看器.它和其它文件查看器,例如 cat.more.tail 等,完成相同的任务,但有很多普通文件查看器没有的增强功能(尤其是它自带多种颜色和易于阅读的格式). 它能在解压

lnav:Linux 下一个基于控制台的高级日志文件查看器

服务器日志是一个由服务器创建并经常更新.用于抓取特定服务和应用的所有活动信息的日志文件.当你的应用或者服务出现问题时这个文件就会非常有用.从日志文件中你可以获取所有关于该问题的信息,例如基于警告或者错误信息它什么时候开始表现不正常. LNAV(Log file Navigator)是 Linux 下一个基于控制台的高级日志文件查看器.它和其它文件查看器,例如 cat.more.tail 等,完成相同的任务,但有很多普通文件查看器没有的增强功能(尤其是它自带多种颜色和易于阅读的格式). 它能在解压

Linux下一个简单的日志系统的设计及其C代码实现

1.概述 在大型软件系统中,为了监测软件运行状况及排查软件故障,一般都会要求软件程序在运行的过程中产生日志文件.在日志文件中存放程序流程中的一些重要信息,包括:变量名称及其值.消息结构定义.函数返回值及其执行情况.脚本执行及调用情况等.通过阅读日志文件,我们能够较快地跟踪程序流程,并发现程序问题.因此,熟练掌握日志系统的编写方法并快速地阅读日志文件,是对一个软件开发工程师的基本要求. 本文详细地介绍了Linux下一个简单的日志系统的设计方法,并给出了其C代码实现.本文为相关开发项目Linux下软

Taskwarrior:Linux下一个很棒的命令行TODO工具

Taskwarrior 是 Ubuntu/Linux 下一个简单而直接的基于命令行的 TODO 工具.这个开源软件是我曾用过的最简单的基于命令行的工具之一.Taskwarrior 可以帮助你更好地组织你自己,而不用安装笨重的新工具--这有时丧失了 TODO 工具的目的. Taskwarrior:一个基于简单的基于命令行帮助完成任务的TODO工具 Taskwarrior是一个开源.跨平台.基于命令行的 TODO 工具,它帮你在终端中管理你的 to-do 列表.这个工具让你可以轻松地添加任务.展示列

在Linux下建立强大的FTP搜索引擎

Linux正大行其道,不少朋友相信已经用它架设过各种服务,什么Web.FTP.BBS等等等啦,这次,我向大家介绍另外一个在linux下运行的服务器软件----NoseyParker,一个强大的FTP搜索引擎,只要一些简单的步骤,一个强大的搜索引擎举手间就建立起来了,各位且听我慢慢道来. parker是一个FTP服务器搜索引擎,是基于Linux的开放源码软件.主要检索各个FTP服务器上面的文件,然后将目录信息保存在本地的文件中,如果有查询请求,将检索本地的数据,将相关的信息(文件所在的地址)返回给

Linux下一个智能重启Apache服务器的脚本分享_Linux

说明下:我的主机为 Centos 系统,各步操作的说明都写在了注释里面,方便阅读. vi apachemonitor.sh #!/bin/bash URL="http://127.0.0.1/" curlit() { curl –connect-timeout 15 –max-time 20 –head –silent "$URL" | grep '200′ # 上面的15是连接超时时间,若访问localhost的HTTP服务超过15s仍然没有正确响应200头代码,