0

LibreNMS : superviser un serveur LNMP (Linux Nginx MariaDB PHP)

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
    
  • Rendre les scripts éxécutable :
  • chmod +x /etc/snmp/nginx
    chmod +x /etc/snmp/phpfpmsp
    chmod +x /etc/snmp/mysql
    
  • Ajouter dans le fichier snmpd.conf :
  • extend mysql /etc/snmp/mysql
    extend nginx /etc/snmp/nginx
    extend phpfpmsp /etc/snmp/phpfpmsp
    
  • Redémarrer le service snmpd :
  • systemctl restart snmpd
  • Configurer Nginx et de phpfpmsp :
    • 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;
      }
          }
      
    • Pour vérifier le status de php, éditer le fichier /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

    • Vérifier la configuration de nginx et de php :
    • nginx -t
      php-fpm8.0 -t
    • Si pas d’erreur, redémarrer les services :
    • systemctl restart nginx php8.0-fpm
    • Vérifier les status en mode terminal :
      • nginx :
      • curl -L http://localhost/nginx-status
      • php :
        curl -L http://127.0.0.1/status
        • exemple :
  • Configurer le script MySql :
  • 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;
    
    ?>
  • Tester le script :
    ./mysql
    • exemple de sortie :
  • 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 :

Ressources

Partager l'article :





fred

"Dire que l'on s'en fiche du droit à la vie privée sous prétexte qu'on a rien à cacher, c'est comme déclarer que l'on se fiche du droit à la liberté d'expression sous prétexte qu'on a rien à dire." Edward Snowden

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.