# nginx-rrd 图形化监控

安装参考这篇文章 (opens new window),它是基于 stub_status 状态信息的,它是基于 php 编写的

先安装 php 环境

# 安装依赖
yum install php php-gd php-soap php-mbstring php-xmlrpc php-dom php-fpm -y

# nginx 整合 pgp-fpm
# 修改 /etc/php-fpm.d/www/conf 文件中的 user 和 group 与 nginx.conf 中的一致
user=nginx
group=nginx

# 启动 php-fpm 服务
systemctl start php-fpm

# 修改 nginx 配置
location ~ \.php${
  root /usr/share/nginx/html;
  fastcgi_pass 127.0.0.1:9000;
  fastcgi_index index.php;
  fastcgiparam SCRIPT_FILENAME &document_root/$fastcgi_script_name;
  include fastcgi_params;
}

# 重启 nginx
nginx -s reload

# 测试 php 环境是否已经搭建好了
# 在 /usr/share/nginx/html 下编写一个 demo.php 文件
<?php phpinfo(); ?>
# 然后访问 localhost:80/demo.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27

安装 rrdtool

# 相关依赖
yum install perl rrdtool perl-libwww-perl libwww-perl perl-rrdtool -y

# 安装 nginx-rdd
wget http://soft.vpser.net/status/nginx-rrd/nginx-rrd-0.1.4.tgz

tar xf nginx-rrd-0.1.4.tgz
cd nginx-rrd-0.1.4
cp usr/sbin/* /usr/sbin/
# 复制配置文件到 etc 下
cp etc/nginx-rrd.conf  /etc/
cp etc/cron.d/nginx-rrd.cron /etc/cron.d/
cp html/index.php /usr/share/nginx/html/

# 修改配置
vim /etc/nginx-rrd.conf
RRD_DIR="/usr/share/nginx/html/nginx-rrd"
WWW_DIR="/usr/share/nginx/html/"
SERVERS_URL="http://127.0.0.1/nginx_status;127.0.0.1 http://localhost/nginx_status;http://localhost"
# 新建定时任务,设置定时收集数据

crontab -e  
* * * * * /bin/sh /usr/sbin/nginx-collect  
*/10 * * * * /bin/sh /usr/sbin/nginx-graph
service crond restart  # 重启crond服务
# 查看任务
tail -f /var/log/cron

# ab 压测
# 安装 ab 压测工具
yum -y install httpd-tools
ab -n 10000 -c 10 http:/127.0.0.1/index.html
# 访问 127.0.0.1/index.php 就能看到监控结果了
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33

它的原理是通过定时任务,不停的将监控的数据生成图片,然后在这里浏览