Vnstat
Vnstat is a command line based network usage monitoring tool. It is capable of showing the current network utilization as well as providing historical data.
Installation
On Red Hat/Fedora based systems, vnstat should be available from the main repository. For older versions of Red Hat such as CentOS 6, it is available from the EPEL repository.
Installing from Source
The following instructions will set up vnstat from source and should work for CentOS/ScientificLinux/RHEL linux distributions.
# wget http://humdi.net/vnstat/vnstat-1.11.tar.gz
# tar -xzf vnstat-1.11.tar.gz
# cd vnstat-1.11
# make
# make install
# vnstat --testkernel
# /bin/cp examples/init.d/centos/vnstat /etc/init.d/vnstat
# chkconfig --levels 234 --add vnstat
# vnstat -u -i eth0
# /etc/init.d/vnstat start
Configuration
Vnstat makes use of a daemon to record network traffic into databases stored in /var/lib/vnstat
as well as a cronjob running at 5 minute intervals defined at /etc/cron.d/vnstat
.
By default, vnstat will only monitor eth0. You will need to adjust the /etc/sysconfig/vnstat
and /etc/vnstat.conf
configuration files accordingly.
You will also need to initialize the interface database by running vnstat -u -i $InterfaceName
, otherwise the daemon and cronjob will not record any data.
Force Update
If the cronjob fails for some reason, you may force an update by running:
# sudo -u /usr/sbin/vnstat.cron --force
Usage
Here are some example uses with vnstat.
Show Live Traffic Statistics
To show the live traffic in bytes (rate unit option -ru 0
)
# vnstat -l -ru 0
(press CTRL-C to stop)
rx: 40.08 MiB/s 28784 p/s tx: 3.20 MiB/s 9378 p/s^C
enp3s0 / traffic statistics
rx | tx
--------------------------------------+------------------
bytes 1.16 GiB | 109.45 MiB
--------------------------------------+------------------
max 49.68 MiB/s | 4.58 MiB/s
average 39.54 MiB/s | 3.65 MiB/s
min 33.13 MiB/s | 1.38 MiB/s
--------------------------------------+------------------
packets 859772 | 289093
--------------------------------------+------------------
max 35996 p/s | 12085 p/s
average 28659 p/s | 9636 p/s
min 24495 p/s | 8353 p/s
--------------------------------------+------------------
time 30 seconds
Show Usage by Month
# vnstat -d
Issues
Not Enough Data
You may get the following error if your interface is not being recorded:
enp3s0: Not enough data available yet.
Ensure that the cronjob and daemon is active and running. Check by running ps -eaf
. There should be at least noe vnstat daemon running.