Linux 管理员 - CentOS 中的流量监控


有多种第三方工具可以为 CentOS 流量监控添加增强功能。在本教程中,我们将重点关注那些打包在主要 CentOS 发行版存储库和 Fedora EPEL 存储库中的内容。

总会有这样的情况:管理员(出于某种原因)只能使用 CentOS 主存储库中的工具。讨论的大多数实用程序都是设计供具有物理访问权限的管理员使用的。当使用可访问的 Web-GUI 进行流量监控时,使用第三方实用程序(例如 ntop-ng 或 Nagios)是最佳选择(而不是从头开始重新创建此类设施)。

要进一步研究这两种可配置的 Web-GUI 解决方案,以下是一些开始研究的链接。

LAN/WAN场景流量监控

纳吉奥斯

Nagios 已经存在很长时间了,因此它已经过尝试和测试。一度它是免费和开源的,但后来发展成为具有付费许可模式的企业解决方案,以支持企业复杂性的需求。因此,在计划使用 Nagios 进行任何部署之前,请确保开源许可版本能够满足您的需求或在考虑企业预算的情况下计划支出。

大多数开源 Nagios 流量监控软件可以在以下位置找到: https: //www.nagios.org

有关 Nagios 历史的总结,请参阅 Nagios 官方历史页面 - https://www.nagios.org/about/history/

恩托彭

另一个很棒的工具,允许通过网络 GUI 进行带宽和流量监控,称为ntopngntopng类似于 Unix 实用程序 ntop,可以收集整个 LAN 或 WAN 的数据。提供用于管理、配置和图表的 Web GUI,使其易于整个 IT 部门使用。

与 Nagious 一样,ntopng 也有开源版和付费企业版。有关ntopng的更多信息,请访问网站: http: //www.ntop.org/

安装 Fedora EPEL 存储库 ─ Enterprise Linux 的额外软件包

要访问流量监控所需的一些工具,我们需要将 CentOS 系统配置为使用 EPEL 存储库。

EPEL 存储库并非由 CentOS 官方维护或支持。不过,它由一组 Fedora Core 志愿者维护,旨在解决 CentOS、Fedora Core 或 Red Hat Linux Enterprise 中未包含的 Enterprise Linux 专业人员常用的软件包。

警告

请记住,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

我们将在本教程中重点关注的工具是 -

  • 加载
  • 恩托普
  • IFSTST
  • 伊夫托普
  • 统计数据
  • 净猪
  • Wireshark
  • TCP 转储
  • 路由追踪

这些都是 Linux Enterprise 中监控流量的标准。每个工具的使用范围从简单到高级,因此我们仅简要讨论 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

同时负载监控两个接口(lo 和 enp0s5) -

加载