Linux 管理员 - CentOS 中的流量监控
有几种第三方工具可以为 CentOS 流量监控添加增强功能。在本教程中,我们将重点介绍打包在主要 CentOS 发行版存储库和 Fedora EPEL 存储库中的工具。
总会有管理员(出于某种原因)只剩下主要 CentOS 存储库中的工具的情况。讨论的大多数实用程序都是为具有物理访问外壳的管理员设计的。当使用可访问的 Web-GUI 进行流量监控时,使用第三方实用程序(如 ntop-ng 或 Nagios)是最佳选择(而不是从头开始重新创建此类设施)。
要进一步研究这两种可配置的 Web-GUI 解决方案,以下是一些开始研究的链接。
LAN/WAN 场景的流量监控
Nagios
Nagios 已经存在很长时间了,因此,它既经过了尝试和测试。它曾经是完全免费和开源的,但后来发展成为具有付费许可模式的企业解决方案,以支持企业复杂性的需求。因此,在计划使用 Nagios 进行任何推广之前,请确保开源许可版本能够满足您的需求或计划在考虑企业预算的情况下进行支出。
大多数开源 Nagios 流量监控软件都可以在 − 找到。 https://www.nagios.org
要了解 Nagious 的简要历史,请访问 Nagios 官方历史页面 − https://www.nagios.org/about/history/
ntopng
另一个允许通过 Web GUI 监控带宽和流量的出色工具称为 ntopng。ntopng 类似于 Unix 实用程序 ntop,可以收集整个 LAN 或 WAN 的数据。提供用于管理、配置和图表的 Web-GUI,使整个 IT 部门都可以轻松使用。
与 Nagious 一样,ntopng 既有开源版本,也有付费企业版。有关 ntopng 的更多信息,请访问网站:http://www.ntop.org/
安装 Fedora EPEL 存储库 ─ 企业 Linux 的额外软件包
要访问一些流量监控所需的工具,我们需要配置我们的 CentOS 系统以使用 EPEL 存储库。
EPEL 存储库不由 CentOS 正式维护或支持。但是,它由一组 Fedora Core 志愿者维护,以解决企业 Linux 专业人员常用的软件包,这些软件包未包含在 CentOS、Fedora Core 或 Red Hat Linux Enterprise 中。
警告
请记住,EPEL 存储库不是 CentOS 的官方存储库,可能会破坏具有常见依赖项的生产服务器上的兼容性和功能。考虑到这一点,建议在部署到系统关键框之前,始终在运行与生产相同的服务的非生产服务器上进行测试。
实际上,与 CentOS 的任何其他第三方存储库相比,使用 EHEL 存储库的最大优势在于我们可以确保二进制文件没有被污染。不使用来自不受信任来源的存储库被认为是最佳做法。
综上所述,官方 EPEL 存储库在 CentOS 中非常常见,因此可以通过 YUM 轻松安装。
[root@CentOS rdc]# yum -y install epel-release Loaded plugins: fastestmirror, langpacks Loading mirror speeds from cached hostfile * base: repo1.dal.innoscale.net * extras: repo1.dal.innoscale.net * updates: mirror.hmc.edu Resolving Dependencies --> Running transaction check ---> Package epel-release.noarch 0:7-9 will be installed --> Finished Dependency Resolution Dependencies Resolved --{ condensed output }--
安装 EPEL 存储库后,我们将要更新它。
[root@CentOS rdc]# yum repolist Loaded plugins: fastestmirror, langpacks epel/x86_64/metalink | 11 kB 00:00:00 epel | 4.3 kB 00:00:00 (1/3): epel/x86_64/group_gz | 170 kB 00:00:00 (2/3): epel/x86_64/updateinfo | 753 kB 00:00:01 (3/3): epel/x86_64/primary_db --{ condensed output }--
此时,我们的 EPEL 存储库应该已配置并可供使用。让我们首先安装 nload 以进行接口带宽监控。
本教程中我们将重点介绍的工具是 −
- nload
- ntop
- ifstst
- iftop
- vnstat
- net hogs
- Wireshark
- TCP Dump
- Traceroute
这些都是 Linux Enterprises 中监控流量的标准。每个工具的使用范围从简单到高级,因此我们仅简要讨论 Wireshark 和 TCP Dump 等工具。
安装和使用 nload
在 CentOS 中安装和配置 EPEL 存储库后,我们现在应该能够安装和使用 nload。此实用程序旨在实时绘制每个接口的带宽图表。
与大多数其他基本安装一样,nload 是通过 YUM 包管理器安装的。
[root@CentOS rdc]# yum -y install nload Resolving Dependencies --> Running transaction check ---> Package nload.x86_64 0:0.7.4-4.el7 will be installed --> Finished Dependency Resolution Dependencies Resolved =============================================================================== =============================================================================== Package Arch Version Repository Size =============================================================================== =============================================================================== Installing: nload x86_64 0.7.4-4.el7 epel 70 k Transaction Summary =============================================================================== =============================================================================== Install 1 Package Total download size: 70 k Installed size: 176 k Downloading packages: --{ condensed output }--
现在我们已经安装了 nload,使用它非常简单。
[root@CentOS rdc]# nload enp0s5
nload 将监控指定的接口。在本例中,enp0s5 是一个以太网接口,从终端实时获取网络流量负载和总带宽使用情况。

如图所示,nload 将绘制来自指定接口的传入和传出数据,同时提供带有井号"#"的数据流的物理表示。
所示的屏幕截图是一个简单的网页,其中加载了一些后台守护进程流量。
nload 的常用命令行开关是 −
命令 | 操作 |
---|---|
-a | 时间段 |
-t | 时间更新间隔(毫秒),默认为 500 |
-u | 设置流量测量 h 的显示 |
-U | 设置总进/出流量测量单位(与 -u 选项相同) |
nload 的标准语法是 −
nload [options] <interface>
如果没有指定接口,nload 将自动抓取第一个以太网接口。让我们尝试测量以兆字节为单位的总输入/输出数据量和以兆比特为单位的当前数据传输速度。
[root@CentOS rdc]# nload -U M -u m

当前接口的输入/输出数据量以兆比特/秒为单位,每个"Ttl"行表示以兆字节为单位的总输入/输出数据量。
nload 有助于管理员查看通过接口传输的数据量以及当前有多少数据输入/输出指定接口。
若要在不关闭 nload 的情况下查看其他接口,只需使用左/右箭头键即可。这将循环遍历系统上所有可用的接口。
可以使用 -m 开关 −
同时监控多个接口[root@CentOS rdc]# nload -u K -U M -m lo -m enp0s5
load 同时监控两个接口(lo 和 enp0s5) −
