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
安装好了rrdtool,
可以运行了,
但是打开index.php,出现的是:
===================================
Nginx webservers
monitored servers: 0
yum rrdtool ==> 这个找不到源,
要自己写一个文件才行。
vi /etc/yum.repos.d/dag.repo
输入以下内容:
[dag]
name=Dag RPM Repository for Red Hat Enterprise Linux
baseurl=http://apt.sw.be/redhat/el$releasever/en/$basearch/dag
gpgcheck=1
gpgkey=http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt
enabled=1
开始出错。我是RHEL5,把$releasever直接改成了5,通过了。
请问y轴的刻度m表示什么含义?
@若, 嗯,相同的
同一个主机,用不同的虚拟主机的来得到的status是相同的啊?
即SEVERS_URL 格式 http://domain1/nginx_status;domain1 http://domain2/nginx_status;domain2
中的 http://domain1/nginx_status部分和http://domain2/nginx_status是一样的,我指的不同的虚拟主机在同一个环境下。
[...] http://www.vpser.net/manage/nginx-rrd-stats.html [...]
@Zeddicus, 这个要根据你nginx.conf里的设置而定。
还是不对
monitored servers: 0
有错误,把nginx_status改成nginx成功
@Zeddicus, /home/services/httpd/html 目录要换成你的存放nginx-rrd php文件的目录。如果你按照上面的步骤切你是用的lnmp的话会是正常的。
[root@lnmp tmp]#/usr/sbin/nginx-collect
Dir /home/services/httpd/html does not exist
Dir /home/services/httpd/html does not exist
运行collect出现这个……
能否截图看看有什么功能呢?
[...] - 2009-12-13 2009年12月13日 上午 | 作者:VPSernginx-RRD stats - Nginx图形化监控 http://www.vpser.net/manage/nginx-rrd-stats.html #监控宝回来了 #@xwsoul [...]
郁闷死了.....编辑 配置文件那一步具体怎么搞?
搞定
编译安装的rrdtool
出现问题/解决过程入下:
启动报错:
Can't locate RRDs.pm in @INC.....
解决方法:
find /usr -name "RRDs.pm"
ln -sv /usr/local/rrdtool/lib/perl/5.8.5/i386-linux-thread-multi/RRDs.pm /usr/lib/perl5/5.8.5
再启动:
Can't locate loadable ojbect for module RRDs
解决:
ln -sv /usr/local/rrdtool/lib/perl/5.8.5/i386-linux-thread-multi/auto/RRDs/RRDs.so /usr/lib/perl5/5.8.5/i386-linux-thread-multi/
这个依赖真难搞
继续……
我用centos