李迟 2011-07-07
服务器实际使用,我们需要根据我们的流量来购买合适带宽,毕竟现在的带宽和流量还是很贵的。有什么样的工具可以统计网络流量,并方便的查询呢?今天给大家介绍一款linux服务器网络流量统计工具vnstat。
1、安装配置vnstat
vnstat是一款开源的linux和BSD平台下的控制台的网络流量监控工具,官方网址:http://humdi.net/vnstat/
最新版版是v1.10,下载地址:http://humdi.net/vnstat/vnstat-1.10.tar.gz
安装非常简单,不需要configure,直接make就可以
tar zxf vnstat-1.10.tar.gz
cd vnstat-1.10
make
make install
安装后在/usr/bin/vnstat 执行命令
vnstat的命令参数可以参考:http://humdi.net/vnstat/man/vnstat.html
更新网卡eth0的方法,-u表示update更新,-i表示那个网卡interface
/usr/bin/vnstat -u -i eth0
第一次执行,会报没有数据库”的文章">数据库的错,然后自动创建数据库位于/var/lib/vnstat/目录下
再执行就不会有错了。
我们可以写一个sh,让系统定期更新统计数据就可以了。
vim /var/lib/vnstat/dump.sh
输入如下内容
#!/bin/bash
/usr/bin/vnstat -u -i eth0
/usr/bin/vnstat --dumpdb -i eth0 >/var/lib/vnstat/vnstat_dump_eth0
定时更新数据,每5分钟一次
crontab -e
*/5 * * * * /bin/bash /var/lib/vnstat/dump.sh
现在统计有了,如何方便的远程查看呢?
第二步、配置php的浏览网站
这时候可以使用php写的vnstat网站查看,vastat php frontend,官网地址:http://www.sqweek.com/sqweek/index.php?p=1
下载地址:http://www.sqweek.com/sqweek/files/vnstat_php_frontend-1.5.1.tar.gz
解压之后,修改目录下的config配置文件
找到 $iface_list = array(’eth0′, ’sixxs’);修改为
// $iface_list = array(’eth0′, ’sixxs’);
$iface_list = array(’eth0′,);
$iface_title['eth0'] = ‘Internal’;//这里修改你监控对象的名字
//$iface_title['sixxs'] = ‘SixXS IPv6′;//关闭不需要的监控
$data_dir = './dumps';修改为 $data_dir = '/var/lib/vnstat/'; //修改的eth0的数据
下面设置以什么图片格式显示,可以是svg或png,一般选择png就可以,svg在IE下需要安装插件,Firefox不需要;如果用png在IE、Firefox下均能直接显示。
$graph_format='png';
然后放置的web服务器下,就可以访问了。