vnstat setup guide/tutorial

yum -y install vnstat
chown nobody.nobody -R /var/lib/vnstat/

#replace venet0 below with your desired interface
sudo -u nobody vnstat -u -i venet0

#edit: vi /etc/sysconfig/vnstat
#VNSTAT_OPTIONS="-i venet0"
# only use the sed below if you are using venet0 instead of eth0 or replace accordingly
sed -i 's/eth0/venet0/g' /etc/sysconfig/vnstat


[root@monitor]# yum install vnstat
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * addons:
 * base:
 * centosplus:
 * contrib:
 * extras:
 * rpmforge:
 * updates:
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package vnstat.i386 0:1.10-1.el5.rf set to be updated
--> Finished Dependency Resolution

Dependencies Resolved

 Package                            Arch                             Version                                      Repository                            Size
 vnstat                             i386                             1.10-1.el5.rf                                rpmforge                              65 k

Transaction Summary
Install       1 Package(s)
Upgrade       0 Package(s)

Total download size: 65 k
Is this ok [y/N]: y
Downloading Packages:
vnstat-1.10-1.el5.rf.i386.rpm                                                                                                         |  65 kB     00:00    
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing     : vnstat                                                                                                                                1/1

  vnstat.i386 0:1.10-1.el5.rf                                                                                                                               

[root@monitor]# vnstat
vnstat       vnstat.cron 
[root@monitor]# vnstat
No database found, nothing to do. Use --help for help.

A new database can be created with the following command:
    vnstat -u -i eth0

Replace 'eth0' with the interface that should be monitored.

The following interfaces are currently available:
    lo venet0
[root@monitor]# vnstat -u -i venet0
Error: Unable to read database "/var/lib/vnstat/venet0".
Info: -> A new database has been created.


                      rx      /      tx      /     total    /   estimated
 ppp0: Not enough data available yet.

Let's check the cron log:
cat /var/log/cron

OK so it is executing the vnstat.cron:
crond[10880]: (nobody) CMD (/usr/sbin/vnstat.cron)

Let's execute the cron script as nobody:
sudo -u nobody /usr/sbin/vnstat.cron
Error: Unable to write database "/var/lib/vnstat/eth0".

Let's check the permissions on that path:
# ls -al /var/lib/vnstat
total 20
drwxr-xr-x  2 nobody nobody 4096 Apr  5 10:40 .
drwxr-xr-x 24 root   root   4096 Apr  5 10:38 ..
-rw-r--r--  1 root   root   2272 Apr  5 10:38 eth0
-rw-r--r--  1 nobody nobody 2272 Apr  5 10:53 .eth0
-rw-r--r--  1 root   root   2272 Apr  5 10:38 venet0

chown nobody.nobody -R /var/lib/vnstat/.*

sudo -u nobody /usr/sbin/vnstat.cron
[root@ vnstat]# vnstat

                      rx      /      tx      /     total    /   estimated
       Apr '11     19.70 MiB  /  424.90 MiB  /  444.60 MiB  /    2.91 GiB
         today     19.70 MiB  /  424.90 MiB  /  444.60 MiB  /     967 MiB

The problem is that whenever you add an interface with vnstat as root is that it creates it as root in /var/lib/vnstat
The other solution (not preferable I admit) is to edit the cron script to run as root:

*/5 * * * * nobody /usr/sbin/vnstat.cron


*/5 * * * * /usr/sbin/vnstat.cron


vnstat, tutorialyum, install, chown, var, lib, venet, desired, interface, sudo, edit, vi, etc, sysconfig, vnstat_options, quot, sed, eth, accordingly, yum, plugins, fastestmirror, loading, speeds, cached, hostfile, addons, centos, netelligent, ca, centosplus, iweb, contrib, extras, rpmforge, apt, sw, updates, resolving, dependencies, transaction, rf, updated, dependency, resolution, resolved, repository, installing, summary, upgrade, download, ok, downloading, packages, rpm, kb, rpm_check_debug, succeeded, installed, cron, database, monitored, interfaces, currently, unable, info, rx, tx, estimated, ppp, executing, crond, cmd, usr, sbin, execute, permissions, ls, drwxr, xr, apr, rw, mib, gib, creates, preferable,

Latest Articles

  • virt-resize: error: libguestfs error: could not create appliance through libvirt.
  • Asterisk Does Not Retry When Authentication Fails
  • Linux Debian Ubuntu How To Install PEPPER Faster and Latest Adobe Flash Player in Firefox
  • How To Speed Up Linux Ubuntu and Debian Based Computers By Improving CPU Performance and Changing the CPU Governor
  • Convert data or file to base64 on a single line
  • Linux Mint Ubuntu Debian radeon slow 2D performance issues radeon_dp_aux_transfer_native: 158 callbacks suppressed
  • mdadm: super0.90 cannot open /dev/sdb1: Device or resource busy mdadm: /dev/sdb1 is not suitable for this array.
  • How To Install NextCloud on Centos 7 and Centos 8
  • AH01630: client denied by server configuration:
  • ERROR: Could not find a version that satisfies the requirement PIL (from versions: none) ERROR: No matching distribution found for PIL
  • ZTE Camera Cannot Work unable to connect to camera. Camera has been disabled becaue of security policies or is being used by other apps
  • QEMU KVM how to boot off a physical CD/DVD/BDROM Drive
  • How To Install OpenProject on Centos 7 Step-by-Step Guide
  • Ubuntu Debian Linux Cannot Install Wine Solution - wine1.6 : Depends: wine1.6-i386 (= 1:1.6.2-0ubuntu14.2) but it is not installable wine1.4 : Depends: wine1.6 but it is not going to be installed
  • How To Install python 3.4 3.5 and up on Linux with wine - Working Solution
  • using Xvfb on virtual remote ssh server to have X graphical programs work
  • ssh Received disconnect from port 22:2: Too many authentication failures
  • named bind errors - DNSKEY: unable to find a DNSKEY which verifies the DNSKEY RRset and also matches a trusted key for '.'
  • OpenVZ vs LXC DIR mode poor security in LXC
  • httpd: Syntax error on line 221 of /etc/httpd/conf/httpd.conf: Syntax error on line 6 of /etc/httpd/conf.d/php.conf: Cannot load modules/ into server: /lib64/ symbol __h_errno, version GLIBC_PRIVATE not defined in file libc.s