LibreNMS est un outil de surveillance de réseau gratuit et open-source pour le système d'exploitation Linux. Vous pouvez surveiller différents systèmes d'exploitation tels que Linux, Windows, FreeBSD et plusieurs périphériques réseau tels que Cisco, Juniper, Foundry, FreeBSD, Brocade et bien d'autres avec LibreNMS. Il utilise les protocoles SNMP, ARP, CDP, FDP, LLDP, OSPF et BGP pour découvrir automatiquement l'ensemble du réseau. Il dispose d'une interface Web simple et conviviale qui vous aide à surveiller tous les appareils à partir du navigateur Web. Il dispose d'un riche ensemble de fonctionnalités, notamment la découverte automatique, les alertes personnalisables, l'accès à l'API, les mises à jour automatiques et bien d'autres.
Dans ce tutoriel, nous allons vous montrer étape par étape comment installer LibreNMS sur Ubuntu 20.04.
Prérequis
- Un serveur exécutant Ubuntu 20.04.
- Un mot de passe root est configuré sur.
Mise en route
Tout d'abord, il est recommandé de mettre à jour vos packages système vers la dernière version. Vous pouvez le faire avec la commande suivante :
apt-get update -y
Après avoir mis à jour tous les packages, installez toutes les dépendances requises pour LibreNMS avec la commande suivante :
apt-get install rrdtool whois fping imagemagick graphviz mtr-tiny nmap python3-mysqldb snmp snmpd python3-pip python3-memcache mtr-tiny acl unzip git curl wget -y
Une fois toutes les dépendances installées, vous pouvez passer à l'étape suivante.
Installer le serveur LEMP
Ensuite, vous devrez installer le serveur Web Nginx, le serveur MariaDB, PHP et d'autres extensions PHP sur votre serveur. Vous pouvez tous les installer en exécutant la commande suivante :
apt-get install nginx mariadb-server php php-pear php-cgi php-common php-curl php-mbstring php-gd php-mysql php-bcmath php-imap php-json php-xml php-snmp php- fpm php-zip -y
Après avoir installé tous les packages, vous devrez définir le fuseau horaire dans votre fichier php.ini.
Tout d'abord, trouvez le fuseau horaire de votre système avec la commande suivante :
cat /etc/timezone
Vous devriez voir le résultat suivant :
etc/UTC
Ensuite, éditez les deux fichiers php.ini avec la commande suivante :
nano /etc/php/7.4/fpm/php.ini
nano /etc/php/7.4/cli/php.ini
Définissez le fuseau horaire de votre système comme indiqué ci-dessous :
date.timezone =Etc/UTC
Enregistrez et fermez le fichier lorsque vous avez terminé. Redémarrez ensuite le service PHP-FPM pour appliquer les modifications :
systemctl redémarrer php7.4-fpm
Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.
Configurer la base de données MariaDB
Ensuite, vous devrez créer une base de données et un utilisateur pour LibreNMS.
Tout d'abord, connectez-vous au shell MariaDB avec la commande suivante :
mysql
Une fois connecté, créez une base de données et un utilisateur avec la commande suivante :
MariaDB [(none)]> créer une base de données librenmsdb CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
MariaDB [(none)]> accorder tous les privilèges sur librenmsdb.* à [email protected] IDENTIFIED by "password" ;Ensuite, videz les privilèges et quittez le shell MariaDB avec la commande suivante :
MariaDB [(none)]> flush privilèges ;
MariaDB [(none)]> exit ;Ensuite, modifiez le fichier de configuration MariaDB et ajoutez les paramètres souhaités :
nano /etc/mysql/mariadb.conf.d/50-server.cnfAjoutez les lignes suivantes dans la section [mysqld] :
innodb_file_per_table=1sql-mode=""lower_case_table_names=0Enregistrez et fermez le fichier puis redémarrez le service MariaDB pour appliquer les modifications :
systemctl redémarre mariadbÀ ce stade, votre MariaDB est configurée. Vous pouvez maintenant passer à l'étape suivante.
Installer et configurer LibreNMS
Tout d'abord, vous devrez créer un utilisateur distinct pour exécuter LibreNMS. Vous pouvez l'ajouter avec la commande suivante :
useradd -r -M -d /opt/librenms librenmsEnsuite, ajoutez l'utilisateur librenms au groupe www-data avec la commande suivante :
usermod -a -G librenms www-dataEnsuite, changez le répertoire en /opt et téléchargez la dernière version de LibreNMS avec la commande suivante :
cd /opt
clone git https://github.com/librenms/librenms.git librenmsEnsuite, créez un fichier journal pour LibreNMS avec la commande suivante :
touchez /opt/librenms/logs/librenms.logEnsuite, copiez l'exemple de fichier de configuration SNMP avec la commande suivante :
cp /opt/librenms/snmpd.conf.example /etc/snmp/snmpd.confEnsuite, modifiez le fichier snmpd.conf :
nano /etc/snmp/snmpd.confRecherchez la ligne suivante :
com2sec en lecture seule par défaut RANDOMSTRINGGOESHEREEt, remplacé par la ligne suivante :
com2sec en lecture seule par défaut mysnmpserverkeyEnregistrez et fermez le fichier puis téléchargez le binaire de distribution SNMP et copiez-le à l'emplacement souhaité :
curl -o distro https://raw.githubusercontent.com/librenms/librenms-agent/master/snmp/distro
chmod +x distro
mv distro /usr/bin/distroEnsuite, redémarrez le service SNMP pour appliquer les modifications :
systemctl redémarre snmpdEnsuite, vous devrez également copier le fichier cron et logrotate de LibreNMS à l'emplacement souhaité. Vous pouvez les copier avec la commande suivante :
cp /opt/librenms/librenms.nonroot.cron /etc/cron.d/librenms
cp /opt/librenms/misc/librenms.logrotate /etc/logrotate.d/librenmsEnsuite, changez le répertoire en librenms et installez les dépendances requises à l'aide de la commande suivante :
cd /opt/librenms
./scripts/composer_wrapper.php install --no-devUne fois toutes les dépendances installées, modifiez la propriété du répertoire librenms et accordez les autorisations nécessaires avec la commande suivante :
chown -R www-data:librenms /opt/librenms
chmod -R 775 /opt/librenms
setfacl -d -m g::rwx /opt/librenms/rrd /opt/librenms/ logs /opt/librenms/bootstrap/cache/ /opt/librenms/storage/
setfacl -R -m g ::rwx /opt/librenms/rrd /opt/librenms/logs /opt/librenms/bootstrap/cache/ /opt/librenms/storage/Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.
Configurer Nginx pour LibreNMS
Ensuite, vous devrez créer un fichier de configuration d'hôte virtuel Nginx pour LibreNMS. Vous pouvez le créer avec la commande suivante :
nano /etc/nginx/conf.d/librenms.confAjoutez les lignes suivantes :
serveur { écoute 80 ; nom_serveur librenms.exemple.com ; racine /opt/librenms/html ; index index.php; jeu de caractères utf-8 ; gzip activé ; 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; } emplacement /api/v0 { try_files $uri $uri/ /api_v0.php?$query_string; } emplacement ~ \.php { inclure fastcgi.conf; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/var/run/php/php7.4-fpm.sock ; } emplacement ~ /\.ht { refuser tout ; }}Enregistrez et fermez le fichier puis vérifiez le Nginx pour toute erreur de syntaxe avec la commande suivante :
nginx -tVous devriez voir le résultat suivant :
nginx :la syntaxe du fichier de configuration /etc/nginx/nginx.conf est oknginx :le test du fichier de configuration /etc/nginx/nginx.conf est réussiEnsuite, redémarrez le service Nginx pour appliquer les modifications :
systemctl redémarrer nginxVous pouvez également vérifier l'état du service Nginx à l'aide de la commande suivante :
statut systemctl nginxVous devriez obtenir le résultat suivant :
? nginx.service - Un serveur Web hautes performances et un serveur proxy inverse Chargé :chargé (/lib/systemd/system/nginx.service ; activé ; préréglage du fournisseur :activé) Actif :actif (en cours d'exécution) depuis le sam. 2020-09-05 06 :15:20 UTC ; il y a 4min 5s Docs :man:nginx(8) Process :28239 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on ; master_process activé ; (code=exited, status=0/SUCCESS) Processus :28250 ExecStart=/usr/sbin/nginx -g daemon on ; master_process activé ; (code=exited, status=0/SUCCESS) PID principal :28253 (nginx) Tâches :3 (limite :2353) Mémoire :3,4 M CGroup :/system.slice/nginx.service ??28253 nginx :processus maître /usr/ sbin/nginx -g démon activé ; master_process activé ; ??28254 nginx :processus de travail ??28255 nginx :processus de travailSep 05 06:15:20 ubuntu2004 systemd[1] :Démarrage Un serveur Web haute performance et un serveur proxy inverse...Sep 05 06:15:20 ubuntu2004 systemd[ 1] :Démarré Un serveur Web hautes performances et un serveur proxy inverse.Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.
Accéder à l'interface Web LibreNMS
Maintenant, ouvrez votre navigateur Web et accédez au LibreNMS en utilisant l'URL http://librenms.example.com. Vous serez redirigé vers la page de vérification de la pré-installation :
Assurez-vous que toutes les extensions requises sont installées, puis cliquez sur la base de données réglages. Vous devriez voir la page suivante :
Fournissez votre nom d'utilisateur de base de données, le nom de la base de données, le mot de passe et cliquez sur Vérifier Identifiants bouton. Une fois l'opération réussie, vous devriez voir la page suivante :
Maintenant, cliquez sur Construire Base de données bouton. Vous devriez voir la page suivante :
Ensuite, cliquez sur Admin utilisateur création bouton. Vous devriez voir la page suivante :
Indiquez votre nom d'utilisateur administrateur, votre adresse e-mail, votre mot de passe et cliquez sur Ajouter Utilisateur bouton. Vous devriez voir la page suivante :
Ensuite, cliquez sur Terminer installation bouton. Vous devriez voir la page suivante :
Cliquez ensuite sur "valider votre installation ". Vous devriez voir la page de connexion LibreNMS :
Fournissez votre nom d'utilisateur et votre mot de passe d'administrateur LibreNMS et cliquez sur Connexion bouton. Vous devriez voir le tableau de bord LibreNMS :
Conclusion
Toutes nos félicitations! vous avez installé et configuré avec succès l'outil de surveillance du réseau LibreNMS sur le serveur Ubuntu 20.04. Vous pouvez maintenant ajouter un appareil ou un hôte et commencer la surveillance à partir du tableau de bord LibreNMS. N'hésitez pas à me demander si vous avez des questions.