Home >Database >Mysql Tutorial >zabbix 监控 nginx_status

zabbix 监控 nginx_status

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOriginal
2016-06-07 15:30:271273browse

1. 配置nginx stuats # vi /etc/nginx/nginx.conf and add the following to your server block location ~ ^/NginxStatus/ { stub_status on; access_log off; allow 127.0.0.1; allow 192.168.0.3; // Put your servers IPaddress instead of 192.168.0.3

1. 配置nginx stuats
# vi /etc/nginx/nginx.conf
and add the following to your server block

location ~ ^/NginxStatus/ {
        stub_status on;
        access_log   off;
        allow 127.0.0.1;
        allow 192.168.0.3;    // Put your servers IPaddress instead of 192.168.0.3
        deny all;
        }      

Reload nginx

# nginx -s reload

2. zabbix客户端配置
/etc/zabbix/zabbix_agentd.conf

#nginx
UserParameter=nginx.accepts,/usr/local/sbin/nginx_status.sh accepts
UserParameter=nginx.handled,/usr/local/sbin/nginx_status.sh handled
UserParameter=nginx.requests,/usr/local/sbin/nginx_status.sh requests
UserParameter=nginx.connections.active,/usr/local/sbin/nginx_status.sh active
UserParameter=nginx.connections.reading,/usr/local/sbin/nginx_status.sh reading
UserParameter=nginx.connections.writing,/usr/local/sbin/nginx_status.sh writing
UserParameter=nginx.connections.waiting,/usr/local/sbin/nginx_status.sh waiting

3.脚本内容:
[root@localhost bin]# cat nginx_status.sh
#!/bin/bash
# Script to fetch nginx statuses for tribily monitoring systems
# Author: user@domainname
# License: GPLv2

# Set Variables
BKUP_DATE=`date +%Y%m%d`
LOG="/var/log/zabbix/webstatus.log"
HOST=`ifconfig eth0 | sed -n '/inet /{s/.*addr://;s/ .*//;p}'`
PORT="80"

# Functions to return nginx stats

function active {
        /usr/bin/curl "http://$HOST:$PORT/webstatus" 2>/dev/null| grep 'Active' | awk '{print $NF}'        
        }      
function reading {
        /usr/bin/curl "http://$HOST:$PORT/webstatus" 2>/dev/null| grep 'Reading' | awk '{print $2}'        
       }      
function writing {
        /usr/bin/curl "http://$HOST:$PORT/webstatus" 2>/dev/null| grep 'Writing' | awk '{print $4}'        
       }      
function waiting {
        /usr/bin/curl "http://$HOST:$PORT/webstatus" 2>/dev/null| grep 'Waiting' | awk '{print $6}'        
       }      
function accepts {
        /usr/bin/curl "http://$HOST:$PORT/webstatus" 2>/dev/null| awk NR==3 | awk '{print $1}'
       }      
function handled {
        /usr/bin/curl "http://$HOST:$PORT/webstatus" 2>/dev/null| awk NR==3 | awk '{print $2}'
       }      
function requests {
        /usr/bin/curl "http://$HOST:$PORT/webstatus" 2>/dev/null| awk NR==3 | awk '{print $3}'
       }
# Run the requested function
$1

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn