**LibreNMS - Optimisation** # Introduction ## Objectif * Faire en sorte que LibreNMS fonctionne mieux en optimisant MySQL et en installant rrdcache ## Notes * Les commandes précédées de "`$`" signifient que vous devez exécuter la commande en tant qu'utilisateur général - et non en tant qu'utilisateur root. * Les commandes précédées de "#" signifient que vous devez travailler en tant qu'utilisateur root. * Les commandes comportant des lignes de commande plus spécifiques (par exemple "rtrX" ou "mysql>") signifient que vous exécutez des commandes sur des équipements à distance, ou dans un autre programme. * Si une ligne de commande se termine par "\", ceci signifie que la commande se poursuit sur la ligne suivante et que vous devez la traiter comme une seule ligne. * Ces instructions supposent que vous êtes l'utilisateur root. Si vous ne l'êtes pas, ajoutez "sudo" aux commandes Shell (celles qui ne sont pas dans les invites "mysql>") ou invoquez temporairement les privilèges de root avec "sudo -s". ## Installation du support rrdcache pour LibreNMS Rrdcache permet à LibreNMS d'écrire des informations sur les périphériques dans la mémoire au lieu de directement sur le disque. LibreNMS est un outil à forte intensité de ressources et l'ajout de support de cache de mémoire à LibreNMS réduira la charge sur votre serveur. Pour ce faire, commencez par devenir root si vous ne l'êtes déjà pas encore : ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $ sudo bash ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Ensuite, installez le package de cache rrdcached : ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # apt install rrdcached # editor /etc/default/rrdcached ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Recherchez la ligne contenant : ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ BASE_OPTIONS="-B" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Sous cette ligne, ajoutez les lignes suivantes : ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ OPTS="-s librenms" OPTS="$OPTS -l unix:/var/run/rrdcached/rrdcached.sock" OPTS="$OPTS -j /var/lib/rrdcached/journal/ -F" OPTS="$OPTS -b /opt/librenms/rrd/ -B" OPTS="$OPTS -w 1800 -z 1800 -f 3600 -t 4" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Ensuite, ajoutez la définition pour l'utilisateur que rrdcached exécutera en plaçant ceci sous les instructions "OPTS =": ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ RRDC_USER=librenms ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Enregistrez le fichier et quittez et puis: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # systemctl restart rrdcached ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Ensuite, modifiez le fichier "/opt/librenms/config.php" et modifiez une ligne et ajoutez une autre: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # cd /opt/librenms # editor config.php ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Trouvez la ligne: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #$config['rrdcached'] = "unix:/var/run/rrdcached.sock"; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Et changez-le pour devenir comme suit: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $config['rrdcached'] = "unix:/var/run/rrdcached/rrdcached.sock"; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Maintenant, nous pouvons redémarrer le serveur web Apache pour appliquer tous les changements que nous avons apportés. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # systemctl restart apache2 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ## Paramétrage de MySQL Il existe un paramètre que nous devons ajouter et un autre qui doit être inclus dans serveur de base de données MySQL qui aidera LibreNMS à fonctionner plus efficacement. Vous devez modifier le fichier /etc/mysql/conf.d/librenms.cnf: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # editor /etc/mysql/conf.d/librenms.cnf ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Sous la section du fichier intitulé "[mysqld]", ajoutez les deux lignes suivantes au fichier: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ innodb_file_per_table = 1 innodb_flush_log_at_trx_commit = 0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Enregistrez maintenant le fichier et redémarrez le serveur MySQL: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # systemctl restart mysql ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Si vous êtes intéressé par les détails sur ces modifications, vous pouvez vous rendre à l'adresse http://dev.mysql.com/doc/refman/5.7/en/innodb-multiple-tablespaces.html => VOUS POUVEZ PROCÉDÉ AU LABORATOIRE DE CONFIGURATION DE BASE ! <=