nginx-rrd监控nginx访问数

一 、查看已安装的nginx是否包含stub_status模块

/usr/local/nginx/sbin/nginx -V nginx version: Nginx/1.2.0 configure arguments: --with-http_stub_status_module

确定支持stub_status模块后编辑修改nginx.conf

location /nginx_status {

stub_status on; //这个选项参数就是在编译时对stub_status模块的支持,如果不编译加入则会在启动nginx时有警告信息

access_log off;

}

注意, nginx.conf虚拟主机 server{} 中,

也需要已经加入:

location /nginx_status {

stub_status on;

access_log off;

}

二、重启Nginx服务器

/usr/local/nginx/sbin/nginx -s reload 设置定时收集数据

测试访问路径:http://ip/nginx_status/ #注意此处的 nginx_status 需要与配置文件中的一致。

三、安装nginx-rrd

下载nginx-rrd

yum install perl rrdtool perl-libwww-perl libwww-perl perl-rrdtool

确保rrdtool和相应的perl被安装上。

wget http://wcoserver.googlecode.com/files/nginx-rrd-0.1.4.tgz
tar zxvf nginx-rrd-0.1.4.tgz
cd nginx-rrd-0.1.4
cp cp usr/sbin/* /usr/sbin #复制主程序文件到 /usr/sbin 下
cp etc/nginx-rrd.conf /etc #复制配置文件到 /etc 下

创建Nginx-rrd生成目录

#这是一个web站点  具有外部访问功能
mkdir /data/wwwroot/nginx && mkdir /data/wwwroot/nginx/rrd cp html/index.php /data/wwwroot/nginx
vi /etc/nginx-rrd.conf
编辑配置文件,修改完成后如下: ##################################################### # # 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="http://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-rrd-0.1.4.tgz 包中的index.php的文件,图片-路径等。

设置定时收集数据:

vim /etc/crontab

* * * * * root /usr/sbin/nginx-collect

*/15 * * * * root /usr/sbin/nginx-graph

重启crondtab后生效。