En complément de l’article sur le monitoring de PostgreSQL avec Zabbix, voici un nouvel article pour monitorer un serveur Nginx grâce à l’agent Zabbix.
Pour cela, nous avons besoin d’avoir ZTC (Zabbix Template Collection) d’installé: voyez le premier chapitre de l’article précédent sur ZTC.
Configuration d’Nginx
Pour pouvoir récupérer des statistiques sur le serveur Nginx, vous devez l’avoir compilé avec le module HTTPStubStatus, c’est-à-dire avec l’option --with-http_stub_status_module.
Ensuite, il y a uniquement à configurer l’accès aux statuts depuis l’hôte local de Nginx. Si vous n’avez pas créé d’hôte local pour Nginx, il vous suffit d’en créer un.
Ensuite, ajoutez ces quelques lignes de configuration suivantes dans votre server local:
location /server-status {
stub_status on;
access_log off;
}
Elle permettent de dire qu’à l’adresse http://localhost/server-status, Nginx doit confier la réponse HTTP au module HTTPStubStatus, qui fournira des statistiques sur le serveur qui seront récupérées par l’agent.
N’oubliez pas de recharger la configuration du serveur HTTP:
# /etc/init.d/nginx reload
Vous pouvez vérifier la configuration depuis votre serveur grâce à wget:
$ wget http://localhost/server-status
Si le code réponse est bien 200, la configuration est correct.
Configuration de l’agent Zabbix
Avec la même configuration de l’agent Zabbix décrit dans l’article sur PostgreSQL, nous allons activer le template pour Nginx:
# cd /etc/zabbix-agent.d/enabled
# ln -s ../available/pgsql.conf pgsql.conf
Maintenant, nous allons modifier la configuration de l’agent ZTC pour Nginx, à savoir le fichier /etc/ztc/nginx.conf. Remplacez les lignes suivantes:
host=localhost
port=80
L’agent ZTC est maintenant configuré, nous allons le tester:
$ /opt/ztc/bin/nginx.py requests
Vous devriez avoir comme retour un nombre supérieur à zéro. Si c’est le cas, tout fonctionne !
Importation dans le serveur Zabbix
Pour finir, importez le modèle Nginx de ZTC (vous trouverez tous les modèles dans le dépôt ZTC), que vous pouvez télécharger ici:
Maintenant, configurez le(s) hôte(s) que vous avez configuré(s) comme ayant le modèle Template_app_nginx. Vous aurez ainsi les statistiques Nginx!