1、安装vnstat

cd /tmp
wget http://humdi.net/vnstat/vnstat-1.11.tar.gz
tar -zxvf vnstat-1.11.tar.gz
cd vnstat-1.11
make
make install

PS:如果装了web服务器可以用make all来编译。包含图片输出支持,用example目录下的vnstat.cgi在web服务器上输出图片。

常用选项:
-q, –query :query database
-h, –hours :show hours
-d, –days :show days
-m, –months :show months
-w, –weeks :show weeks
-t, –top10 :show top10
-s, –short :use short output
-u, –update :update database
-i, –iface :select interface (default: eth0)
-?, –help :short help
-v, –version :show version
-tr, –traffic :calculate traffic
-ru, –rateunit :swap configured rate unit
-l, –live :show transfer rate in real time

2、通过ifconfig查看网卡名称,生成数据库

vnstat -u -i eth0

3、更新数据库
方法一:通过cron定时更新数据库

vim /etc/cron.d/vnstat

输入:

*/1 * * * * root /usr/bin/vnstat -u -i eth0

设置为一分钟更新一次数据库。

方法二:使用vnstat守护进程
执行:

vnstatd -d

官网提供vnstatd的自启动脚本:

http://humdi.net/vnstat/init.d/redhat/vnstat,放到/etc/init.d目录下。

cd /etc/init.d
wget http://humdi.net/vnstat/init.d/redhat/vnstat
chmod +x vnstat
chkconfig –add vnstat
chkconfig vnstat on
service vnstat restart

4、使用
1)直接使用vnstat相关命令查看流量统计
vnstat
vnstat -h
vnstat -d
vnstat -m
vnstat -w
vnstat -t

2)查看实时流量

vnstat -l -i eth0 -ru

Monitoring eth0…    (press CTRL-C to stop)

rx:     62.50 KiB/s   131 p/s          tx:    257.00 KiB/s    77 p/s

注:-ru表示将显示单位在bytes和bits之间切换。如果要直接单位显示bytes,可以编辑/etc/vnstat.conf将RateUnit值设为0。

3)计算一段时间内的流量平均值

vnstat -tr 10 -ru

1265 packets sampled in 10 seconds
Traffic average for eth0

rx         80.60 KiB/s            75 packets/s
tx          5.70 KiB/s            50 packets/s

注:-tr后跟时间,默认值是5秒。

4)查看5秒内网卡eth0的平均流量:默认5s
#vnstat -tr -i eth0
查看3秒内网卡eth0的平均流量:
#vnstat -tr 3 -i eth0

5)网卡eth0一周内的流量:
#vnstat -i eth0 -
方法二:使用vnstat守护进程
执行:

vnstatd -d

官网提供vnstatd的自启动脚本:

http://humdi.net/vnstat/init.d/redhat/vnstat,放到/etc/init.d目录下。

cd /etc/init.d
wget http://humdi.net/vnstat/init.d/redhat/vnstat
chmod +x vnstat
chkconfig –add vnstat
chkconfig vnstat on
service vnstat restart

4、使用
1)直接使用vnstat相关命令查看流量统计
vnstat
vnstat -h
vnstat -d
vnstat -m
vnstat -w
vnstat -t

2)查看实时流量

vnstat -l -i eth0 -ru

Monitoring eth0…    (press CTRL-C to stop)

rx:     62.50 KiB/s   131 p/s          tx:    257.00 KiB/s    77 p/s
注:-ru表示将显示单位在bytes和bits之间切换。如果要直接单位显示bytes,可以编辑/etc/vnstat.conf将RateUnit值设为0。

3)计算一段时间内的流量平均值

vnstat -tr 10 -ru

1265 packets sampled in 10 seconds
Traffic average for eth0

rx         80.60 KiB/s            75 packets/s
tx          5.70 KiB/s            50 packets/s
注:-tr后跟时间,默认值是5秒。