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
Stellungnahme:Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn