www.hj8828.com 10

【www.hj8828.com】在 Linux/UNIX 终端下使用 nload 实时监控网络流量和带宽使用

如何安装网络流量监控工具vnStat和vnStati?(1)

vnStat是一个基于控制台的网络流量监控工具,是为Linux和BSD设计的。它可以保留某个或多个所选择的网络接口的网络流量日志。为了生成日志,vnStat使用内核提供的信息。换句话说,它不会嗅探网络流量,确保尽量少用系统资源。想在Linux下使用这个软件,你需要至少2.2版本的内核系列。

最新版本的vnStat
1.13已于2015年1月18日发布,它含有下列几个功能特性和修正版。

功能特性

•即使系统重启后,统计数字依然可用;

•可以同时监控多个网络接口;

•多个输出选项;

•可以按小时、天、月或周来排序数据,也可以获得流量最大的10天的信息;

•生成输出的PNG图形;

•设置“月份”,以跟进你可能拥有的不同的计费周期;

•非常轻巧――确实只耗用一小部分的系统资源;

•不管生成的流量有多大,都占用很少的处理器资源;

•你没必要是root用户即可使用它;

•可以动态选择单位(KB和MB等);

www.hj8828.com,•vnStati提供了一些新的选项,比如:

-nl /―无图例(隐藏rx/tx图例)

-altdate-使用替代的日期/时间文本位置

-headertext-定制图像头中的文本

•你可以将图例添加到生成的输出图像;

•为vnStat.cgi的内容定位和图像背景提供了可以定制的选项;

•接口带宽会自动被检测出来;

•使用JSON作为输出。

我们在本文中将介绍如何在RHEL/CentOS
7系统下,安装vnStat和vnStati工具,以监控实时网络流量。

安装vnStat和vnStati网络监控工具

  1. 想在RHEL/CentOS
    7下安装vnStat,你就需要使用下列链接,下载最新版本(1.13):

另外,你还可以使用下列wget命令,下载最新的源打包文件,如下所示。 

# wget

www.hj8828.com 1

下载Vnstat

2.
一旦你下载了文件,使用终端。解压缩存档文件,然后浏览至你解压缩存档文件的那个位置,并使用下列命令来编译。

# tar -xvf vnstat-1.13.tar.gz
# cd vnstat-1.13/
# make

www.hj8828.com 2

编译Vnstat

一旦上述编译过程成功完成,运行:

# make install

www.hj8828.com 3

安装Vnstat


www.hj8828.com 4


)
vnStat是一个基于控制台的网络流量监控工具,是为Linux和BSD设计的。它可以保留某个或多个所选…

如果要在你的系统上监控网络,那么使用命令行工具是非常实用的,并且对于
Linux 用户来说,有着许许多多现成的工具可以使用,如: nethogs, ntopng,
nload, iftop, iptraf, bmon, slurm, tcptrack, cbm, netwatch, collectl,
trafshow, cacti, etherape, ipband, jnettop, netspeed 以及 speedometer。

如果你想在命令行界面监控网络吞吐量,nload
应用程序是个不错的选择。它是一个实时监控网络流量和带宽使用的控制台应用程序,使用两个图表可视化地展示接收和发送的流量,并提供诸如数据交换总量、最小/最大网络带宽使用量等附加信息。

鉴于世上有着许多的 Linux 专家和开发者,显然还存在其他的网络监控工具,但在这篇教程中,我不打算将它们所有包括在内。

安装

上面列出的工具都有着自己的独特之处,但归根结底,它们都做着监控网络流量的工作,只是通过各种不同的方法。例如
nethogs
可以被用来展示每个进程的带宽使用情况,以防你想知道究竟是哪个应用在消耗了你的整个网络资源;
iftop 可以被用来展示每个套接字连接的带宽使用情况,而像 nload
这类的工具可以帮助你得到有关整个带宽的信息。

在 CentOS/RHEL/Red Hat/Fedora Linux 上安装 nload

首先在 CentOS 或者基于 RHEL 的操作系统上启用 EPEL 仓库,然后键入 yum
命令安装 nload:

  1. # yum install nload

1) nethogs

在 Debian 或者 Ubuntu Linux 上安装 nload

键入 apt-get 命令:

  1. $ sudo apt-get install nload

nethogs 是一个免费的工具,当要查找哪个 PID (注:即 process
identifier,进程 ID)
给你的网络流量带来了麻烦时,它是非常方便的。它按每个进程来分组带宽,而不是像大多数的工具那样按照每个协议或每个子网来划分流量。它功能丰富,同时支
持 IPv4 和 IPv6,并且我认为,若你想在你的 Linux
主机上确定哪个程序正消耗着你的全部带宽,它是来做这件事的最佳的程序。

