CentOS/RHEL:安装vnStat网络流量监视器以记录每日流量
如何在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