Librenms un outil de Supervision via SNMP

Plop,
Aujourd’hui c’est parti pour l’installation de Librenms, un dérivé d’Observium, sur docker.

Prérequis :
– docker sous Linux
– une base de données

Générer une clé d’application :
Cette clé sera nécessaire pour la création du conteneur Librenms
Exécutez ce qui suit pour générer une clé base64
Bizbi@docker ~> docker run --rm jarischaefer/docker-librenms generate_key
Unable to find image 'jarischaefer/docker-librenms:latest' locally
latest: Pulling from jarischaefer/docker-librenms
7ddbc47eeb70: Pull complete
c1bbdc448b72: Pull complete
8c3b70e39044: Pull complete
45d437916d57: Pull complete
0bed79c56916: Pull complete
4f1f3bc741ee: Pull complete
9e8f14fb0aff: Pull complete
bdc4c86d293c: Pull complete
68fb81ea5176: Pull complete
c39b2d1b2360: Pull complete
5b0bb2ae847e: Pull complete
Digest: sha256:a30aaeb9a6cf064d038f9409b33992a16801cd8e442c9a5bfe3590eb955b8bd3
Status: Downloaded newer image for jarischaefer/docker-librenms:latest
base64:OZahf+Bq1f58glFNxqwbPOI34VcmnClRCA5E4GnevVQE=

Copiez la clé base64 quelque part.

Installation :
Installez le conteneur LibreNMS à l’aide de jarischaefer/docker-librenms
Bizbi@docker ~> docker run \
-p 8668:80 \
-p 8669:443 \
-e DB_HOST=#IP_de_la_BDD# \
-e DB_NAME=#Nom_de_la_BDD# \
-e DB_USER=#User_de_la_BDD# \
-e DB_PASS=#MDP_de_la_BDD# \
-e APP_KEY=base64:#Clé_base64# \
-e BASE_URL=http://#IP_machine_docker#:8668 \
-e TZ=Europe/Paris \
-v /home/Bizbi/librenms/logs:/opt/librenms/logs \
-v /home/Bizbi/librenms/rrd:/opt/librenms/rrd \
-v /home/Bizbi/librenms/conf.d:/opt/librenms/conf.d/:ro \
--name librenms \
-d \
--restart always \
jarischaefer/docker-librenms:latest

L’installation est terminée !

Configuration :
– Avant tout, préparons la BDD avec la commande suivante
Bizbi@docker ~> docker exec librenms setup_database
Suivant votre matériel le retour de la commande peut prendre plusieurs minutes.
– Création de l’utilisateur Admin
Bizbi@docker ~> docker exec librenms create_admin

OK, maintenant rendez-vous sur http://#IP_machine_docker#:8668 et connectez-vous avec les identifiants admin / admin, changez le mot de passe du compte et tout est prêt !

BONUS :
Pour un scan et ajout des équipements de votre subnet il vous faut personnaliser le fichier de configuration comme ceci 
Bizbi@docker ~> sudo nano /home/Bizbi/librenms/conf.d/custom.config.php
Contenu du fichier :
<?php
$config['snmp']['community'][0] = "errancedungeek";
$config['nets'][] = '10.1.1.0/24';
$config['nets'][] = '192.168.254.0/24';
$config['discovery_by_ip'] = true;
$config['force_ip_to_sysname'] = true;
$config['force_hostname_to_sysname'] = false;

Il faut bien entendu remplacer la communauté et les réseaux par les vôtres.
Les 2 dernières lignes sont à ajouter uniquement si vous voulez que les machines soient identifiées par leur nom plutôt que par leur ip dans le listing de Librenms.
Pour prendre en compte les modifications il faut reboot le conteneur
Bizbi@docker ~> docker restart librenms

Il faut ensuite lancer le scan
Bizbi@docker ~> docker exec -it #id_conteneur# ./opt/librenms/snmp-scan.py

Le scan peut être lancé depuis un cron pour être périodique et autonome par exemple 🙂

Problème connu :
Apparemment du à l’utilisation de Mysql au lieu de MariaDB mes équipements sont bien ajoutés à Librenms mais reste invisible dans “all device” par exemple.
La solution consiste à éditer un fichier de configuration avec la commande suivante :
Bizbi@docker ~> docker exec -it #id_conteneur# vi /opt/librenms/app/Models/AlertSchedule.php
Afin de supprimer les 4 lignes de configuration qui suivent :
->orWhere('end_recurring_dt', '0000-00-00')

->orWhere('end_recurring_dt', '');
et
->orWhereNull('recurring_day')
->orWhere('recurring_day', '');

Avant :

Après :

Ensuite on reboot
Bizbi@docker ~> docker restart librenms

Et tout est rentré dans l’ordre !

Source : jasonloong.com

Taggé , , , , , .Mettre en favori le Permaliens.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *