Skip to main content
Home
badllama.com
  • Search
  • Log In

Monitor Nginx with Zabbix

Mon, 05/14/2012 - 14:36 by bchavet

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]

Book Navigation

  • ‹ Monitor MySQL with Zabbix
  • up
  • Monitor PostgreSQL with Zabbix ›
Powered by Backdrop CMS