CentOS/RHEL:安装vnStat网络流量监视器以记录每日流量

时间:2020-01-09 10:34:14  来源:igfitidea点击:

如何在CentOS或RHEL或Fedora Linux操作系统下安装基于控制台的网络流量监视器vnstat软件,以保持每小时,每日和每月的网络流量日志?

vnstat命令是基于控制台的网络流量监视器。
它会记录选定接口的每小时,每日和每月网络流量。
但是,它不是数据包嗅探器。
从proc文件系统分析流量信息。
这样,即使没有root权限也可以使用vnStat。

安装vnstat

首先,在CentOS 6/RHEL 6或RHEL 7/CentOS 7.x上打开EPEL仓库。
键入以下yum命令以安装vnstat:

# yum install vnstat
Loaded plugins: auto-update-debuginfo, product-id, protectbase, rhnplugin,
              : subscription-manager
Updating certificate-based repositories.
Unable to read consumer identity
0 packages excluded due to repository protections
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package vnstat.x86_64 0:1.11-1.el6 will be installed
--> Finished Dependency Resolution
 
Dependencies Resolved
 
================================================================================
Package          Arch             Version                 Repository      Size
================================================================================
Installing:
vnstat           x86_64           1.11-1.el6              epel           102 k
 
Transaction Summary
================================================================================
Install       1 Package(s)
 
Total download size: 102 k
Installed size: 283 k
Is this ok [y/N]: y
Downloading Packages:
vnstat-1.11-1.el6.x86_64.rpm                             | 102 kB     00:00     
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : vnstat-1.11-1.el6.x86_64                                     1/1 
Installed products updated.
  Verifying  : vnstat-1.11-1.el6.x86_64                                     1/1 
 
Installed:
  vnstat.x86_64 0:1.11-1.el6                                                    
 
Complete!

如果使用的是Fedora Linux,请运行以下dnf命令:

# dnf update
# dnf install vnstat

组态

编辑/etc/vnstat.conf,输入:

# vi /etc/sysconfig/vnstat

输出示例:

VNSTAT_OPTIONS="-u -i eth0"

编辑/etc/vnstat.conf,输入:

# vi /etc/vnstat.conf

将默认接口设置为eth1:

Interface "eth1"

该文件是自记录文件,因此请根据您的本地设置来设置选项。
保存并关闭文件。

创建数据库

您需要运行以下命令来创建数据库。
但是,首先使用chsh逗号将vnstat shell设置为/bin/bash

# chsh -s /bin/bash vnstat
# grep --color vnstat /etc/passwd
# id vnstat

这通常是全新安装后使用的第一个命令。
使用runuser命令为eth0接口创建数据库:

# runuser -l vnstat -g vnstat -c '/usr/bin/vnstat -u -i eth0'

要为eth1接口创建数据库,请运行:

# runuser -l vnstat -g vnstat -c '/usr/bin/vnstat -u -i eth1'

确保vnstat用户无法登录,即拒绝vnstat用户登录:

# chsh -s /sbin/nologin vnstat
# grep --color vnstat /etc/passwd
# id vnstat

启动vnstat服务

键入以下chkconfig命令以在引导时打开vnstat服务:

# chkconfig vnstat on

要启动/停止/重启并控制vnstart服务,请运行:

# service vnstat start
# service vnstat stop
# service vnstat restart
# service vnstat status

或基于systemd的发行版,例如CentOS/RHEL版本7.x:

$ sudo systemctl start vnstat
$ sudo systemctl stop vnstat
$ sudo systemctl restart vnstat
$ sudo systemctl status vnstat

如何查看统计信息?

语法为:

vnstat
vnstat -i {interface} 
vnstat -i {interface} -option
vnstat -i {interface} -option1 -option2
$ vnstat

输出示例:

rx      /      tx      /     total    /   estimated
eth1:
       Oct '12     76.68 GiB  /  635.07 GiB  /  711.74 GiB
       Nov '12     31.14 GiB  /  186.98 GiB  /  218.12 GiB  /  352.45 GiB
     yesterday      1.35 GiB  /   11.32 GiB  /   12.67 GiB
         today      1.34 GiB  /    8.82 GiB  /   10.16 GiB  /   19.37 GiB
 
eth0:
       Oct '12    629.87 GiB  /   91.10 GiB  /  720.97 GiB
       Nov '12    181.99 GiB  /   35.38 GiB  /  217.37 GiB  /  351.24 GiB
     yesterday     11.25 GiB  /    1.70 GiB  /   12.95 GiB
         today      8.76 GiB  /    1.60 GiB  /   10.36 GiB  /   19.76 GiB

要查看eth0统计信息,请输入:

$ vnstat -i eth0

要查看eth0的每日统计信息,请输入:

$ vnstat -i eth0 -d

输出示例:

eth0  /  daily
 
         day         rx      |     tx      |    total    |   avg. rate
     ------------------------+-------------+-------------+--------------
      11/17/12     11.09 GiB |    1.60 GiB |   12.70 GiB |    1.23 Mbit/s
      11/18/12     11.25 GiB |    1.70 GiB |   12.95 GiB |    1.26 Mbit/s
      11/19/12      8.81 GiB |    1.61 GiB |   10.42 GiB |    1.92 Mbit/s
     ------------------------+-------------+-------------+--------------
     estimated     16.69 GiB |    3.06 GiB |   19.74 GiB |

要查看每小时的网络统计信息,请输入:

$ vnstat -i eth0 -h

要查看每月的网络统计信息,请输入:

$ vnstat -i eth0 -m

要查看每周的网络统计信息,请输入:

$ vnstat -i eth0 -w

要查看排名前10位的网络,统计信息:

$ vnstat -t
$ vnstat -i eth0 -t

要查看简短的输出:

$ vnstat -i eth0 -s

要计算流量,请输入:

$ vnstat -i eth0 -tr

输出示例:

2038 packets sampled in 5 seconds   
Traffic average for eth0
 
      rx         1.08 Mbit/s           202 packets/s
      tx       273.60 kbit/s           204 packets/s

要实时查看eth0的传输速率,请输入:

$ vnstat -i eth0 -l