Bonjour à tous,

Après demande de Julien, je vais vous expliquer comment configurer les checks applicatifs pour MySQL et Nginx sous Librenms ou Observium afin que vous ayez de beaux graphs et un œil attentif sur vos serveurs.

Je pars du principe que vos hôtes sont déjà configurés dans LibreNMS (ou observium), je pars du principe que vous utilisez du Debian aussi.

 

Installation de l’Unix-Agent

Toutes les manipulations se font sur les serveurs qui sont monitorés.
Installez les dépendances nécessaires :

apt-get install xinetd git -y

 

Clonez l’Unix-Agent de LibreNMS sur votre serveur :

cd /opt/
git clone https://github.com/librenms/librenms-agent.git
cd librenms-agent
cp check_mk_agent /usr/bin/check_mk_agent
chmod +x /usr/bin/check_mk_agent

 

Copiez les scripts de démarrage de l’Unix-Agent :

cp check_mk_xinetd /etc/xinetd.d/check_mk && cp check_mk@.service check_mk.socket /etc/systemd/system

 

Créez les dossiers nécessaires au bon fonctionnement de l’agent :

mkdir -p /usr/lib/check_mk_agent/plugins /usr/lib/check_mk_agent/local

 

Maintenant, récupérez les scripts :

cd /usr/lib/check_mk_agent/local
wget https://raw.githubusercontent.com/librenms/librenms/master/scripts/agent-local/mysql --no-check-certificate
wget https://raw.githubusercontent.com/librenms/librenms/master/scripts/agent-local/nginx --no-check-certificate

 

Configuration du check MySQL :

Le check MySQL ne semble pas être compatible avec PHP 7.0 !

Créez le fichier de configuration du script avec la commande suivante :

nano /usr/lib/check_mk_agent/local/mysql.cnf

 

Remplissez-le avec ceci :

<?php
$mysql_user = ‘debian-sys-maint’;
$mysql_pass = ‘pass’;
$mysql_host = ‘localhost’;
$mysql_port = 3306;

Vous pouvez trouver le mot de passe de l’utilisateur de maintenance MySQL intégré à Debian dans le fichier /etc/mysql/debian.cnf.

Une fois le fichier créez, rendez le bordel exécutable et testez avec la commande suivante :

chmod +x * && ./mysql

 

Vous devriez avoir une sortie qui commence comme ça :

<<<mysql>>>
a0:0
a1:0
a2:0
a3:0
a4:-1

 

Configuration du check Nginx :

Créez un vhost spécific pour le monitoring :

nano /etc/nginx/sites-enabled/monitoring

 

Remplissez-le avec ceci :

server {
listen 127.0.0.1:80;
server_name _;
location /nginx-status { stub_status on; access_log off; allow 127.0.0.1; deny all; }
}

 

Redémarrez Nginx avec la commande suivante et testez le script :

service nginx restart && /usr/lib/check_mk_agent/local/nginx

 

Vous devriez avoir une sortie dans ce style :

<<<nginx>>>
1
0
1
0
1

 

Redémarrez Xinetd :

/etc/init.d/xinetd restart

 

Activez ensuite l’agent dans les paramètres du serveur :

monit