Monitor Nginx with Zabbix

Configure a new nginx server listening on an alternate port (61709 in this example). This allows access to this information to be controlled.
server {
listen 61709;

location / {
stub_status on;
access_log off;
allow 127.0.0.1;
deny all;
}

}

Reload Nginx
/etc/init.d/nginx reload

Add the following to the end of /etc/zabbix/zabbix_agentd.conf
#Nginx Keys

# NginX Keys
UserParameter=nginx.active[*],wget -O- -q $1:$2 | awk ‘/^Active/ {print $NF}’
UserParameter=nginx.reading[*],wget -O- -q $1:$2 | awk ‘/Reading/ {print $$2}’
UserParameter=nginx.writing[*],wget -O- -q $1:$2 | awk ‘/Writing/ {print $$4}’
UserParameter=nginx.waiting[*],wget -O- -q $1:$2 | awk ‘/Waiting/ {print $$6}’
UserParameter=nginx.accepted[*],wget -O- -q $1:$2 | awk ‘/^[ \t]+[0-9]+[ \t]+[0-9]+[ \t]+[0-9]+/ {print $$1}’
UserParameter=nginx.handled[*],wget -O- -q $1:$2 | awk ‘/^[ \t]+[0-9]+[ \t]+[0-9]+[ \t]+[0-9]+/ {print $$2}’
UserParameter=nginx.requests[*],wget -O- -q $1:$2 | awk ‘/^[ \t]+[0-9]+[ \t]+[0-9]+[ \t]+[0-9]+/ {print $$3}’

Restart the Zabbix agent
/etc/init.d/zabbix-agent restart

To use these UserParameters, set the host (localhost) and port (61709) in the key
nginx.active[localhost,61709]

Scroll to top