So richten Sie das LibreNMS Monitoring Tool mit Nginx auf Ubuntu 16.04 LTS ein

LibreNMS ist ein Open-Source-Monitoring-Tool auf Basis von PHP/MYSQL/SNMP. Es ist ein vorgestelltes Netzwerküberwachungssystem, das Unterstützung für eine Vielzahl von Netzwerkhardware und Betriebssystemen bietet, darunter FreeBSD, Cisco, Linux, HP usw.

In diesem Tutorial zeige ich Ihnen, wie Sie das Open-Source-Monitoring-Tool’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

  1. Pakete installieren
  2. Nginx Webserver installieren
  3. Installation und Konfiguration von PHP-FPM
  4. MariaDB installieren und konfigurieren
  5. LibreNMS herunterladen und konfigurieren
  6. LibreNMS Web-Installer
  7. Endgültige Konfiguration

Voraussetzungen

  • Ubuntu 16.04 Server
  • Root-Privilegien

Schritt 1 – Pakete installieren

Der erste Schritt, den wir für die Installation von LibreNMS Monitoring Tools tun müssen, ist die Installation einiger Pakete, die auf dem Server benötigt werden. Verbinden Sie sich mit Ihrem Server und aktualisieren Sie das Repository.

ssh root@hakase-labs-server
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

Nachdem die Installation abgeschlossen ist, gehen Sie zum nächsten Schritt.

Schritt 2 – Nginx Webserver installieren

In diesem Tutorial werden wir LibreNMS unter dem Nginx-Webserver ausführen. Nginx ist ein leistungsstarker Webserver, der in den Ubuntu-Repositories verfügbar ist.

Installieren Sie nginx mit dem Befehl apt aus dem Repository wie folgt.

apt install nginx

Wenn das erledigt ist, starten Sie den Dienst und aktivieren Sie ihn so, dass er jedes Mal beim Systemstart automatisch ausgeführt wird.

systemctl start nginx
systemctl enable nginx

Der Nginx-Webserver läuft unter dem Standardport 80. Wir können den Port mit dem Befehl netstat und Nginx mit dem Befehl curl überprüfen, um den HTTP-Statuscode zu erhalten, wie unten gezeigt.

netstat -plntu | grep 80
curl -I localhost

Ports mit netstat prüfen

Die Installation von Nginx ist abgeschlossen.

Schritt 3 – Installation und Konfiguration von PHP-FPM

LibreNMS ist ein PHP-basiertes Tool zur Überwachung von Webanwendungen. Es bietet Unterstützung für die neue PHP-Version 7.0, und wir werden sie für dieses Handbuch verwenden.

Installieren Sie PHP, PHP-FPM und alle Erweiterungen/Module, die für die LibreNMS-Installation benötigt werden, mit dem folgenden Befehl apt.

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 eine Konfiguration hinzufügen. Wir müssen die Standardzeitzone in der Datei php.ini definieren und sicherstellen, dass die Zeitzone mit der aktuellen Zeitzone des Systems übereinstimmt.

Überprüfen Sie die aktuell vom System verwendete Zeitzone mit dem folgenden Befehl.

timedatectl

Du solltest ein ähnliches Ergebnis wie das folgende erhalten.

Zeitzoneneinstellungen überprüfen

Sie können sehen, dass der Server die ZeitzoneEuropa/Paris“ verwendet.

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

Entkommentieren Sie die Zeile‘date.time‚ und ändern Sie den Wert mit unserer Systemzeitzone‘Europe/Paris‚.

date.time = Europe/Paris

Unkommentierte CGI-Konfiguration unten, ändern Sie den Wert auf 0.

cgi.fix_pathinfo = 0

Speichern und beenden.

Die gesamte Konfiguration ist damit abgeschlossen. Starten Sie nun den Dienst und aktivieren Sie ihn so, dass er jedes Mal beim Systemstart mit den folgenden systemctl-Befehlen gestartet werden kann.

systemctl start php7.0-fpm
systemctl enable php7.0-fpm

PHP-FPM läuft nun auf dem Ubuntu-Server – es läuft unter der Sock-Datei. Überprüfen Sie dies mit dem Befehl netstat.

netstat -pl | grep php

PHP-FPM-Prozess überprüfen

Schritt 4 – MariaDB installieren und konfigurieren

In diesem Schritt werden wir den mariadb-Server für die LibreNMS-Datenbank installieren. Wir werden eine neue Datenbank und einen neuen Benutzer für die LibreNMS-Installation installieren, konfigurieren und erstellen.

Installieren Sie den 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 nun. Als nächstes müssen wir das Root-Passwort für mariadb konfigurieren. Wir können den folgenden Befehl’mysql_secure_installation‘ 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’Enter‘, 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 werden eine neue Datenbank namens ‚librenms‘ erstellen, ein neuer Benutzer namens ‚librenms‘ mit dem Passwort ‚hakase-labs123‘.

Melde dich mit dem folgenden Befehl in der Mariadb-Shell an.

mysql -u root -p
Type the ROOT Password:

Führen Sie untenstehende mariadb-Abfragen aus, um eine neue Datenbank und einen neuen Benutzer zu erstellen, und vergeben Sie alle Berechtigungen auf der Datenbank an den neuen Benutzer.

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 wurde erstellt.

Hinzufügen einer Datenbank

Für die LibreNMS-Installation müssen wir der Konfigurationsdatei eine Konfiguration hinzufügen. Gehen Sie in das Verzeichnis’/etc/mysql/‘ und bearbeiten Sie die Konfigurationsdatei mariadb.

cd /etc/mysql/
vim mariadb.conf.d/50-server.cnf

Fügen Sie die Konfiguration unten unter dem Abschnitt ‚[mysqld]‚ ein.

innodb_file_per_table=1
sql-mode=""
lower_case_table_names=0

Speichern und beenden.

MariaDB-Einstellungen ändern

Übernehmen Sie nun die neue Konfiguration, indem Sie den Dienst neu starten.

systemctl restart mysql

Die Konfiguration der mariadb-Datenbank ist abgeschlossen.

Schritt 5 – Herunterladen und Konfigurieren von LibreNMS

In diesem Schritt werden wir das System für die Installation von LibreNMS konfigurieren.

– Neuen Benutzer hinzufügen und LibreNMS herunterladen

Erstellen Sie einen neuen Systembenutzer namens ‚librenms‘, definieren Sie ‚/opt/librenms‘ als Standard-Startverzeichnis für den Benutzer und weisen Sie den neuen ‚librenms‘ Benutzer der www-Datengruppe 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

Bibliotheksbenutzer hinzufügen

Als nächstes erstellen Sie ein neues Verzeichnis für libreNMS-Protokolldateien und rrd-Dateien.

mkdir -p /opt/librenms/{logs,rrd}

Ändern Sie die Eigentümerrechte für das Verzeichnis’rrd‘ auf’775′ und ändern Sie den Besitzer des Verzeichnisses’librenms‘ auf den Benutzer und die Gruppe’librenms‘.

chmod -R 775 /opt/librenms/rrd/
chown -R librenms:librenms /opt/librenms/

Ein Verzeichnis erstellen

Es wurde ein neues’librenms‘ erstellt und der LibreNMS-Quellcode heruntergeladen.

– LibreNMS Virtualhost konfigurieren

Gehen Sie in das Konfigurationsverzeichnis von ’nginx‘ und erstellen Sie eine neue virtuelle Hostdatei ‚librenms‘ mit vim.

cd /etc/nginx/
vim sites-available/librenms

Fügen Sie dort die folgende LibreNMS Virtual Host-Konfiguration 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 beenden. Aktivieren Sie nun den Virtualhost.

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

LibreNMS vhost in Nginx aktivieren

– UFW Firewall konfigurieren

Fügen Sie der Firewall neue Ports hinzu. Füge neue ssh, http, https und den Port des snmpd 161 udp type zur ufw Firewall hinzu.

Führen Sie die folgenden ufw-Befehle aus.

ufw allow ssh
ufw allow http
ufw allow https
ufw allow 161/udp

UFW-Firewall konfigurieren

Starten Sie die ufw-Firewall mit dem Befehl ufw enable, wie unten gezeigt.

ufw enable

Geben Sie ‚y‘ ein und drücken Sie ‚Enter‘ zur Bestätigung. Starten Sie es 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.

Liste der Firewall-Konfiguration

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-Domänennamen ‚librenms.hakase-labs.co‘ in die Adressleiste ein und drücken Sie die Eingabetaste.

– Überprüfen von PHP-Modulen

Sie werden auf die Seite install.php weitergeleitet, die das Ergebnis der Prüfungen zur Unterstützung von PHP-Modulen anzeigt. Stellen Sie sicher, dass alle Status grün sind, wie unten gezeigt.

LibreNMS Web-Installer

Klicken Sie auf‘Nächste Stufe‚, um fortzufahren.

– Datenbank-Konfiguration

Füllen Sie alle Datenbankinformationen mit Ihrer eigenen db.

  • DB-Benutzer: librenms
  • DB Pass: hakase-labs123
  • DB Name: Bibliotheken

Datenbankdetails festlegen

Und klicken Sie auf‘Nächste Stufe‚.

– MySQL-Datenbank importieren

Warten Sie, bis das Installationsskript ein Beispiel einer Datenbank in unsere Datenbank importiert hat – schließen Sie die Browser-Registerkarte während dieses Vorgangs nicht.

Stufe 2 abgeschlossen

Nachdem alle db importiert wurden, klicken Sie auf’Goto Add User‘.

– Admin-Benutzer hinzufügen

Geben Sie hier Ihren Admin-Benutzer, Ihre E-Mail-Adresse und Ihr Passwort ein.

Hinzufügen des Admin-Benutzers

Klicken Sie auf‘Benutzer hinzufügen‚.

– LibreNMS-Konfiguration generieren

LibreNMS-Konfiguration generieren

Klicken Sie auf die Schaltfläche‘Generate Config‚.

Und du bekommst eine Konfigurationsdatei, ähnlich der unten gezeigten.

Konfiguration in Datei speichern

Kopieren Sie das php-Konfigurationsskript und kehren Sie zu Ihrer ssh-Sitzung zurück. Gehen Sie zum Verzeichnis’/opt/librenms‘ und erstellen Sie die Datei’config.php‘ manuell mit vim.

cd /etc/librenms/
vim config.php

Fügen Sie dort die Konfiguration ein und ändern Sie den Eigentümer der Datei auf librenms user and group.

chown librenms:librenms config.php

Chown-Konfigurationsdatei für librensm Benutzer und Gruppe

Gehen Sie zurück zu Ihrem Webbrowser und klicken Sie auf die Schaltfläche „Installation beenden„.

Nun gelangen Sie zur letzten Seite aus dem Librenms Web-Installer – siehe unten.

Installation abgeschlossen

Schritt 7 – Endgültige Konfiguration

Nachdem die Installation über den Webbrowser abgeschlossen ist, müssen wir noch einige weitere Schritte durchfü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

Ersetze die Zeile’RANDOMSTRINGGOESHERE‘ durch deinen eigenen Community-Namen’hakaselabs‘, wie unten gezeigt.

com2sec readonly  default         hakaselabs

Speichern und beenden.

SNMP-Konfigurationsdatei

Als nächstes müssen wir das Distro Detection Skript 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

Restart smtpd

– Crontab- und Logrotate-Konfiguration

Gehen 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

Crontab-Konfiguration

– Konfiguration validieren

Warten Sie einige Zeit, bis das Cron-Skript auf dem System läuft. Sobald dies erledigt ist, validieren Sie mit dem Skript „validate.php“.

Gehen Sie in das Verzeichnis librenms und führen Sie das Validierungsskript aus.

cd /opt/librenms/
./validate.php

Wenn Ihre Installation korrekt ist, erhalten Sie das Ergebnis wie unten gezeigt.

LibreNMS-Setup validieren

LibreNMS Installation mit Nginx Webserver auf Ubuntu 16.04 ist abgeschlossen.

Referenz

Das könnte Dich auch interessieren …