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 dans vos modèles

Ce template contient toutes les clefs et deux graphiques :

  • Nginx current connections
  • Nginx requests

Have fun 🙂



comments powered by Disqus