天天看点

zabbix监控nginx

前提条件:nginx需要加载--with-http_stub_status_module

/usr/local/webserver/nginx/sbin/nginx -V

nginx version: nginx/1.9.9

built by gcc 4.4.7 20120313 (Red Hat4.4.7-4) (GCC)

configure arguments:--prefix=/usr/local/webserver/nginx --with-http_stub_status_module--with-http_ssl_module --with-pcre=/opt/pcre-8.35

如果发现没有--with-http_stub_status_module 的监控模块就需要手动开启

./configure --prefix=/usr/local/webserver/nginx --with-http_stub_status_module--with-http_ssl_module --with-pcre=/opt/pcre-8.35

make

一、编辑nginx配置文件

server

{

        listen 80;

        #index index.html;

        server_name 192.168.1.34 127.0.0.1;

        #root /data/www/static;

        location /nginx_status {

            stub_status on;

            access_log off;

            allow 127.0.0.1;

            allow 192.168.0.0/16;

            allow 10.195.1.100;

            deny all;

        }

}

测试:

curl http://127.0.0.1/nginx_status

Active connections: 1 

server accepts handled requests

 10054822 10054822 1313691 

Reading: 0 Writing: 1 Waiting: 0 

二、配置agent文件

修改

ll /usr/local/zabbix/etc/zabbix_agentd.conf

grep -v "#" zabbix_agentd.conf

Server=192.168.1.100

ServerActive=192.168.1.100

Hostname=192.168.1.34

#自定义脚本

UserParameter=nginx.status[*],/usr/local/zabbix/scripts/nginx_status.sh $1

加载脚本文件(见附件nginx_status.sh)

赋权限 chmod 755 nginx_status.sh(可能会导致图像无法显示)

测试:如果有输出说明脚本没问题了

./nginx_status.sh  handled

10055263

重启agent服务

/usr/local/zabbix/sbin/zabbix_agentd

三,上传监控模板到zabbix web管理界面,导入模板

<a href="http://s3.51cto.com/wyfs02/M00/8A/2B/wKiom1gpdaqDqYuGAABSoMBjzuo437.png" target="_blank"></a>

<a href="http://s3.51cto.com/wyfs02/M00/8A/2B/wKiom1gpdaqDqYuGAABSoMBjzuo437.png" target="_blank">并添加到主机</a>

四,页面打印信息

<a href="http://s4.51cto.com/wyfs02/M00/8A/2B/wKiom1gpdpzxtp_RAAClIYXnawM628.png" target="_blank"></a>

关键字解释:

active connections – 活跃的连接数量

server accepts handled requests —总共处理了289个连接 , 成功创建289次握手, 总共处理了91个请求

reading — 读取客户端的连接数.

writing — 响应数据到客户端的数量

waiting — 开启 keep-alive 的情况下,这个值等于 active – (reading+writing), 意思就是 Nginx 已经处理完正在等候下一次请求指令的驻留连接.

ps:脚本和模板见附件

      本文转自卫庄的痛 51CTO博客,原文链接:http://blog.51cto.com/crfsz/1872715,如需转载请自行联系原作者

继续阅读