My Journal



Using vnstat for simple traffic accounting

vnStat is a network traffic monitor for Linux that keeps a log of daily network traffic for the selected interface(s). vnStat isn’t a packet sniffer. The traffic information is analyzed from the /proc -filesystem, so vnStat can be used without root permissions. However at least a 2.2.x kernel is required.

Quick install guide (I have set it up on a Centos 5.3 box):
[user@host] $ wget http://tinyurl.com/mx9yrf
[user@host] $ tar zxvf vnstat-1.7.tar.gz
[user@host] $ cd vnstat-1.7
[user@host] $ make
[user@host] $ su
[root@host] # make install

#create databases for NICs
[root@host] # vnstat -u -i eth0
[root@host] # vnstat -u -i eth1
[root@host] # crontab -e

Add the following entry in the crontab:
*/5 * * * * /usr/bin/vnstat -u

Install the frontend:
[root@host] # cd /var/www/htdocs
[root@host] # wget -O http://tinyurl.com/kmn3u8
[root@host] # tar zxvf vnstat_php_frontend-1.4.1.tar.gz
[root@host] # mv vnstat_php_frontend-1.4.1 vnstat

Edit vnstat/config.php and adjust the following lines to your preference:
$iface_list = array('eth0', 'eth1');
$iface_title['eth0'] = 'Extern';
$iface_title['eth1'] = 'Intern';
$vnstat_bin = '/usr/bin/vnstat';

That’s all, assuming apache is properly configured with php enabled, you can access the interface at http://your-domain.com/vnstat/

    • yaseen
      Mar 10, 2010 at 5:37 AM / Reply

      this was very informative, compilation + integration in one Good………..

Leave A Comment