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进行监控称为 ntopng . ntopng 类似于Unix实用程序ntop,可以收集整个LAN或WAN的数据.为管理,配置和图表提供web-gui使其易于用于整个IT部门.

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

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

要访问一些所需的流量监控工具,我们需要配置我们的CentOS系统才能使用EPEL资源库.

CEOS并未正式维护或支持EPEL资源库.但是,它由一群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 进行接口带宽监控.

我们将在本教程中关注的工具是 :

  • nload

  • ntop

  • ifstst

  • iftop

  • vnstat

  • net hogs

  • Wireshark

  • TCP转储

  • 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设置流量测量的显示h
-  U将总输入/输出流量测量单位设置为与-u

nload的标准语法是 :

nload [options] <interface>

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

 
 [root @ CentOS rdc] #nload  - UM -um


Speeds在Megabits中

以当前接口输入/输出的数据以兆位/秒为单位,每个"Ttl"行(表示输入/输出的总数据)以兆字节为单位显示.

nload 对于管理员来说非常有用,可以查看通过接口传递的数据量以及当前进出指定接口的数据量.

要查看其他界面而不关闭nload,只需使用左/右箭头键即可.这将循环通过系统上所有可用的接口.

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

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

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

Load