在 FreeBSD 操作系统上安装 nload

通过 port 安装 nload,键入:

  1. # cd /usr/ports/net/nload/ && make
    install clean

或者添加包

  1. # pkg install net/nload

一个 Linux 用户可以使用 nethogs 来显示每个进程的 TCP
下载和上传速率,可以使用命令 nethogs
eth0
 来监控一个指定的设备,上面的 eth0
是那个你想获取信息的设备的名称,你还可以得到有关正在传输的数据的传输速率信息。

在 OpenBSD 操作系统上安装 nload

键入下列命令:

  1. $ sudo pkg_add -i nload

对我而言, nethogs
是非常容易使用的,或许是因为我非常喜欢它,以至于我总是在我的 Ubuntu
12.04 LTS 机器中使用它来监控我的网络带宽。

在类 Unix 操作系统上从源代码安装 nload

首先,使用 wget 或者 curl 命令获取源代码:

  1. $ cd /tmp
  2. $ wget

使用 tar 命令解压缩名为 nload-0.7.4.tar.gz 的 tar 包,键入:

  1. $ tar xvf nload-0.7.4.tar.gz

使用 cd 命令进入 nload 源代码所在目录:

  1. $ cd nload*

然后键入 ./configure 为你的操作系统配置安装包:

  1. $ sh ./configure

或者

  1. $ ./configure

运行 configure 命令需要一点时间。完成后,使用 make 命令编译 nload:

  1. $ make

最后,键入 make install 命令以 root 用户身份安装 nload
应用程序和相关文件:

  1. $ sudo make install

或者

  1. # make install

例如要想使用混杂模式来嗅探,可以像下面展示的命令那样使用选项 -p:

使用

如何使用 nload 显示当前网络使用量呢?

基本语法是:

  1. nload
  2. nload device
  3. nload [options] device1 device2

键入下列命令:

  1. $ nload
  2. $ nload eth0
  3. $ nload em0 em2

会得到输出:

www.hj8828.com 5

图01: 使用 nload 命令

更多详情见请继续阅读下一页的精彩内容:

  • 1
  • 2
  • 下一页

应用程序是个不错的选择。它是一个实时监控网络流量和带宽使用的控制台应用程序,使用两…

nethogs -p wlan0

假如你想更多地了解 nethogs
并深入探索它,那么请毫不犹豫地阅读我们做的关于这个网络带宽监控工具的整个教程。

2) nload

nload
是一个控制台应用,可以被用来实时地监控网络流量和带宽使用情况,它还通过提供两个简单易懂的图表来对流量进行可视化。这个绝妙的网络监控工具还可以在监控过程中切换被监控的设备,而这可以通过按左右箭头来完成。

www.hj8828.com 6

正如你在上面的截图中所看到的那样,由 nload
提供的图表是非常容易理解的。nload
提供了有用的信息,也展示了诸如被传输数据的总量和最小/最大网络速率等信息。

而更酷的是你只需要直接运行 nload
这个工具就行,这个命令是非常的短小且易记的:

nload

我很确信的是:我们关于如何使用 nload 的详细教程将帮助到新的 Linux
用户,甚至可以帮助那些正寻找关于 nload 信息的老手。

3) slurm

slurm 是另一个 Linux 网络负载监控工具,它以一个不错的 ASCII
图来显示结果,它还支持许多按键用以交互,例如 c 用来切换到经典模式, s 切换到分图模式, r 用来重绘屏幕, L用来启用
TX/RX 灯(注:TX,发送流量;RX,接收流量)
m 用来在经典分图模式和大图模式之间进行切换, q 退出 slurm。

www.hj8828.com 7

在网络负载监控工具 slurm
中,还有许多其它的按键可用,你可以很容易地使用下面的命令在 man
手册中学习它们。

man slurm

slurm 在 Ubuntu 和 Debian
的官方软件仓库中可以找到,所以使用这些发行版本的用户可以像下面展示的那样,使用
apt-get 安装命令来轻松地下载它:

sudo apt-get install slurm

我们已经在一个教程中对
slurm 的使用做了介绍,不要忘记和其它使用 Linux 的朋友分享这些知识。

4) iftop

当你想显示连接到网卡上的各个主机的带宽使用情况时,iftop
是一个非常有用的工具。根据 man
手册,iftop 在一个指定的接口或在它可以找到的第一个接口(假如没有任何特殊情况,它应该是一个对外的接口)上监听网络流量,并且展示出一个表格来显示当前的一对主机间的带宽使用情况。

