Quantcast
Viewing all articles
Browse latest Browse all 515

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.

Image may be NSFW.
Clik here to view.

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
  • 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
  • Activation des applications à superviser dans LibreNMS :

    Les étapes suivantes sont à rélaliser dans l’interface web de LibreNMS.

    Ressources


    Viewing all articles
    Browse latest Browse all 515

    Trending Articles