有几种第三方工具可以为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.eduResolving Dependencies --> Running transaction check ---> Package epel-release.noarch 0:7-9 will be installed --> Finished Dependency ResolutionDependencies 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 nloadResolving Dependencies--> Running transaction check---> Package nload.x86_64 0:0.7.4-4.el7 will be installed--> Finished Dependency ResolutionDependencies Resolved=============================================================================== =============================================================================== Package Arch Version Repository Size =============================================================================== =============================================================================== Installing: nload x86_64 0.7.4-4.el7 epel 70 k Transaction Summary=============================================================================== =============================================================================== Install 1 PackageTotal download size: 70 kInstalled size: 176 kDownloading packages:--{ condensed output }--
现在我们安装了 nload ,使用它非常简单.
[root @ CentOS rdc] #nload enp0s5
nload 将监视指定的接口.在这种情况下,enp0s5是一个以太网接口,实时来自终端,用于网络流量负载和总带宽使用.
如图所示, nload 将绘制来自指定接口的传入和传出数据,同时提供带有哈希标记的数据流的物理表示"#".
所描述的截图是一个加载了一些后台守护程序流量的简单网页.
的常用命令行开关nload 是 :
命令 | 动作 |
---|---|
- a | 时间段 |
- t | 时间更新间隔(以毫秒为单位),默认值为500 |
- u | 设置流量测量的显示h |
- U | 将总输入/输出流量测量单位设置为与-u |
nload的标准语法是 :
nload [options]
如果未指定接口, nload 将自动获取第一个以太网接口.让我们尝试以兆字节为单位测量输入/输出的总数据和以兆位为单位的当前数据传输速度.
[root @ CentOS rdc] #nload - UM -um
以当前接口输入/输出的数据以兆位/秒为单位,每个"Ttl"行(表示输入/输出的总数据)以兆字节为单位显示.
nload 对于管理员来说非常有用,可以查看通过接口传递的数据量以及当前进出指定接口的数据量.
要查看其他界面而不关闭nload,只需使用左/右箭头键即可.这将循环通过系统上所有可用的接口.
可以使用 -m 开关同时监控多个接口 :
[root @ CentOS rdc] #nload -u K -UM -m lo -m enp0s5
加载同时监控两个接口(lo和enp0s5) :