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é base64Bizbi@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-librenmsBizbi@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 suivanteBizbi@docker ~> docker exec librenms setup_database
Suivant votre matériel le retour de la commande peut prendre plusieurs minutes.
– Création de l’utilisateur AdminBizbi@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 conteneurBizbi@docker ~> docker restart librenms
Il faut ensuite lancer le scanBizbi@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 rebootBizbi@docker ~> docker restart librenms
Et tout est rentré dans l’ordre !
Source : jasonloong.com
Bonjour, super tutoriel ! mais j’ai une question.
Pourquoi l’installer via une image « non » officielle alors qu’une image officielle est mise à disposition par libreNMS ? Merci d’avance
Excellente question, à laquelle j’ai malheureusement une mauvaise réponse : Par habitude, j’ai travaillé sur cette image pour une association.
Mais tu as raison, il vaut mieux utiliser l’image officielle quand c’est possible.