通过在虚拟终端中使用下面的命令,Ubuntu 和 Debian
用户可以在他们的机器中轻易地安装 iftop:

sudo apt-get install iftop

在你的机器上,可以使用下面的命令通过 yum 来安装 iftop:

yum -y install iftop

5) collectl

collectl 可以被用来收集描述当前系统状态的数据,并且它支持如下两种模式:

  • 记录模式

  • 回放模式

记录模式 允许从一个正在运行的系统中读取数据,然后将这些数据要么显示在终端中,要么写入一个或多个文件或一个套接字中。

回放模式

根据 man
手册,在这种模式下,数据从一个或多个由记录模式生成的数据文件中读取。

Ubuntu 和 Debian 用户可以在他们的机器上使用他们默认的包管理器来安装
colletcl。下面的命令将为他们做这个工作:

sudo apt-get install collectl

还可以使用下面的命令来安装 collectl,
因为对于这些发行版本(注:这里指的是用 yum
作为包管理器的发行版本),在它们官方的软件仓库中也含有 collectl:

yum install collectl

6) Netstat

Netstat
是一个用来监控传入和传出的网络数据包统计数据的接口统计数据命令行工具。它会显示
TCP 连接
(包括上传和下行),路由表,及一系列的网络接口(网卡或者SDN接口)和网络协议统计数据。

Ubuntu 和 Debian 用户可以在他们的机器上使用默认的包管理器来安装
netstat。Netsta 软件被包括在 net-tools 软件包中,并可以在 shell
或虚拟终端中运行下面的命令来安装它:

sudo apt-get install net-tools

CentOS, Fedora, RHEL 用户可以在他们的机器上使用默认的包管理器来安装
netstat。Netstat 软件被包括在 net-tools 软件包中,并可以在 shell
或虚拟终端中运行下面的命令来安装它:

yum install net-tools

运行下面的命令使用 Netstat 来轻松地监控网络数据包统计数据:

netstat

www.hj8828.com 8

更多的关于 netstat 的信息,我们可以简单地在 shell 或终端中键入 man
netstat 来了解:

man netstat

www.hj8828.com 9

7) Netload

netload
命令只展示一个关于当前网络荷载和自从程序运行之后传输数据总的字节数目的简要报告,它没有更多的功能。它是
netdiag 软件的一部分。

我们可以在 fedora 中使用 yum 来安装 Netload,因为它在 fedora
的默认软件仓库中。但假如你运行的是 CentOS 或
RHEL,则我们需要安装 rpmforge
软件仓库。

# yum install netdiag

Netload 是默认仓库中 netdiag
的一部分,我们可以轻易地使用下面的命令来利用 apt 包管理器安装 netdiag

$ sudo apt-get install netdiag

为了运行 netload,我们需要确保选择了一个正在工作的网络接口的名称,如
eth0, eh1, wlan0, mon0等,然后在 shell 或虚拟终端中运行下面的命令:

$ netload wlan2

注意: 请将上面的 wlan2
替换为你想使用的网络接口名称,假如你想通过扫描了解你的网络接口名称,可以在一个虚拟终端或
shell 中运行 ip link show 命令。

8) Nagios

Nagios
是一个领先且功能强大的开源监控系统,它使得网络或系统管理员可以在服务器的各种问题影响到服务器的主要事务之前,发现并解决这些问题。
有了 Nagios 系统,管理员便可以在一个单一的窗口中监控远程的 Linux
、Windows
系统、交换机、路由器和打印机等。它会显示出重要的警告并指出在你的网络或服务器中是否出现某些故障,这可以间接地帮助你在问题发生前就着手执行补救行
动。

Nagios 有一个 web 界面,其中有一个图形化的活动监视器。通过浏览网页
或 便可以登录到这个
web 界面。假如你在远程的机器上进行操作,请使用你的 IP 地址来替换
localhost,然后键入用户名和密码,我们便会看到如下图所展示的信息:

www.hj8828.com 10

9) EtherApe

EtherApe 是一个针对 Unix 的图形化网络监控工具,它仿照了 etherman
软件。它支持链路层、IP 和 TCP 等模式,并支持以太网, FDDI, 令牌环, ISDN,
PPP, SLIP 及 WLAN
设备等接口,以及一些封装格式。主机和连接随着流量和协议而改变其尺寸和颜色。它可以过滤要展示的流量,并可从一个文件或运行的网络中读取数据包。

在 CentOS、Fedora、RHEL 等 Linux 发行版本中安装 etherape
是一件容易的事,因为在它们的官方软件仓库中就可以找到
etherape。我们可以像下面展示的命令那样使用 yum 包管理器来安装它: