LibreNMS ist ein Open-Source-Überwachungstool, das auf PHP/MYSQL/SNMP basiert. Es ist ein Netzwerküberwachungssystem mit Funktionen, das Unterstützung für eine breite Palette von Netzwerkhardware und Betriebssystemen bietet, darunter FreeBSD, Cisco, Linux, HP usw.
In diesem Tutorial zeige ich Ihnen, wie Sie das Open-Source-Überwachungstool „LibreNMS“ mit Nginx als Webserver, MariaDB als Datenbank und Ubuntu 16.04-Server als Hauptserver installieren und konfigurieren. Wir führen Sie Schritt für Schritt durch die Installation und Konfiguration von „LibreNMS“ auf dem Ubuntu 16.04 Xenial Xerus-Server.
Was wir tun werden
- Pakete installieren
- Nginx-Webserver installieren
- Installieren und konfigurieren Sie PHP-FPM
- MariaDB installieren und konfigurieren
- Laden Sie LibreNMS herunter und konfigurieren Sie es
- LibreNMS-Web-Installer
- Endgültige Konfiguration
Voraussetzungen
- Ubuntu 16.04-Server
- Root-Berechtigungen
Schritt 1 - Pakete installieren
Der erste Schritt, den wir für die Installation von LibreNMS Monitoring Tools ausführen müssen, besteht darin, einige Pakete zu installieren, die auf dem Server benötigt werden. Verbinden Sie sich mit Ihrem Server und aktualisieren Sie das Repository.
ssh [email protected]
sudo apt update
Installieren Sie alle erforderlichen Pakete für LibreNMS aus dem Ubuntu-Repository mit dem folgenden Befehl.
apt install fping imagemagick whois mtr-tiny nmap python-mysqldb snmpd rrdtool git snmp graphviz
Fahren Sie nach Abschluss der Installation mit dem nächsten Schritt fort.
Schritt 2 – Nginx-Webserver installieren
In diesem Tutorial führen wir LibreNMS unter dem Nginx-Webserver aus. Nginx ist ein leistungsstarker Webserver, der in den Ubuntu-Repositories verfügbar ist.
Installieren Sie nginx mit dem apt-Befehl aus dem Repository auf folgende Weise.
apt install nginx
Starten Sie anschließend den Dienst und aktivieren Sie ihn so, dass er bei jedem Systemstart automatisch ausgeführt wird.
systemctl start nginx
systemctl enable nginx
Der Nginx-Webserver wird unter dem Standardport 80 ausgeführt. Wir können den Port mit dem Befehl netstat überprüfen und Nginx mit dem Befehl curl überprüfen, um den HTTP-Statuscode zu erhalten, wie unten gezeigt.
netstat -plntu | grep 80
curl -I localhost
Die Nginx-Installation ist abgeschlossen.
Schritt 3 – PHP-FPM installieren und konfigurieren
LibreNMS ist ein PHP-basiertes Überwachungstool für Webanwendungen. Es bietet Unterstützung für die neue PHP-Version 7.0 und wir werden es für dieses Handbuch verwenden.
Installieren Sie PHP, PHP-FPM und alle für die LibreNMS-Installation erforderlichen Erweiterungen/Module mit dem folgenden apt-Befehl.
apt install php7.0-cli php7.0-mysql php7.0-gd php7.0-snmp php-pear php7.0-curl php7.0-fpm php7.0-mcrypt php7.0-json php-net-ipv4 php-net-ipv6
Als nächstes müssen wir den php.ini-Dateien einige Konfigurationen hinzufügen. Wir müssen die Standardzeitzone in der php.ini-Datei definieren und sicherstellen, dass die Zeitzone mit der aktuellen vom System verwendeten Zeitzone übereinstimmt.
Überprüfen Sie die aktuell vom System verwendete Zeitzone mit dem folgenden Befehl.
timedatectl
Sie sollten ein ähnliches Ergebnis wie das folgende erhalten.
Wie Sie sehen, verwendet der Server die Datei „Europe/Paris ' Zeitzone.
Gehen Sie nun in das PHP-Konfigurationsverzeichnis und bearbeiten Sie die php.ini-Dateien für die cli- und fpm-Konfiguration.
cd /etc/php/7.0/
vim fpm/php.ini
vim cli/php.ini
Kommentieren Sie „date.time“ aus ' Zeile und ändern Sie den Wert mit unserer Systemzeitzone 'Europe/Paris '.
date.time = Europe/Paris
Entkommentieren Sie die CGI-Konfiguration unten, ändern Sie den Wert auf 0.
cgi.fix_pathinfo = 0
Speichern und beenden.
Die gesamte Konfiguration ist abgeschlossen. Starten Sie nun den Dienst und aktivieren Sie ihn so, dass er jedes Mal beim Systemstart gestartet wird, indem Sie die folgenden systemctl-Befehle verwenden.
systemctl start php7.0-fpm
systemctl enable php7.0-fpm
PHP-FPM läuft jetzt auf dem Ubuntu-Server - es läuft unter der Sockendatei. Überprüfen Sie es mit dem netstat-Befehl.
netstat -pl | grep php
Schritt 4 – MariaDB installieren und konfigurieren
In diesem Schritt installieren wir den Mariadb-Server für die LibreNMS-Datenbank. Wir installieren, konfigurieren und erstellen eine neue Datenbank und einen neuen Benutzer für die LibreNMS-Installation.
Installieren Sie mariadb-server aus dem Ubuntu-Repository mit dem folgenden apt-Befehl.
apt install mariadb-server mariadb-client mariadb
Wenn dies erledigt ist, starten Sie den Dienst und aktivieren Sie ihn so, dass er beim Systemstart automatisch ausgeführt wird, was Sie mit den folgenden systemctl-Befehlen tun können.
systemctl start mysql
systemctl enable mysql
Der Datenbankserver mariadb läuft jetzt. Als nächstes müssen wir das Root-Passwort für Mariadb konfigurieren. Wir können den 'mysql_secure_installation'-Befehl unten verwenden, um das Root-Passwort zu konfigurieren.
mysql_secure_installation
Sie werden nach dem neuen Root-Passwort gefragt - geben Sie Ihr Passwort ein und drücken Sie die Eingabetaste, um fortzufahren.
Set root password? [Y/n] Y
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y
Das Root-Passwort für Mariadb wurde konfiguriert.
Als nächstes müssen wir eine neue Datenbank und einen neuen Benutzer für LibreNMS erstellen. Wir erstellen eine neue Datenbank namens „librenms“, einen neuen Benutzer namens „librenms“ mit dem Passwort „hakase-labs123“.
Melden Sie sich mit dem folgenden Befehl bei der Mariadb-Shell an.
mysql -u root -p
Type the ROOT Password:
Führen Sie unten Mariadb-Abfragen aus, um eine neue Datenbank und einen neuen Benutzer zu erstellen, und gewähren Sie dem neuen Benutzer alle Berechtigungen für die Datenbank.
CREATE DATABASE librenms CHARACTER SET utf8 COLLATE utf8_unicode_ci;
CREATE USER 'librenms'@'localhost' IDENTIFIED BY 'hakase-labs123';
GRANT ALL PRIVILEGES ON librenms.* TO 'librenms'@'localhost';
FLUSH PRIVILEGES;
Eine neue Datenbank und ein neuer Benutzer für LibreNMS wurden erstellt.
Für die LibreNMS-Installation müssen wir der Konfigurationsdatei einige Konfigurationen hinzufügen. Gehen Sie in das Verzeichnis ‚/etc/mysql/‘ und bearbeiten Sie die Mariadb-Konfigurationsdatei.
cd /etc/mysql/
vim mariadb.conf.d/50-server.cnf
Fügen Sie die Konfiguration unten unter „[mysqld]“ ein ' Abschnitt.
innodb_file_per_table=1
sql-mode=""
lower_case_table_names=0
Speichern und beenden.
Wenden Sie nun die neue Konfiguration an, indem Sie den Dienst neu starten.
systemctl restart mysql
Die Konfiguration der Mariadb-Datenbank ist abgeschlossen.
Schritt 5 – LibreNMS herunterladen und konfigurieren
In diesem Schritt konfigurieren wir das System für die Installation von LibreNMS.
- Neuen Benutzer hinzufügen und LibreNMS herunterladen
Erstellen Sie einen neuen Systembenutzer namens „librenms“, definieren Sie „/opt/librenms“ als Standard-Home-Verzeichnis für den Benutzer und weisen Sie den neuen Benutzer „librenms“ der www-data-Gruppe zu.
Führen Sie den folgenden Befehl aus, um alles zu erledigen.
useradd librenms -d /opt/librenms -M -r
usermod -a -G librenms www-data
Gehen Sie nun in das Verzeichnis ‚/opt/‘ und laden Sie den LibreNMS-Quellcode mit dem Befehl git herunter.
cd /opt/
git clone https://github.com/librenms/librenms.git librenms
Erstellen Sie als Nächstes ein neues Verzeichnis für libreNMS-Protokolldateien und rrd-Dateien.
mkdir -p /opt/librenms/{logs,rrd}
Ändern Sie die Eigentumsberechtigungen für das Verzeichnis „rrd“ auf „775“ und ändern Sie den Eigentümer des Verzeichnisses „librenms“ in den Benutzer und die Gruppe „librenms“.
chmod -R 775 /opt/librenms/rrd/
chown -R librenms:librenms /opt/librenms/
Eine neue „librenms“ wurde erstellt und der LibreNMS-Quellcode wurde heruntergeladen.
- LibreNMS Virtualhost konfigurieren
Wechseln Sie in das Konfigurationsverzeichnis „nginx“ und erstellen Sie eine neue virtuelle Hostdatei „librenms“ mit vim
cd /etc/nginx/
vim sites-available/librenms
Fügen Sie dort die folgende Konfiguration des virtuellen LibreNMS-Hosts ein.
server {
# Add your own domain name
listen 80;
server_name librenms.irsyadf.me;
# LibreNMS Webroot directory
root /opt/librenms/html;
index index.php;
# LibreNMS logs
access_log /opt/librenms/logs/access_log;
error_log /opt/librenms/logs/error_log;
# Enabling Gzip compression on Nginx
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;
}
# PHP-FPM handle all .php files requests
location ~ \.php {
include fastcgi.conf;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
}
location ~ /\.ht {
deny all;
}
}
Speichern und schließen. Aktivieren Sie nun den virtuellen Host.
ln -s /etc/nginx/sites-available/librenms /etc/nginx/sites-enabled/
Testen Sie die nginx-Konfiguration und stellen Sie sicher, dass kein Fehler vorliegt. Starten Sie dann den Dienst neu.
nginx -t
systemctl restart nginx
- Konfigurieren Sie die UFW-Firewall
Fügen Sie der Firewall neue Ports hinzu. Fügen Sie der ufw-Firewall neue ssh, http, https und den von snmpd verwendeten Port 161 udp hinzu.
Führen Sie die folgenden ufw-Befehle aus.
ufw allow ssh
ufw allow http
ufw allow https
ufw allow 161/udp
Starten Sie die ufw-Firewall mit dem Befehl ufw enable wie unten gezeigt.
ufw enable
Geben Sie „y“ ein und drücken Sie zur Bestätigung „Enter“. Starten und aktivieren Sie es, um es jedes Mal beim Systemstart zu starten.
Wenn Sie den Firewall-Status sehen möchten, führen Sie den Befehl „ufw status“ aus.
ufw status
Sie erhalten den Firewall-Status – aktiv oder inaktiv – und die Liste der Ports und Dienste, die der Firewall hinzugefügt wurden.
Schritt 6 – LibreNMS-Web-Installer
Nachdem alle oben genannten Schritte abgeschlossen sind, müssen wir LibreNMS über den Webbrowser installieren. Öffnen Sie Ihren Webbrowser, geben Sie den LibreNMS-Domainnamen „librenms.hakase-labs.co“ in die Adressleiste ein und drücken Sie die Eingabetaste.
- PHP-Module prüfen
Sie werden auf die Seite install.php umgeleitet, die das Ergebnis der Überprüfungen der PHP-Modulunterstützung anzeigt. Stellen Sie sicher, dass alle Status grün sind, wie unten gezeigt.
Klicken Sie auf "Nächste Stufe". ' um fortzufahren.
- Datenbankkonfiguration
Füllen Sie alle Datenbankinformationen mit Ihrer eigenen Datenbank aus.
- DB-Benutzer:librenms
- DB-Pass:hakase-labs123
- DB-Name:librenms
Und klicken Sie auf „Nächste Phase '.
- Importieren der MySQL-Datenbank
Warten Sie, bis das Installationsskript eine Beispieldatenbank in unsere Datenbank importiert hat. Schließen Sie während dieses Vorgangs nicht den Browser-Tab.
Nachdem alle Datenbanken importiert wurden, klicken Sie auf „Gehe zu Benutzer hinzufügen '.
- Admin-Benutzer hinzufügen
Geben Sie hier Ihren Admin-Benutzer, Ihre E-Mail-Adresse und Ihr Passwort ein.
Klicken Sie auf "Nutzer hinzufügen". '.
- Generieren Sie die LibreNMS-Konfiguration
Klicken Sie auf 'Konfiguration generieren ' Schaltfläche.
Und Sie erhalten eine Konfigurationsdatei ähnlich der unten gezeigten.
Kopieren Sie das PHP-Konfigurationsskript und kehren Sie zu Ihrer SSH-Sitzung zurück. Gehen Sie in das Verzeichnis „/opt/librenms“ und erstellen Sie die Datei „config.php“ manuell mit vim.
cd /etc/librenms/
vim config.php
Fügen Sie die Konfiguration dort ein und ändern Sie den Eigentümer der Datei in librenms user and group.
chown librenms:librenms config.php
Kehren Sie zu Ihrem Webbrowser zurück und klicken Sie auf „Installation abschließen“. ' Schaltfläche.
Jetzt gelangen Sie zur letzten Seite des librenms-Webinstallers – siehe unten.
Schritt 7 – Endgültige Konfiguration
Nachdem die Installation über den Webbrowser abgeschlossen ist, müssen wir einige weitere Schritte ausführen.
- SNMP konfigurieren
Sichern Sie die Standardkonfigurationsdatei und kopieren Sie die Beispielkonfiguration in das Verzeichnis „/etc/snmp/“.
mv /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.aseli
cp /opt/librenms/snmpd.conf.example /etc/snmp/snmpd.conf
Bearbeiten Sie die neue Konfiguration mit vim.
vim /etc/snmp/snmpd.conf
Ersetzen Sie die Zeile „RANDOMSTRINGGOESHERE“ durch Ihren eigenen Community-Namen „hakaselabs“, wie unten gezeigt.
com2sec readonly default hakaselabs
Speichern und beenden.
Als nächstes müssen wir das Distributionserkennungsskript herunterladen. Laden Sie es mit curl herunter, machen Sie das Skript ausführbar und starten Sie schließlich den SNMP-Dienst neu.
curl -o /usr/bin/distro https://raw.githubusercontent.com/librenms/librenms-agent/master/snmp/distro
chmod +x /usr/bin/distro
systemctl restart snmpd
- Crontab- und Logrotate-Konfiguration
Wechseln Sie in das Verzeichnis librenms und kopieren Sie die Beispielkonfiguration für Crontab und Logrotate.
cd /opt/librenms/
Kopieren Sie die Konfiguration.
cp librenms.nonroot.cron /etc/cron.d/librenms
cp misc/librenms.logrotate /etc/logrotate.d/librenms
Starten Sie nun den Cron-Dienst neu und laden Sie die Logrotate-Konfiguration neu.
systemctl restart cron
logrotate -f /etc/logrotate.conf
- Konfiguration validieren
Warten Sie einige Zeit, bis das Cron-Skript auf dem System ausgeführt wird. Sobald dies erledigt ist, validieren Sie mit dem Skript „validate.php“.
Wechseln Sie in das librenms-Verzeichnis und führen Sie das Validierungsskript aus.
cd /opt/librenms/
./validate.php
Wenn Ihre Installation korrekt ist, erhalten Sie das unten gezeigte Ergebnis.
Die LibreNMS-Installation mit Nginx-Webserver auf Ubuntu 16.04 ist abgeschlossen.