LibreNMS est un outil de surveillance réseau open-source et complet qui fournit un large éventail de fonctionnalités et de capacités de surveillance pour vos périphériques réseau.
Les fonctionnalités clés incluent :
- Découverte automatique de l’ensemble de votre réseau à l’aide des protocoles ARP, SNMP, BGP, OSPF, LLDP et FDP.
- Un système d’alerte hautement personnalisable et pouvant être modifié pour envoyer des alertes par e-mail, Slack et d’autres canaux.
- Un tableau de bord simple et facilement personnalisable.
- Une API complète pour gérer et représenter graphiquement les données de votre serveur de surveillance.
- Prise en charge étendue des périphériques – Prend en charge un large éventail de fournisseurs de matériel tels que Cisco, Juniper, HP et bien d’autres.
- Mises à jour automatiques et corrections de bogues.
- Authentification multi-facteurs.
- Prise en charge native des applications Android et iOS.
- et beaucoup plus.
Dans ce guide, nous allons installer le LibreNMS outil de surveillance sur Debian 11/10.
Étape 1 : Installez Nginx, MariaDB et PHP
Pour commencer, actualisez les référentiels et installez les packages prérequis comme suit :
$ sudo apt update $ sudo apt install software-properties-common wget apt-transport-https
La prochaine étape consiste à installer Nginx et des packages supplémentaires tels que les packages curl, git, SNMP et python qui seront requis par l’outil de surveillance LibreNMS.
Alors, lancez la commande :
$ sudo apt install nginx-full curl acl fping graphviz composer git imagemagick mtr-tiny nmap python3-pip python3-memcache python3-mysqldb python3-dotenv python3-pymysql rrdtool snmp snmpd whois python3-redis python3-systemd python3-setuptools python3-systemd
Ensuite, installez le MariaDB serveur de base de données, PHPet des extensions PHP supplémentaires nécessaires à la LibreNMS outil de suivi.
$ sudo apt install mariadb-server php php-fpm php-cli php-xml php-common php-gd php-json php-snmp php-pdo php-mysql php-zip php-curl php-mbstring php-pear php-bcmath
Une fois installé, assurez-vous d’activer Nginx, php-fpm, MariaDBet SNMP services comme indiqué.
$ sudo systemctl enable --now nginx $ sudo systemctl enable --now php7.4-fpm $ sudo systemctl enable --now mariadb $ sudo systemctl enable --now snmpd.service
Étape 2 : Configurer TimeZone pour PHP
L’étape suivante nous oblige à configurer ou à définir le fuseau horaire PHP. Cela se fait dans le php.ini fichier qui est le fichier de configuration PHP par défaut.
Accéder au php.ini fichiers de configuration dans les chemins suivants à l’aide de votre éditeur préféré.
$ sudo nano /etc/php/7.4/fpm/php.ini $ sudo nano /etc/php/7.4/cli/php.ini
Naviguez vers le date.fuseau horaire paramètre et réglez-le sur votre fuseau horaire. Pour obtenir une liste complète de tous les fuseaux horaires pris en charge, rendez-vous sur site PHP officiel.
Dans cet exemple, nous définissons le fuseau horaire sur UTC.
date.timezone = UTC
Enregistrez ensuite les modifications et quittez les fichiers.
Étape 3 : Créer une base de données pour LibreNMS
Dans cette étape, nous allons créer une base de données pour LibreNMS installation. Mais d’abord, sécurisons la base de données en exécutant le script suivant :
$ sudo mysql_secure_installation
Suivez les instructions détaillées qui vous guideront sur la façon de créer le mot de passe root MariaDB, de supprimer les utilisateurs anonymes et de tester la base de données et enfin d’interdire la connexion root à distance.
Ensuite, connectez-vous à MariaDB :
$ sudo mysql -u root -p
Exécutez ensuite les commandes suivantes pour créer une base de données et un utilisateur de base de données et attribuer tous les privilèges à l’utilisateur de la base de données.
CREATE DATABASE librenms_db CHARACTER SET utf8 COLLATE utf8_unicode_ci; CREATE USER 'librenms_user'@'localhost' IDENTIFIED BY '[email protected]'; GRANT ALL PRIVILEGES ON librenms_db.* TO 'librenms_user'@'localhost';
Enregistrez ensuite les modifications et quittez l’invite MariaDB.
FLUSH PRIVILEGES; EXIT;
Quelques ajustements de la base de données sont nécessaires. Ouvrez donc le fichier de configuration MariaDB affiché :
$ sudo vim /etc/mysql/mariadb.conf.d/50-server.cnf
Collez ensuite les lignes de code suivantes dans le champ ‘mysqld‘ section.
innodb_file_per_table=1 lower_case_table_names=0
Enregistrez les modifications et quittez le fichier. Pour appliquer les modifications, redémarrez le serveur de base de données.
$ sudo systemctl restart mariadb
Étape 4 : Ajouter un utilisateur LibreNMS
Vous devez également créer un nouveau LibreNMS utilisateur. C’est l’utilisateur qui LibreNMS sera en cours d’exécution sous. Dans cet exemple, nous créons un utilisateur appelé librenms avec les attributs suivants.
$ sudo useradd librenms -d /opt/librenms -M -r -s /bin/bash $ sudo usermod -aG librenms www-data
- Le
-d
L’option définit le répertoire personnel de l’utilisateur librenms sur /opt/librenms annuaire. - Le
-r
L’option configure l’utilisateur librenms en tant qu’utilisateur système. - Le
-M
l’option ignore la création d’un répertoire personnel pour l’utilisateur puisqu’il a déjà été défini à l’aide de l’option-d
option. - Le
-s
option spécifie le type de shell, dans ce cas, bash.
Étape 5 : Cloner le référentiel Git LibreNMS
En changeant de vitesse, nous allons maintenant cloner le LibreNMS git repository pour commencer à le configurer.
Exécutez les commandes suivantes pour cloner le référentiel Git
$ cd /opt $ sudo git clone https://github.com/librenms/librenms.git
Revenez ensuite au répertoire personnel.
$ cd ~
Ensuite, nous devons attribuer la propriété du répertoire et les autorisations au Librenms répertoire personnel. Pour y parvenir, exécutez les commandes suivantes :
$ sudo chown -R librenms:librenms /opt/librenms $ sudo chmod 771 /opt/librenms
De plus, modifiez les listes de contrôle d’accès pour le répertoire personnel de Librenms à l’aide de la commande setfacl commande. Cela accorde au groupe Librenms l’autorisation de lire et d’écrire sur les sous-répertoires du répertoire personnel.
$ sudo setfacl -d -m g::rwx /opt/librenms/rrd /opt/librenms/logs /opt/librenms/bootstrap/cache/ /opt/librenms/storage/ $ sudo setfacl -R -m g::rwx /opt/librenms/rrd /opt/librenms/logs /opt/librenms/bootstrap/cache/ /opt/librenms/storage/
Étape 6 : Installer les dépendances PHP
Certaines dépendances sont requises par PHP lors de la configuration de l’outil de surveillance LibreNMS. Pour ce faire, vous devez être connecté en tant que librenmsuser.
$ sudo su - librenms
Ensuite, installez toutes les dépendances PHP comme suit.
$ ./scripts/composer_wrapper.php install --no-dev
Une fois l’installation des dépendances terminée, quittez l’utilisateur librenms.
$ exit
Étape 7 : Configurer PHP-FPM pour l’installation de LibreNMS
Pour continuer, nous devons apporter quelques modifications à PHP-FPM afin de soutenir LibreNMS.
Pour y parvenir. Copiez le ‘www.conf‘ fichier qui est le fichier de configuration de pool par défaut pour ‘librenms.conf‘ fichier comme suit.
$ sudo cp /etc/php/7.4/fpm/pool.d/www.conf /etc/php/7.4/fpm/pool.d/librenms.conf
Ensuite, modifiez le ‘librenms.conf‘ dossier.
$ sudo nano /etc/php/7.4/fpm/pool.d/librenms.conf
Changez les paramètres d’utilisateur et de groupe en librenms comme indiqué
user = librenms group = librenms
Ensuite, modifiez l’attribut listen en /run/php-fpm-librenms.sock comme suit.
listen = /run/php-fpm-librenms.sock
Enregistrez les modifications et quittez la configuration. Assurez-vous de redémarrer le service PHP-FPM pour appliquer les modifications.
$ sudo systemctl restart php7.4-fpm
Étape 8 : Configurer le démon SNMP
Le protocole SNMP est un protocole TCP/IP qui collecte et organise les métriques ou les informations des périphériques gérés sur un réseau.
La plupart des outils de surveillance tels que Cacti exploitent le service SNMP pour collecter des informations à partir d’hôtes distants. Et LibreNMS aussi.
Pour configurer le service SNMP, continuez et copiez le snmpd.conf.exemple dossier à la /etc/snmp/snmpd.conf dossier.
$ sudo cp /opt/librenms/snmpd.conf.example /etc/snmp/snmpd.conf
Ensuite, modifiez le snmpd.conf dossier.
$ sudo vim /etc/snmp/snmpd.conf
Localisez le RANDOMSTRINGGOESICI corde.
com2sec readonly default RANDOMSTRINGGOESHERE
Changez-le en librenms.
com2sec readonly default librenms
Enregistrez les modifications et quittez.
Ensuite, téléchargez le fichier de distribution, qui est un fichier qui détecte automatiquement le système d’exploitation des nœuds gérés et distingue sa distribution.
$ sudo curl -o /usr/bin/distro https://raw.githubusercontent.com/librenms/librenms-agent/master/snmp/distro
Rendez-le exécutable et redémarrez le service SNMP.
$ sudo chmod +x /usr/bin/distro $ sudo systemctl restart snmpd
Étape 9 : Configurer Nginx pour LibreNMS
Avec Nginx en tant que serveur Web préféré, nous devons franchir une étape supplémentaire et le configurer afin de servir LibreNMS.
Tout d’abord, nous allons créer un bloc de serveur Nginx comme indiqué.
$ sudo nano /etc/nginx/sites-available/librenms
Collez les lignes de codes suivantes. Pour le nom du serveur attribut, indiquez le nom de domaine enregistré ou l’adresse IP de votre serveur.
server { listen 80; server_name 23.92.30.144; root /opt/librenms/html; index index.php; charset utf-8; gzip on; gzip_types text/css application/javascript text/javascript application/x-javascript image/svg+xml text/plain text/xsd text/xsl text/xml image/x-icon; location / { try_files $uri $uri/ /index.php?$query_string; } location /api/v0 { try_files $uri $uri/ /api_v0.php?$query_string; } location ~ .php { include fastcgi.conf; fastcgi_split_path_info ^(.+.php)(/.+)$; fastcgi_pass unix:/var/run/php/php-fpm.sock; } location ~ /.ht { deny all; } }
Enregistrez les modifications et quittez le fichier de configuration. Ensuite, activez le bloc serveur Nginx en créant un lien symbolique comme indiqué.
$ sudo ln -s /etc/nginx/sites-available/librenms /etc/nginx/sites-enabled/
Redémarrez ensuite Nginx pour appliquer les modifications apportées à la configuration.
$ sudo systemctl restart nginx
De plus, vous pouvez confirmer que tous les paramètres Nginx sont corrects en exécutant la commande :
$ sudo nginx -t
Étape 10 : Copiez la configuration Logrotate et Cron
Par défaut, LibreNMS stocke ses journaux dans le /opt/librenms/logs annuaire. Au fil du temps, cela peut facilement se remplir et présenter des problèmes d’espace. Pour éviter cela, la rotation des anciens fichiers journaux est recommandée.
Par conséquent, copiez le fichier logrotate dans le répertoire LibreNMS vers le /etc/logrotate.d/ annuaire.
$ sudo cp /opt/librenms/misc/librenms.logrotate /etc/logrotate.d/librenms
Tout aussi important, copiez le fichier de travail cron comme suit pour permettre l’interrogation automatique et la découverte de nouveaux appareils
$ sudo cp /opt/librenms/librenms.nonroot.cron /etc/cron.d/librenms
Pour terminer la configuration à partir d’un navigateur, accédez à l’URL suivante :
http://server-ip
Cela vous amène à la liste de contrôle de pré-installation affichée. Si tout semble bon, cliquez sur le ‘base de données‘ icône à droite.
Assurez-vous de remplir tous les détails de la base de données et cliquez sur ‘Vérifier les informations d’identification‘.
Une fois les détails de la base de données validés, cliquez sur ‘Créer une base de données‘.
Lorsque vous avez passé cette étape, cliquez sur l’icône suivante pour créer un Administrateur utilisateur. Indiquez le nom d’utilisateur, le mot de passe et l’adresse e-mail de l’utilisateur administrateur, puis cliquez sur « Ajouter un utilisateur ».
Enfin, cliquez sur le dernier bouton pour terminer l’installation.
Vous tomberez sur cette erreur vous informant que le programme d’installation ‘Impossible d’écrire le fichier : /opt/librenms/.env‘.
Mais ne vous inquiétez pas. Mettez simplement à jour manuellement le /opt/librenms/.env fichier à nouveau avec les détails de la base de données fournis. Ces détails varieront selon votre cas.
Alors, accédez au fichier.
$ sudo nano /opt/librenms/.env
Supprimez tout le contenu du fichier et collez les détails fournis ci-dessus dans le fichier et enregistrez les modifications.
Ensuite, revenez en arrière et cliquez sur le ‘Retenter‘ bouton. Cela vous amène à la page de connexion LibreNMS. Fournissez les identifiants de connexion et cliquez sur « Connexion ».
Une fois connecté, vous obtiendrez un tel tableau de bord. À partir de là, vous pouvez commencer à ajouter vos hôtes et surveiller diverses métriques.
Et c’est tout. Dans ce guide, nous vous avons guidé tout au long de l’installation du LibreNMS outil de surveillance sur Debian 11/10.