给用作公共服务器的vps安装vnstat流量监控

安装教程参照军哥的Linux VPS流量查看/监测工具 — vnStat 原教程有坑,在这里也把我的安装过程说下

1.下载vnstat和vnstat php frontend

wget http://soft.vpser.net/status/vnstat/vnstat-1.9.tar.gz
wget http://soft.vpser.net/status/vnstat/vnstat_php_frontend-1.5.1.tar.gz

2.安装vnstat

tar zxvf vnstat-1.9.tar.gz
cd vnstat-1.9
make && make install

3.把vnstat php frontend放到网站目录

tar zxvf vnstat_php_frontend-1.5.1.tar.gz
mv vnstat_php_frontend-1.5.1 /home/wwwroot/default/vnstat

4.配置vnstat

cat > /var/lib/vnstat/dump.sh<<EOF
vnstat -u -i eth0
vnstat --dumpdb -i eth0 >/var/lib/vnstat/vnstat_dump_eth0
EOF

把这个脚本加入crontab每五分钟执行一次

crontab -e
*/5 * * * * sh /var/lib/vnstat/dump.sh

5.配置vnstat php frontend

cd /home/wwwroot/default/vnstat
vi config.php
#指定显示标题
$iface_title['eth0'] = 'vultr-vps';
#设置以什么图片格式显示图表,可选svg和png,png兼容更好,默认svg,我们改成png。
$graph_format='png';
#指定安装目录,默认如下不用更改
$vnstat_bin = '/usr/bin/vnstat';
#指定数据目录,改为之前我们通过脚本每五分钟dump出来的那个目录。
$data_dir = '/var/lib/vnstat/';
#其它项可不更改。

遇到的坑
vnstat php frontend需要popen函数,lnmp1.0之前的版本没有禁用函数,所以军哥也没在他的教程里指出来,之后的版本都禁用掉了这个函数,导致访问vnstat页会无响应,php-fpm进程会占用100%CPU。
解决办法是解禁popen函数

vi /usr/local/php/etc/php.ini
#把disable_functions里的popen删除掉。
lnmp restart

vnstat
之后访问就正常了,搞定收工~

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据