nginx的自定义监控使用到的是nginx的stub_status模块来进行监控的

首先要加载nginx的模块:使用nginx -V来进行查看是否configure里面有--http-stub-status模块

在nginx配置文件中添加:ngx_status.conf文件


server {

        listen       81;

        server_name   _;

        charset utf8;


        location /ngx_status{

                stub_status on;

                access_log  off;

                allow 127.0.0.1;

                allow xxxx;  允许zabbix的服务器

        }


使用nginx -t来检查配置文件是否正确

service nginx reload 不重启加载配置文件


下面再zabbix_agent.conf中添加:

UserParameter=nginx_status,curl "127.0.0.1:81/ngx_status" 2>/dev/null | grep  'Active'|awk  '{print $NF}'

UserParameter=nginx_reading,curl "127.0.0.1:81/ngx_status" 2>/dev/null | grep  'Reading' |awk  {'print $2'}

UserParameter=nginx_writing,curl "127.0.0.1:81/ngx_status" 2>/dev/null | grep  'Writing' |awk  {'print $4'}

UserParameter=nginx_waiting,curl "127.0.0.1:81/ngx_status" 2>/dev/null | grep  'Writing' |awk  {'print $6'}

UserParameter=nginx_accepts,curl "127.0.0.1:81/ngx_status" 2>/dev/null|awk NR==3|awk '{print $1}'

UserParameter=nginx_handles,curl "127.0.0.1:81/ngx_status" 2>/dev/null|awk NR==3|awk '{print $2}'

UserParameter=nginx_requests,curl "127.0.0.1:81/ngx_status" 2>/dev/null|awk NR==3|awk '{print $2}'