nginx-RRD stats - Nginx图形化监控工具
昨天有位朋友在Licess's Blog上留言,希望我能够在lnmp中加入nginx-rrd这个工具。nginx-rrd是nginx官方推荐的一款Nginx监控工具,利用nginx-rrd可以很方便的生成图表,便于我们查看。
1、运行环境
Debian/Ubuntu:
在安装前需要安装好rrdtool这个画图工具和相应的perl模块,可以先运行:
apt-get install perl rrdtool libhtml-parser-perl libwww-perl librrds-perl librrd2-dev
CentOS需要先安装:
yum install perl rrdtool perl-libwww-perl libwww-perl perl-rrdtool
确保rrdtool和相应的perl被安装上。
2、安装配置
下载nginx-rrd,下载地址:http://soft.vpser.net/status/nginx-rrd/nginx-rrd-0.1.4.tgz
下载:wget http://soft.vpser.net/status/nginx-rrd/nginx-rrd-0.1.4.tgz
解压:tar zxvf nginx-rrd-0.1.4.tgz
进入nginx-rrd目录,cd nginx-rrd-0.1.4/
复制主程序:cp usr/sbin/* /usr/sbin
复制配置文件cp etc/nginx-rrd.conf /etc
复制定时执行文件:cp etc/cron.d/nginx-rrd.cron /etc/cron.d
创建nginx-rrd生成目录:mkdir /home/wwwroot/nginx && mkdir /home/wwwroot/nginx/rrd
cp html/index.php /home/wwwroot/nginx
编辑配置文件,修改完成后如下:
#####################################################
#
# dir where rrd databases are stored
RRD_DIR="/home/wwwroot/nginx/rrd";
# dir where png images are presented
WWW_DIR="/home/wwwroot/nginx";
# process nice level
NICE_LEVEL="-19";
# bin dir
BIN_DIR="/usr/sbin";
# servers to test
# server_utl;server_name
SERVERS_URL="https://www.vpser.net/nginx_status;www.vpser.net"
多个server,可以SERVERS_URL中空格分开,前部分为nginx_status的地址,后面为被监控主机的域名。
SEVERS_URL 格式 http://domain1/nginx_status;domain1 http://domain2/nginx_status;domain2
注意,nginx.conf虚拟主机server{}中,需要已经加入:
location /nginx_status {
stub_status on;
access_log off;
}
以上设置就完成,可以自行运行一下:/usr/sbin/nginx-collect ,启动收集程序。cron会15分钟生成一次数据。
如果没有定时执行生成数据,可以在/etc/crontab最后面加上:
* * * * * root /usr/sbin/nginx-collect
*/15 * * * * root /usr/sbin/nginx-graph
可以通过绑定在/home/wwwroot/的域名,http://域名/nginx/index.php 访问nginx-rrd。
>>转载请注明出处:VPS侦探 本文链接地址:https://www.vpser.net/manage/nginx-rrd-stats.html
这个y坐标中的m是啥含义啊
搞定了。几个调试的方法:
1. 在编辑了etc/nginx-rrd.conf之后,可以用GET来看一下那个变量是否设置正常:
GET http:///www.vpser.net/nginx_status
应该会出现几行信息的,比如
Active connections: *
server accepts handled requests
* * *
Reading: * Writing: * Waiting: *
(以上星号代表一些数值)
2. 如果
/usr/sbin/nginx-collect, /usr/sbin/nginx-graph
这两个命令运行后没反应 (具体就是你设置的目录里没有生成图片),可以去直接用命令行执行*.pl来测试:
cd /usr/sbin
./nginx-collect.pl
./nginx-graph.pl
注意后面要跟一系列的参数,具体可以查看该pl文件的源码,有明确的说明。
这两个命令运行结束以后,应该会生成图片文件。
而把这两个命令的参数写对了,也就知道该怎么改那个.conf文件了。
3. 无法定时运行:
我的做法(不一定正确,不过在我的机器上改过之后就正常了)
cd /etc/cron.d
mv nginx-rrd.cron nginx-rrd
chmod 644 nginx-rrd
service crond restart
这样执行以后,可以每15分钟自动更新了。
@grant, 可能server那边设置有问题。