centos使用vnStat监控VPS流量
听到熊猫大佬的话用来AWS的机器,5刀一个月的,BUT,这玩意儿尽然没法看流量用了好多,所以又问了熊猫大佬,大佬说用vnstat,所以到处去找了一下,发现了一篇帖子,然后我就搬过来啦~
[v_error]注意:昨天我装好之后一直出现500错误,问了大佬之后发现是php扩展的问题,安装完php之后要删掉popen[/v_error]
安装vnStat
首先我们要安装源,然后再来安装vnStat,我个人觉得安装源最方便最简单。
安装源
目前可以直接通过执行命令:
yum install epel-release
直接进行安装,如果此命令无法安装可以尝试以下方法CentOS/RHEL 5 :
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-5.noarch.rpm
CentOS/RHEL 6 :
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
CentOS/RHEL 7 :
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
Ok,源安装完毕。
安装vnStat
centos执行命令:
yum install vnstat -y
Fedora安装命令:
yum install vnstat 或 dnf install vnstat
Debian/Ubuntu安装命令:
apt-get install vnstat
使用yum或apt-get安装vnstat基本上不需要设置,默认基本上就能正常用。vnstat的配置文件在/etc/vnstat.conf 自己可以根据需要修改配置文件。
可以
ifconfig
看看自己的网卡是否是eth0,一般情况下Xen、KVM的VPS都是eth0 有多个IP可能还有eth1等,OpenVZ的是venet0,如果不是eth0,调整配置文件里的 Interface "eth0" 即可。执行一下:
vnstat -u -i eth0
创建上对应网卡的数据库,eth0根据前面的说明自己修改网卡。CentOS的话还需要调整 /etc/sysconfig/vnstat 配置文件里面的网卡名称。设置开机启动并启动daemon自动记录数据
CentOS:
chkconfig --add vnstat && chkconfig vnstat on
Debian/Ubuntu:
update-rc.d vnstat enable
启动vnstat daemon:
/etc/init.d/vnstat start
设置完成,vnstat已经在后台工作了。
vnStat基本命令
vnstat -i eth0 -l #实时流量情况
vnstat -i eth0 -h #按小时查询流量情况
vnstat -i eth0 -d #按天数查询流量情况
vnstat -i eth0 -m #按月数查询流量情况
vnstat -i eth0 -w #按周数查询流量情况
vnstat -i eth0 -t #查询TOP10流量情况
更多命令帮助信息可以 vnstat --help 进行查看。
vnstat PHP图形查看
还是要有GUI查看起来方便点,不然每次都要用命令去查看,好麻烦的。
首先使用lnmp搭建好nginx+php环境,然后再来安装GUI。
yum -y install wget screen
screen -S lnmp
wget -c http://soft.vpser.net/lnmp/lnmp1.4.tar.gz && tar zxf lnmp1.4.tar.gz && cd lnmp1.4 && ./install.sh lnmp #如果不用来做网站,就只需要nginx和php就行了
安装好了nginx+php接着进入正题,安装PHP图形界面。
wget https://file.digac.cc/Linux/vnstat/vnstat_php_frontend-1.5.1.zip
#wget http://www.sqweek.com/sqweek/files/vnstat_php_frontend-1.5.1.tar.gz 这是官方的下载地址
解压文件,改名为vnstat,然后上传到某个网站根目录下,这样就可以以http://你的网站或IP/vnstat 来访问到,就出来页面了。
在vnstat_php_frontend-1.5.1.tar.gz 包里的config.php 里有说明。
最后,编辑 vnstat/config.php 这个文件,将数据目录改为 /var/lib/vnstat/,如果不存在此目录,需要使用mkdir -p /var/lib/vnstat/ 创建此目录。
即:
$data_dir = '/var/lib/vnstat/';
指定显示标题
$iface_title['eth0'] = 'VPSer-Linode';
下面设置以什么图片格式显示,可以是svg或png,一般选择png就可以,svg在IE下需要安装插件,Firefox不需要;如果用png在IE、Firefox下均能直接显示。
$graph_format='png';
指定vnstat的安装目录,如果是安装上述方法安装,直接按下面填写即可。
$vnstat_bin = '/usr/bin/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';
修改语言为英语:$language = 'nl'; 将nl替换为en 保存。
同时修改一下vnstat网站目录下的vnstat.php,将里面的
vnstat_dump_
删除。这一切都搞好后,现在用 www.mydomain.com/vnstat/访问,就会发现有流量统计了,统计的数据更新是5分钟刷新一次.
原文链接
原文链接
请问我在centos下,安装的vnstat,为啥不自动更新流量?总需要 vnstat -u 一下才可以?还必须是root权限下才行。而且有时候就算vnstat -u也不能更新数据,数据库和网卡检查了,是对应的 eth0 。请问还有哪里需要注意的?
回复删除有可能是系统把杀死了进程,我也遇到过几次,设置一个守护可以解决。
回复删除已经解决了,是权限问题。
回复删除