Vous ne vous en souvenez peut être pas mais j’avais rédigé, il y a déjà quelque temps, un article vous expliquant comment installer et configurer Observium. Il existe depuis quelques temps un fork d’Observium : LibreNMS. Je vais donc ici expliquer comment installer et configurer LibreNMS (Apache / NGinx).
Pourquoi utiliser LibreNMS plutot qu’Observium ?
Observium se décline en deux versions : Observium Community Edition et Observium Profesionnal. Comme vous l’avez certainement déjà compris seule la Community Edition est gratuite et elle n’est mise à jour que tous les 6 mois. Si cela ne vous suffit pas pour vous encourager à passer à LibreNMS sachez que ce dernier ne collecte aucune donnée d’utilisation.
Les développeurs de LibreNMS sont donc partis de la dernière version d’Observium disponible sous licence GPL. A noter qu’il existe un script de migration, vous pouvez donc le tester, de mon coté j’ai préféré partir de zéro.
Installer et configurer LibreNMS
Dans ce post je pars du principe que :
- un serveur web est déjà installé sur votre serveur (Apache2 ou NGinx)
- un serveur SQL est déjà installé sur votre serveur (MySQL-server ou MariaDB)
- vous avez ajouté les dépots dotdeb
Installer LibreNMS
Il va falloir comme d’habitude installer quelques paquets.
sudo apt-get install php7.0-cli php7.0-mysql php7.0-gd php7.0-snmp php-pear php7.0-curl php7.0-fpm snmp graphviz php7.0-mcrypt php7.0-json nginx-full fping imagemagick whois mtr-tiny nmap python-mysqldb snmpd php-net-ipv4 php-net-ipv6 rrdtool git
Modifiez la configuration snmpd
sudo nano /etc/snmp/snmpd.conf
Ajoutez la ligne suivante
rocommunity public 127.0.0.1
Sauvegardez le fichier et redémarrez snmpd
sudo service snmpd restart
Vous pouvez maintenant télécharger LibreNMS
cd /opt sudo git clone https://github.com/librenms/librenms.git librenms cd /opt/librenms
Créez les dossiers qui contiendront graphs et logs
sudo mkdir rrd logs sudo chmod 775 rrd
Configurer LibreNMS
Configuration de la base de données
Commencez par créer un utilisateur et une base de donnée
mysql -u root -p <mysql root password> mysql> CREATE DATABASE librenms_db; mysql> GRANT ALL PRIVILEGES ON librenms_db.* TO 'librenms_user'@'localhost' -> IDENTIFIED BY 'mot de passe db librenms';
Configuration de l’interface web
Nous allons créer un utilisateur système librenms et l’ajouter au groupe www-data
sudo useradd librenms -d /opt/librenms -M -r sudo usermod -a -G librenms www-data sudo chown -R librenms:librenms /opt/librenms
Si vous utilisez Apache2
Créez un nouveau vhost
sudo nano /etc/apache2/sites-available/librenms.conf
Utilisez la configuration ci-dessous (Apache 2.4 minimim).
<VirtualHost *:80> DocumentRoot /opt/librenms/html/ ServerName librenms.votre-domaine.tld CustomLog /opt/librenms/logs/access_log combined ErrorLog /opt/librenms/logs/error_log NoDecode <Directory "/opt/librenms/html/"> Require all granted AllowOverride All Options FollowSymLinks MultiViews </Directory> </VirtualHost>
Activez cette configuration ainsi que le mod rewrite puis relancez votre instance d’Apache2
sudo a2ensite librenms.conf sudo a2enmod rewrite sudo service apache2 restart
Si vous utilisez NGinx
Créez un nouveau vhost
sudo nano /etc/nginx/sites-enabled/librenms.conf
Utilisez la configuration ci-dessous
server { listen 80; server_name librenms.votre-domaine.tld; root /opt/librenms/html; index index.php index.html index.htm; access_log /var/log/librenms.access.log; error_log /var/log/librenms.error.log warn; client_max_body_size 15M; location / { try_files $uri $uri/ /index.php?q=$uri&$args; } location ~ \.php$ { try_files $uri =404; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/var/run/php/php7.0-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_read_timeout 60; include fastcgi_params; } location ~* \.(jpg|jpeg|png|gif|ico)$ { expires 365d; } location ~* \.(pdf|css|js|swf|woff|otf|ttf|svg)$ { expires 30d; } }
Testez votre configuration et relancez NGinx
sudo nginx -t sudo service nginx reload
Configuration de PHP
Si ce n’est pas déjà fait définissez votre fuseau horaire dans la configuration PHP : /etc/php/7.0/fpm/php.ini
et /etc/php5/cli/php.ini
. Recherchez la ligne
;date.timezone =
et modifiez la selon votre configuration, ici
date.timezone = Europe/Paris
Une fois ces modifications effectuées relancez php-fpm
systemctl restart php7.0-fpm.service
Configuration du cron
Créez le cron
sudo cp /opt/librenms/librenms.nonroot.cron /etc/cron.d/librenms
Terminer l’installation
Connectez vous à l’adresse sur laquelle vous avez configuré votre vhost, et renseignez les informations demandées :
- adresse de la base de donnée : localhost
- nom de la base de données : librenms_db
- mot de passe de la base de données : ce que vous avez choisi
- login de la base de données : librenms_user
Mettre à jour LibreNMS
Pour mettre à jour LibreNMS rien à faire : des mises à jour sont effectuées tous les jours à 00h15 (heure de votre serveur)
Source
- Documentation LibreNMS, Installation (Debian Ubuntu)