Monitorer Nginx avec Zabbix

Configuration de Nginx

Le serveur nginx doit donner sont status en local via l’url http://localhost:61123/nginx_status

Pour cela, il faut ajouter le " server " suivant qui sera disponible uniquement via localhost sur le port 61123:

server {
        listen       127.0.0.1:61123;
        server_name  localhost;
        location /nginx_status {
                stub_status on;
                access_log   off;
                allow 127.0.0.1;
                deny all;
        }
}

Configuration de l’agent Zabbix

Dans la configuration de l’agent Zabbix ajouter les paramètres suivant pour remonter au serveur les nouvelles clefs

UserParameter=nginx.active[*],curl -s http://localhost:61123/nginx_status | awk '/^Active/ {print $NF}
UserParameter=nginx.reading[*],curl -s http://localhost:61123/nginx_status | awk '/Reading/ {print $$2}
UserParameter=nginx.writing[*],curl -s http://localhost:61123/nginx_status | awk '/Writing/ {print $$4}
UserParameter=nginx.waiting[*],curl -s http://localhost:61123/nginx_status | awk '/Waiting/ {print $$6}
UserParameter=nginx.accepted[*],curl -s http://localhost:61123/nginx_status | awk '/^[ \t]+[0-9]+[ \t]+[0-9]+[ \t]+[0-9]+/ {print $$1}
UserParameter=nginx.handled[*],curl -s http://localhost:61123/nginx_status | awk '/^[ \t]+[0-9]+[ \t]+[0-9]+[ \t]+[0-9]+/ {print $$2}
UserParameter=nginx.requests[*],curl -s http://localhost:61123/nginx_status | awk '/^[ \t]+[0-9]+[ \t]+[0-9]+[ \t]+[0-9]+/ {print $$3}
'```

# Import du template

Télécharger et importer [zbx_templates_nginx.xml](https://git.depad.fr/snippets/13/raw) dans vos modèles

Ce template contient toutes les clefs et deux graphiques :

  * Nginx current connections
  * Nginx requests

Have fun 🙂

Suggestions de lecture :

comments powered by Disqus