Un petit mémo sur comment superviser les services d’un serveur web (Nginx, MariaDB et PHP) sous Linux avec LibreNMS.
Configuration des services à superviser : Nginx, MariaDB et PHP
Cette partie est à réaliser sur le serveur à superviser. L’installation et la configuration du serveur web ainsi que le service snmpd
ne seront pas traités ici.
- Installation de l’agent Librenms :
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 cp check_mk@.service check_mk.socket /etc/systemd/system mkdir -p /usr/lib/check_mk_agent/plugins /usr/lib/check_mk_agent/local cp -r agent-local/ /usr/lib/check_mk_agent/local/ chmod +x /usr/lib/check_mk_agent/local/$script systemctl enable check_mk.socket && systemctl start check_mk.socket
- Télécharger les scripts pour la supervision de chaque service :
wget https://raw.githubusercontent.com/librenms/librenms-agent/master/snmp/nginx -O /etc/snmp/nginx wget https://github.com/librenms/librenms-agent/raw/master/snmp/phpfpmsp -O /etc/snmp/phpfpmsp wget https://github.com/librenms/librenms-agent/raw/master/snmp/mysql -O /etc/snmp/mysql
chmod +x /etc/snmp/nginx chmod +x /etc/snmp/phpfpmsp chmod +x /etc/snmp/mysql
snmpd.conf
:extend mysql /etc/snmp/mysql extend nginx /etc/snmp/nginx extend phpfpmsp /etc/snmp/phpfpmsp
snmpd
:systemctl restart snmpd
- Créer un nouveau fichier serveur block nginx :
nano /etc/nginx/conf.d/status.conf
server { listen localhost; server_name status.localhost; keepalive_timeout 0; access_log off; allow 127.0.0.1; deny all; ###status nginx location /nginx-status { stub_status on; } ###status de php-fpm location ~ ^/(status|ping)$ { allow 127.0.0.1; fastcgi_param SCRIPT_FILENAME /usr/share/php/8.0/fpm/status.html; fastcgi_index index.php; include fastcgi_params; fastcgi_pass unix:/run/php/php8.0-fpm.sock; } }
/etc/php/8.0/fpm/pool.d/www.conf
:nano /etc/php/8.0/fpm/pool.d/www.conf
décommenter la ligne pm.status_path = /status
nginx -t
php-fpm8.0 -t
systemctl restart nginx php8.0-fpm
- nginx :
curl -L http://localhost/nginx-status
curl -L http://127.0.0.1/status
Dans le répertoire /etc/snmp/
(celui ou a été téléchargé le script myslq) créer le fichier mysql.cnf
avec les informations suivantes (login et mdp à modifier) :
nano /etc/snmp/mysql.cnf
<?php
$mysql_user = 'root'; $mysql_pass = 'MDP'; $mysql_host = 'localhost'; $mysql_port = 3306; $chk_options['slave'] = false;
?>
./mysql
Activation des applications à superviser dans LibreNMS :
Les étapes suivantes sont à rélaliser dans l’interface web de LibreNMS.
- Sélectionner l’hôte à superviser, exemple :
- Cliquer sur le roue « dentée » à droite de la fenêtre :
- Cliquer sur le menu Application, puis activer les modules Nginx, PHP-FPM et MySQL :
- Après quelques disaines de minutes, les premièrs relevés apparaissent sour forme de graphiques dans le menu Apps :