So installierst du LibreNMS unter Debian 11
LibreNMS ist ein Open-Source-Netzwerküberwachungssystem, das auf PHP basiert und Autodiscovery unterstützt. Es ist ein Community Fork der Observium Monitoring Software, die unter der GPLv3 Lizenz veröffentlicht wurde. Mit LibreNMS kannst du Betriebssysteme wie Linux, Windows und BSD überwachen. Außerdem unterstützt es eine breite Palette an Netzwerkhardware von verschiedenen Herstellern wie Aruba, Cisco, Dell, D-Link, HP, Mikrotik usw.
Als voll ausgestattetes Überwachungssystem bietet LibreNMS eine Fülle von Funktionen mit zahlreichen Integrationen und Datenerfassungsprotokollen.
Nachfolgend sind einige bemerkenswerte Funktionen von LibreNMS aufgeführt:
- Automatische Erkennung deines gesamten Netzwerks mit mehreren Protokollen wie CDP, BGP, SNMP, OSPF und ARP.
- Mehrere Alarmierungsmethoden per E-Mail, Slacks, IRC, Rocket.chat, Telegram, etc.
- Umfangreiche API für die Verwaltung, grafische Darstellung und Abfrage von Daten aus deinem Überwachungssystem.
- Unterstützt ein Abrechnungssystem zur Erstellung von Bandbreitenrechnungen auf Basis der Netzwerknutzung oder des Transfers.
- Unterstützt mehrere Authentifizierungsmethoden wie MySQL, Radius, LDAP, HTTP und Active Directory.
- Unterstützt Zwei-Faktor-Authentifizierung
- Mehrere Integrationen mit Anwendungen von Drittanbietern wie Graylog, NfSen, Nagios Plugins, Oxidized, RANCID.
- Breite Unterstützung von Hardware-Anbietern, überprüfe deine Anbieter hier.
- Benutzerfreundliches und anpassbares Dashboard.
- Behalte deine LibreNMS Software mit Auto-Update-Unterstützung.
- Native Anwendung für Android und iOS, die die wichtigsten Funktionen bietet.
In dieser Anleitung erfährst du, wie du das LibreNMS-Überwachungstool auf Debian 11 Bullseye installierst und konfigurierst.
Voraussetzungen
Um diesen Leitfaden zu lesen, musst du die folgenden Voraussetzungen erfüllen:
- Betriebssystem: Debian 11 Bullseye
- Root-Rechte
Jetzt können wir mit der Installation beginnen.
Installieren der Pakete Abhängigkeiten
In diesem ersten Schritt installierst du grundlegende und wichtige Pakete für das LireNMS. Du installierst den LEMP Stack, Python-Pakete, snmpd und zusätzliche Systemdienstprogramme wie curl, fping, git und imagemagick.
1. Aktualisiere die Debian-Repositories mit dem folgenden Befehl.
sudo apt update
2. Führe nun den folgenden Befehl aus, um die Paketabhängigkeiten zu installieren.
sudo apt install acl curl composer fping git graphviz imagemagick mariadb-client mariadb-server mtr-tiny nginx-full nmap php7.4-cli php7.4-curl php7.4-fpm php7.4-gd php7.4-gmp php7.4-json php7.4-mbstring php7.4-mysql php7.4-snmp php7.4-xml php7.4-zip python3-dotenv python3-pymysql python3-redis python3-setuptools python3-pip python3-systemd rrdtool snmp snmpd whois
Gib „y“ ein, um die Installation zu bestätigen und drücke „Enter“, um fortzufahren.
3. Nachdem die Installation der Paketabhängigkeiten abgeschlossen ist, führe die folgenden Befehle aus, um Dienste wie Nginx, MariaDB, PHP-FPM und snmpd zu starten und zu aktivieren.
sudo systemctl enable --now nginx sudo systemctl enable --now mariadb sudo systemctl enable --now php7.4-fpm sudo systemctl enable --now snmpd.service
Jetzt hast du die Installation der Paketabhängigkeiten für LibreNMS abgeschlossen.
Neuen Benutzer librenms einrichten
In diesem Schritt erstellst du einen neuen Systembenutzer „librenms“. Dein LibreNMS-Überwachungstool wird unter dem Benutzer „librenms“ laufen.
1. Führe den folgenden Befehl aus, um einen neuen „librenms“-Benutzer anzulegen.
useradd librenms -d /opt/librenms -M -r -s "$(which bash)"
Optionen, die du kennen musst:
- -d /opt/librenms: Setze das Standard-Home-Verzeichnis für den Benutzer „librenms“ auf „/opt/librenms“.
- -M: Kein Heimatverzeichnis für den Benutzer „librenms“ erstellen.
- -r: Mache diesen Benutzer ‚librenms‘ zum Systembenutzer.
- -s „$(die bash)“: Standard-Shell für den Benutzer „librenms“ einrichten. Die Shell wird die Ausgabe des Befehls „which bash“ sein.
2. Als Nächstes erstellst du ein neues Passwort für den Benutzer „librenms“ mit dem folgenden Befehl.
passwd librenms
Gib ein neues sicheres Passwort ein und wiederhole es.
Fahre mit dem nächsten Schritt fort, um dein System für die Installation von LibreNMS zu konfigurieren.
Zeitzonensystem und PHP einrichten
Die Zeit ist ein wesentlicher Bestandteil der Überwachung. In diesem Schritt stellst du die Standardzeitzone für dein PHP und die Systemzeitzone ein. Stelle sicher, dass beide Zeitzonen (PHP und System) synchronisiert sind und die gleiche Zeitzone verwenden.
1. Bearbeite die Konfiguration „php.ini“ für PHP-FPM und CLI mit dem folgenden Befehl.
sudo nano /etc/php/7.4/fpm/php.ini sudo nano /etc/php/7.4/cli/php.ini
Entferne den Kommentar in der Option „date.timezone“ und füge deine Zeitzone dahinter ein. In diesem Beispiel verwenden wir die Zeitzone„Europa/Paris“.
date.timezone = Europe/Paris
Speichere beide Konfigurationen und beende das Programm.
2. Starte nun PHP-FPM neu, um die neue Konfiguration mit folgendem Befehl anzuwenden.
sudo systemctl restart php7.4-fpm
3. Danach führst du den folgenden Befehl timedatectl aus, um die Standardzeitzone des Systems auf„Europa/Paris“ einzustellen.
sudo timedatectl set-timezone Europe/Paris
Damit hast du die Konfiguration der Zeitzone für dein PHP und dein System abgeschlossen.
MariaDB einrichten und Datenbank erstellen
In diesem Schritt fügst du die Konfiguration für MariaDB als Voraussetzung für LibreNMS hinzu und erstellst dann eine neue MariaDB-Datenbank und einen Benutzer für die LibreNMS-Installation.
1. Bearbeite die MariaDB-Serverkonfiguration„/etc/mysql/mariadb.conf.d/50-server.cnf“ mit dem Editor nano.
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
Füge die folgende Konfiguration unter dem Abschnitt ‚[mysqld]‘ hinzu.
[mysqld] ..... .... innodb_file_per_table=1 lower_case_table_names=0
Speichere die Konfiguration und beende sie.
2. Um die neue MariaDB-Konfiguration anzuwenden, starte den Dienst mit dem Befehl systemctl neu.
sudo systemctl restart mariadb
Jetzt hast du dem MariaDB-Server eine zusätzliche Konfiguration hinzugefügt.
3. Als Nächstes loggst du dich mit dem Befehl„mysql“ als Benutzer„root“ in die MariaDB/MySQL-Shell ein.
mysql -u root -p
Gib dein Passwort ein oder drücke„Enter„, um dich anzumelden.
4. Führe nun die folgenden MariaDB-Abfragen aus, um eine neue Datenbank und den Benutzer„librenms“ zu erstellen. Achte darauf, dass du das Passwort„LibreNMSPassword“ durch dein sicheres Passwort ersetzt.
CREATE DATABASE librenms CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; CREATE USER 'librenms'@'localhost' IDENTIFIED BY 'LibreNMSPassword'; GRANT ALL PRIVILEGES ON librenms.* TO 'librenms'@'localhost'; FLUSH PRIVILEGES;
Gib „exit“ ein und drücke„Enter„, um dich von der MariaDB-Shell abzumelden.
Jetzt hast du die Datenbank und den Benutzer für die LibreNMS-Installation erstellt.
Erstelle einen neuen PHP-FPM-Pool
Der FastCGI Process Manager (FPM) oder PHP-FPM ermöglicht es dir, einen eigenen Pool für deine PHP-Anwendungen zu erstellen. Standardmäßig betreibt der PHP-FPM den „www“-Pool mit der Konfiguration„/etc/php/7.4/fpm/pool.d/www.conf“.
In diesem Schritt wirst du einen neuen benutzerdefinierten PHP-FPM-Pool für LibreNMS erstellen. Du erstellst einen neuen PHP-FPM-Pool„librenms“ mit der Konfiguration „/etc/php/7.4/fpm/pool.d/librenms.conf„, der unter dem Benutzer„librenms“ läuft.
1. Kopiere zunächst die Standard-Poolkonfiguration„www.conf“ mit folgendem Befehl nach„librenms.conf„.
cp /etc/php/7.4/fpm/pool.d/www.conf /etc/php/7.4/fpm/pool.d/librenms.conf
2. Bearbeite die benutzerdefinierte Pool-Konfiguration „librenms.conf“ mit dem Editor nano.
sudo nano /etc/php/7.4/fpm/pool.d/librenms.conf
Ändere am Anfang der Zeile den Standardbenutzer von „[www]“ in „[librenms]“.
[librenms]
Ändere den Standardbenutzer und die Standardgruppe in„librenms„.
user = librenms group = librenms
Ändere die standardmäßige PHP-FPM-Sock-Datei in „/run/php-fpm-librenms.sock„.
listen = /run/php-fpm-librenms.sock
Speichere die Konfiguration und beende das Programm.
3. Starte anschließend den PHP-FPM-Dienst neu, um die neue Konfiguration anzuwenden.
sudo systemctl restart php7.4-fpm
Jetzt wird der PHP-FPM einen neuen Pool „librenms“ mit der Sock-Datei „/run/php/php-fpm-librenms.sock“ anlegen.
4. Überprüfe die„librenms„-Sock-Datei mit dem folgenden Befehl.
ss -anl | grep librenms
Du wirst eine ähnliche Ausgabe wie unten sehen.
u_str LISTEN 0 511 /run/php/php-fpm-librenms.sock 69199 * 0 users:(("php-fpm7.4",pid=26105,fd=10),("php-fpm7.4",pid=26104,fd=10),("php-fpm7.4",pid=26103,fd=7))
Jetzt kannst du das Monitoring-Tool LibreNMS herunterladen und installieren.
LibreNMS herunterladen
In diesem Schritt lädst du den Quellcode von LibreNMS herunter und richtest die Berechtigungs- und Zugriffskontrolle für das Tool ein.
1. Ändere dein Arbeitsverzeichnis in „/opt“ und lade den LibreNMS-Quellcode mit dem git-Befehl herunter.
cd /opt/ git clone https://github.com/librenms/librenms.git
Deine LibreNMS-Installation befindet sich im Verzeichnis„/opt/librenms„.
2. Ändere die Eigentümerschaft und die Rechte der LibreNMS-Installation mit dem folgenden Befehl.
chown -R librenms:librenms /opt/librenms chmod 771 /opt/librenms
3. Richte als Nächstes Zugriffskontrolllisten (ACLs) für das LibreNMS-Installationsverzeichnis ein. Erlaube der Gruppe mit dem folgenden Befehl setfacl die Lese-, Schreib- und Ausführungsrechte für jedes der folgenden Verzeichnisse.
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/
Fahre mit dem nächsten Schritt fort, um die PHP-Abhängigkeiten für LibreNMS zu installieren.
Installation der LibreNMS-PHP-Abhängigkeiten
Um die LibreNMS-PHP-Abhängigkeiten zu installieren, musst du dich als Benutzer „librenms“ anmelden und den composer_wrapper verwenden, der im LibreNMS-Quellcode enthalten ist.
1. Melde dich mit folgendem Befehl als Benutzer „librenms“ an.
su - librenms
2. Führe das PHP-Skript„composer_wrapper.php“ aus, um die Abhängigkeiten der PHP-Pakete für LibreNMS zu installieren.
./scripts/composer_wrapper.php install --no-dev
3. Nachdem alle Download-Prozesse abgeschlossen sind, gibst du„exit“ ein und drückst„Enter„, um dich vom Benutzer„librenms“ abzumelden.
Jetzt hast du die Installation der PHP-Abhängigkeiten für LibreNMS abgeschlossen.
Nginx für LibreNMS konfigurieren
In diesem Schritt erstellst du einen neuen Nginx-Serverblock für das LibreNMS-Überwachungstool. In diesem Beispiel wird der Domainname „librenms.example.io“ verwendet.
1. Erstelle mit dem nano-Editor eine neue Nginx-Serverblock-Konfiguration„librenms„.
sudo nano /etc/nginx/sites-available/librenms
Kopiere die folgende Konfiguration und füge sie ein. Achte darauf, dass du den Domainnamen durch deine Domain ersetzt.
server { listen 80; server_name librenms.example.io; 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 ~ [^/]\.php(/|$) {
fastcgi_pass unix:/run/php-fpm-librenms.sock;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
include fastcgi.conf;
}
location ~ /\.(?!well-known).* {
deny all;
}
}
Für eine sichere HTTPS LibreNMS-Installation, verwende die folgende Konfiguration. Achte darauf, dass du den Domainnamen und den Pfad der SSL-Zertifikate änderst.
server { listen 80; server_name librenms.example.io; rewrite ^ https://$server_name$request_uri? permanent; }
server {
server_name librenms.example.io;
root /opt/librenms/html;
index index.php;
listen 443 ssl http2;
server_name example.io;
ssl_certificate /etc/letsencrypt/live/librenms.example.io/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/librenms.example.io/privkey.pem;
ssl_session_cache builtin:1000 shared:SSL:10m;
ssl_protocols TLSv1.2;
ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
ssl_prefer_server_ciphers on;
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 ~ [^/]\.php(/|$) {
fastcgi_pass unix:/run/php/php-fpm-librenms.sock;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
include fastcgi.conf;
}
location ~ /\.(?!well-known).* {
deny all;
}
}
Speichere die Konfiguration und beende sie.
2. Als Nächstes aktivierst du den neuen virtuellen Host„librenms“ und überprüfst die nginx-Konfiguration mit dem folgenden Befehl.
sudo ln -s /etc/nginx/sites-available/librenms /etc/nginx/sites-enabled/ sudo nginx -t
Wenn deine Konfiguration korrekt ist, siehst du die Meldung „test is successful“.
3. Starte abschließend den nginx-Dienst neu, um die neue Konfiguration anzuwenden.
sudo systemctl restart nginx
Jetzt hast du die Konfiguration des Nginx-Serverblocks für LibreNMS abgeschlossen. Jetzt kannst du mit der Installation von LibreNMS beginnen.
LibreNMS-Installation starten
Um die LibreNMS-Installation zu starten, öffne deinen Webbrowser und gib den LibreNMS-Domainnamen in die Adressleiste ein.
1. Du siehst die LibreNMS„Pre-Install Checks„. Vergewissere dich, dass alle Checkstatus grün markiert sind, und klicke dann auf das Datenbanksymbol, um fortzufahren.
2. Gib deine Datenbank, deinen Benutzer und dein Passwort ein. Klicke dann auf die Schaltfläche„Check Credentials„.
Dadurch werden deine MariaDB-Datenbank und dein Benutzer überprüft. Wenn die Prüfung erfolgreich war, siehst du eine grüne Markierung auf dem Feld„Datenbank-Zugangsdaten„.
3. Klicke nun auf die Schaltfläche„Datenbank erstellen„, um das Datenbankschema für dein LibreNMS zu importieren.
Wenn die Datenbankkonfiguration abgeschlossen ist, vergewissere dich, dass die beiden Abschnitte„Database Credentials“ und„Build Database“ grün markiert sind.
4. Klicke jetzt auf das Symbol„Schlüssel„, um fortzufahren.
Gib einen neuen Benutzer, ein Passwort und eine E-Mail-Adresse ein, um den LibreNMS-Admin-Benutzer zu erstellen.
Klicke auf die Schaltfläche„Benutzer hinzufügen„.
Wenn dein Admin-Benutzer erstellt wurde, siehst du deinen Benutzer-Admin auf der unten abgebildeten Seite.
5. Klicke auf das Markierungssymbol, um die Installation abzuschließen. Unten siehst du die Ausgabe, die du erhalten wirst.
Um die LibreNMS-Installation abzuschließen, öffne die LibreNMS-Validierungsseite (siehe unten).
https://librenms.example.io/validate
6. Du wirst auf die LibreNMS Anmeldeseite weitergeleitet.
Gib deinen Admin-Benutzer und dein Passwort ein und klicke auf die Schaltfläche„Anmelden„.
7. Auf den LibreNMS-Validierungsseiten werden dir einige Fehler angezeigt (siehe unten).
Du kannst verschiedene Fehler haben, aber die LibreNMS-Validierungsseite bietet Lösungen für deinen Fehler.
8. Im Folgenden findest du einige Fehler in unserer Installation und wie du sie beheben kannst.
– Datenbank-Zeitzone korrigieren
Melde dich mit deinem Root-Benutzer in der MariaDB-Shell an.
mysql -u root -p
Ändere die aktuelle Datenbank in „librenms“.
use librenms;
Führe nun die folgenden Abfragen aus, um den Zeitzonenfehler in der Datenbank zu beheben.
SET TIME_ZONE='+00:00'; ALTER TABLE `notifications` CHANGE `datetime` `datetime` timestamp NOT NULL DEFAULT '1970-01-02 00:00:00' ; ALTER TABLE `users` CHANGE `created_at` `created_at` timestamp NOT NULL DEFAULT '1970-01-02 00:00:01' ;
– Systemfehler beheben
Füge den Binärbefehl LibreNMS „lnms“ mit folgendem Befehl in das Verzeichnis„/usr/bin“ ein.
sudo ln -s /opt/librenms/lnms /usr/bin/lnms
Aktiviere die Bash-Vervollständigung für den Befehl „lnms“.
sudo cp /opt/librenms/misc/lnms-completion.bash /etc/bash_completion.d/
Kopiere abschließend die logrotate-Konfiguration für LibreNMS in das Verzeichnis „/etc/logrotate.d/“.
sudo cp /opt/librenms/misc/librenms.logrotate /etc/logrotate.d/librenms
9. Nachdem du die LibreNMS-Fehler behoben hast, gehe zurück zu den LibreNMS-Validierungsseiten und lade die Seite neu.
Vergewissere dich jetzt, dass der Status„OK“ lautet.
10. Klicke auf das Menü„Übersicht„, um das Dashboard anzuzeigen.
Damit hast du die Installation von LibreNMS auf Debian 11 Bullseye abgeschlossen.
Fazit
Herzlichen Glückwunsch! Du hast das LibreNMS-Überwachungstool mit Nginx, PHP-FPM und der MariaDB-Datenbank erfolgreich auf dem neuesten Debian 11 Bullseye installiert. Außerdem hast du gelernt, wie du den benutzerdefinierten PHP-FPM-Pool erstellst und einige Fehler bei der LibreNMS-Installation behebst.
Im nächsten Schritt lernst du, wie du dem LibreNMS-Überwachungstool Hosts zur Überwachung hinzufügst.