12年 linux 系统运维工程师,网络架构设计、优化,故障处理。
分类: 系统运维
2011-11-15 16:45:11
流量分析工具
tar xvzf vnstat-1.10.tar.gz
cd vnstat-1.10
make
make install
用vnstat查看网卡流量通过PHP页面显示
首先到站点:
下载:
然后解压:
tar zxf vnstat_php_frontend-1.4.1.tar.gz
接着将解压后的文件拷贝到apache的工程目录下
例:
/usr/local/apache/htdocs
cd vnstat_php_frontend-1.4.1
cp * /usr/local/apache/htdocs
此时 vnstat 的文件信息为:
#ls /usr/local/apache/htdocs
config.php graph.php index.php VeraBd.ttf vnstat.css vnstat_red.css
COPYING graph_svg.php README vera_copyright.txt vnstat.php
这个时候就可以访问页面了。
则可以访问 /vnstat/
就出来页面了。
但此时 没有数据。
因此还要使系统生成数据。
先建立流量数据库:
ifconfig 指令查看需要监控的网卡,假设只有eth0
然后生成数据库:
/usr/local/bin/vnstat -u -i eth0
然后定时更新数据库,通过cron的方式
实际上在安装vnstat时 已经在系统里安装好了vnstat的cron
crontab内容在
/etc/cron.d/vnstat
内容为:
# /etc/cron.d/vnstat: crontab entries for the vnstat package
0-55/5 * * * * root if [ -x /usr/bin/vnstat ] && [ `ls /var/lib/vnstat/ | wc -l` -ge 1 ]; then /usr/bin/vnstat -u
; fi
0-55/5 * * * * root /usr/bin/vnstat –dumpdb -i eth0 >/data/vnstat/vnstat_dump_eth0
第一行为安装时自动指定的.
第二行是为了更新eth0的数据后,dump出来一个文件,给 php访问接口访问.
这里dump出来的vnstat_dump_eth0 文件名是有规定的。
在vnstat_php_frontend-1.4.1.tar.gz 包里的config.php 里有说明。
最后一步: 编辑 /usr/local/apache/htdocs/config.php 这个文件,将数据目录改为 /data/vnstat
即:
$data_dir = ‘/data/vnstat’;
将要监控的网卡指定为1个:
// list of network interfaces monitored by vnStat
//$iface_list = array(’eth0′, ‘eth1′, ’sixxs’);
$iface_list = array(’eth0′,);
// will be displayed instead
//
$iface_title['eth0'] = ‘Internal’;
//$iface_title['eth1'] = ‘Internet’;
//$iface_title['sixxs'] = ‘SixXS IPv6′;
这一切都搞好后, 看上去很烦,实际上只是3步而已。 耐心点,你很快就搞定了。
OK, 搞定了,你现在用 访问,就会发现有流量统计了。
统计的数据更新是5分钟刷新一次.