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



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

总会有管理员(由于某种原因)只能使用主要CentOS存储库中的工具的情况。大多数讨论的实用程序都是为具有物理访问权限的Shell的管理员设计的。当使用可访问的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进行带宽和流量监控的强大工具称为ntopngntopng类似于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
  • 网络占用
  • Wireshark
  • TCP Dump
  • Traceroute

这些都是Linux企业中监控流量的标准工具。每个工具的使用范围从简单到高级,因此我们只会简要讨论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将绘制指定接口的传入和传出数据,并使用井号“#”提供数据流的物理表示。

所示屏幕截图是加载一个简单的网页,同时还有一些后台守护进程流量。

nload的常用命令行开关为:

命令 操作
-a 时间段
-t 时间更新间隔(毫秒),默认为500
-u 设置流量测量单位的显示
-U 设置总进/出流量测量单位,与-u相同

nload的标准语法为:

nload [options] <interface>

如果未指定接口,nload将自动获取第一个以太网接口。让我们尝试以兆字节为单位测量总进/出数据,并以兆比特为单位测量当前数据传输速度。

[root@CentOS rdc]# nload -U M -u m

Speeds in Megabits

当前接口的进/出数据以兆比特每秒为单位测量,并且每行“Ttl”表示总进/出数据,以兆字节为单位显示。

nload对于管理员查看有多少数据通过接口传递以及当前有多少数据进/出指定接口很有用。

要查看其他接口而不关闭nload,只需使用左右方向键即可。这将循环遍历系统上的所有可用接口。

可以使用-m开关同时监控多个接口:

[root@CentOS rdc]# nload -u K -U M -m lo -m enp0s5

load同时监控两个接口(lo和enp0s5):

Load
广告