So installieren Sie das LibreNMS Monitoring Tool mit Nginx auf CentOS 7

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

In diesem Tutorial zeigen wir Ihnen, wie Sie LibreNMS mit Nginx als Webserver und MariaDB als Datenbank installieren und konfigurieren. Wir werden CentOS 7 Server als Hauptserver verwenden.

Was wir tun werden

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

Voraussetzung

  • CentOS 7 Server
  • Root-Rechte

Schritt 1 – Installation der erforderlichen Pakete

Bevor wir LibreNMS auf dem Server installieren, müssen wir einige Pakete installieren, darunter ImageMagick, rrdtool, SNMP, git und mehr. Der folgende Befehl sollte das Notwendige tun:

yum -y install net-snmp ImageMagick jwhois nmap mtr rrdtool MySQL-python net-snmp-utils cronie fping git

Wenn alles gut geht, fahren Sie mit dem nächsten Schritt fort.

Schritt 2 – Nginx Webserver installieren

In diesem Schritt werden wir das epel-Repository für die Installation des nginx-Webservers installieren. Das EPEL (Extra Packages for Enterprise Linux) Repository ist ein zusätzliches Repository für rpm-basierte Betriebssysteme einschließlich CentOS 7.

Installieren Sie das EPEL-Repository mit dem Befehl yum unten.

yum -y install epel-release

Installieren Sie nun nginx.

yum -y install nginx

Starten Sie nach der Installation von nginx den Dienst und lassen Sie ihn mit den folgenden systemctl-Befehlen beim Booten automatisch laufen.

systemctl start nginx
systemctl enable nginx

Der Nginx-Webserver wurde also auf dem System aus dem EPEL-Repository installiert.

Nginx Webserver starten und überprüfen

Schritt 3 – Installation und Konfiguration von PHP-FPM

Bevor wir fortfahren, hier sind einige Informationen, die es wert sind, geteilt zu werden:

Wir werden PHP-FPM Version 7 für die LibreNMS-Installation verwenden. Alle PHP 7-Pakete für CentOS 7 sind auf einem Drittanbieter-Repository verfügbar, und wir werden die PHP 7-Version aus dem ‚webtatic‘-Repository verwenden.

Also lasst uns anfangen.

Fügen Sie dem System PHP 7 webtatic repository mit dem folgenden rpm-Befehl hinzu.

rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

Installieren Sie PHP 7 und alle benötigten Erweiterungen aus dem Wetatic-Repository mit yum.

yum -y install php70w php70w-cli php70w-gd php70w-mysql php70w-snmp php70w-pear php70w-curl php70w-common php70w-fpm php70w-mcrypt

Aktualisieren Sie nun das PEAR-Repository und installieren Sie einige PEAR-Erweiterungen (PHP Extension and Application Repository) mit dem Befehl pear.

pear channel-update pear.php.net
pear install Net_IPv4-1.3.4
pear install Net_IPv6-1.2.2b2

Installieren Sie einige Birnenpakete

Auf diese Weise können Sie alle erforderlichen PHP-Pakete installieren.

Als nächstes konfigurieren Sie PHP-FPM für die LibreNMS-Installation. Wir müssen die Standardzeitzone in der Datei php.ini definieren und sicherstellen, dass die Zeitzone mit der aktuellen Zeitzone des Systems übereinstimmt. Sie können die aktuelle Zeitzone, die von Ihrem System verwendet wird, mit dem folgenden Befehl überprüfen.

timedatectl

Der folgende Screenshot zeigt den obigen Befehl in Aktion:

verwenden Sie den Befehl timedatectl

Wir verwenden also die Zeitzone „Europa/Paris„.

Bearbeiten Sie nun die Datei ‚/etc/php.ini‘ mit vim.

vim /etc/php.ini

Entkommentieren Sie als nächstes die Zeile’date.timezone‘ und geben Sie einen Wert mit der Serverzeitzone’Europe/Paris‘ ein.

data.timezone = Europe/Paris

Entkommentieren Sie ebenfalls die CGI-Zeile und ändern Sie den Wert auf‘0‚.

cgi.fix_pathinfo=0

Das ist es. Das ist es. Speichern Sie nun die Änderungen und verlassen Sie den Editor.

Als nächstes müssen wir definieren, wie der PHP-FPM auf dem System läuft. In unserem Fall wird PHP-FPM unter der Datei ’sock‘ anstelle des Serverports ausgeführt.

Bearbeiten Sie die Datei’www.conf‘ mit vim, um das PHP-FPM zu konfigurieren.

vim /etc/php-fpm.d/www.conf

Ändern Sie die Portzeile „listen“ wie folgt in die Sock-Datei.

listen = /var/run/php-fpm/php7.0-fpm.sock

Entkommentiere die Zeile’listen‘ für Besitzer, Gruppe und die Berechtigung der Sock-Datei als Konfiguration unten.

listen.owner = nginx
listen.group = nginx
listen.mode = 0660

Das ist es. Das ist es. Speichern Sie nun die Änderungen und verlassen Sie den Editor.

Damit ist die PHP-FPM-Konfiguration abgeschlossen. Starten Sie den Dienst und aktivieren Sie ihn mit den folgenden Befehlen zum Startzeitpunkt automatisch.

systemctl start php-fpm
systemctl enable php-fpm

Jetzt läuft PHP-FPM unter der Sock-Datei. Du kannst es mit dem Befehl netstat überprüfen.

netstat -pl | grep php

Überprüfen Sie, ob PHP läuft.

Stellen Sie sicher, dass Sie das Ergebnis der Datei’/var/run/php-fpm/php7.0-fpm.sock‘ haben.

Schritt 4 – MariaDB installieren und konfigurieren

LibreNMS verwendet die MySQL-Datenbank, um alle Daten zu speichern. Für diesen Leitfaden verwenden wir die Datenbankversion MariaDB. Es ist im Repository verfügbar, und wir müssen einige Konfigurationen für die LibreNMS-Installation installieren und hinzufügen, einschließlich der Datenbank und des Benutzers für LibreNMS.

Installieren Sie MariaDB mit dem Befehl yum unten.

yum -y install mariadb mariadb-server

Starten Sie den MariaDB-Dienst und aktivieren Sie ihn so, dass er beim Booten automatisch startet.

systemctl start mariadb
systemctl enable mariadb

Einrichten der MariaDB-Datenbank

Konfigurieren Sie nun das MariaDB-Root-Passwort mit dem Befehl’mysql_secure_installation‘ unten.

mysql_secure_installation

Sie werden nach dem neuen Root-Passwort für die MariaDB-Datenbank gefragt, zusammen mit einigen anderen Fragen.

Geben Sie „Y“ ein und drücken Sie zur Bestätigung die Eingabetaste.

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

So wurde MariaDB installiert. Jetzt müssen wir eine neue Datenbank und einen neuen Benutzer für LibreNMS erstellen. Melden Sie sich mit dem mysql client und Ihrem neuen Passwort an der mysql shell Befehlszeile an.

mysql -u root -p

Erstellen Sie eine neue Datenbank mit dem Namen‘librenms‚, einen neuen Benutzer‘librenms‚ mit dem Passwort‘hakase-labs123‚.

Erstellen Sie alles mit Hilfe der untenstehenden MySQL-Abfragen.

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;

Ein neuer Benutzer und eine neue Datenbank für die LibreNMS-Installation wurden erstellt.

Bibliotheken hinzufügen MySQL-Benutzer

Jetzt müssen Sie die Datei my.cnf bearbeiten, um eine neue mysql-Konfiguration hinzuzufügen. Bearbeiten Sie die Datei ‚/etc/my.cnf‘ mit vim.

vim /etc/my.cnf

Einfügen nach zusätzlicher Konfiguration unter dem Abschnitt ‚[mysqld]‚.

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

Speichern und beenden Sie vim, und starten Sie dann den mariadb-Server neu.

systemctl restart mariadb

MariaDB-Einstellungen konfigurieren

Schritt 5 – LibreNMS herunterladen und konfigurieren

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

– Benutzer hinzufügen und LibreNMS Quellcode herunterladen

Erstellen Sie einen neuen Systembenutzer mit dem Namen ‚librenms‘, definieren Sie dann das Heimatverzeichnis für den Benutzer im Verzeichnis ‚/opt/librenms‘ und fügen Sie schließlich den Benutzer ‚librenms‘ zur Gruppe ’nginx‘ hinzu.

useradd librenms -d /opt/librenms -M -r
usermod -a -G librenms nginx

Gehen Sie in das Verzeichnis’/opt/‘ und laden Sie den LibreNMS-Quellcode mit dem Befehl git clone wie unten beschrieben herunter.

cd /opt/
git clone https://github.com/librenms/librenms.git librenms

LibreNMS installieren

Erstellen Sie ein neues Verzeichnis für LibreNMS-Protokolle und rrd-Dateien.

mkdir -p /opt/librenms/logs/
mkdir -p /opt/librenms/rrd/
chmod 775 /opt/librenms/rrd/

Ändern Sie nun den Besitzer aller Dateien und Verzeichnisse unter dem Verzeichnis’/opt/librenms‘ auf den Benutzer und die Gruppe’librenms‘.

chown -R librenms:librenms /opt/librenms/

Verzeichnisse erstellen

– LibreNMS virtuellen Host konfigurieren

LibreNMS ist eine webbasierte Anwendung, für deren Hosting wir einen Nginx-Webserver verwenden.

Erstellen Sie eine neue virtuelle Hostdatei ‚librenms.conf‘ im Verzeichnis nginx ‚conf.d‘.

vim /etc/nginx/conf.d/librenms.conf

Füge die Konfiguration unten 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:/var/run/php-fpm/php7.0-fpm.sock;
}

location ~ /\.ht {
deny all;
}
}

Das ist es. Das ist es. Speichern Sie nun und beenden Sie Vim.

Testen Sie die nginx-Konfiguration und stellen Sie sicher, dass kein Fehler vorliegt. Starten Sie dann den Webserver neu.

nginx -t
systemctl restart nginx

– Firewall-Konfiguration

Stellen Sie sicher, dass die Firewalld-Pakete auf Ihrem System installiert sind. Wenn nicht, können Sie die Firewall mit dem folgenden Befehl yum installieren.

yum -y install firewalld

Starten Sie die Firewall und aktivieren Sie sie während des Bootvorgangs mit den folgenden systemctl-Befehlen.

systemctl start firewalld
systemctl enable firewalld

Konfigurieren der Firewall

Öffnen Sie neues HTTP, HTTPS und den SNMP-Port 161/udp mit dem Befehl firewall-cmd, wie unten gezeigt.

firewall-cmd --add-service=http --permanent
firewall-cmd --add-service=https --permanent
firewall-cmd --add-port=161/udp --permanent

Übernehmen Sie die Konfiguration, indem Sie die Firewall neu laden und alle Dienste überprüfen.

firewall-cmd --reload
firewall-cmd --list-all

Stellen Sie sicher, dass HTTP- und HTTPS-Dienste auf der Liste stehen.

Schritt 6 – LibreNMS webbasierte Installation

Öffnen Sie Ihren Webbrowser und geben Sie LibreNMS URL in der Adressleiste ein.

http://librenms.hakase-labs.me/

Sie werden auf die Installationsseite’install.php‘ weitergeleitet.

– Unterstützung des PHP-Moduls prüfen

Stellen Sie sicher, dass alle erforderlichen php-Module und Erweiterungen auf dem System installiert sind.

LibreNMS webbasierter Installateur

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

– Datenbank-Konfiguration

Geben Sie die Details der Datenbank unten ein:

  1. DB-Benutzer:‘librenms.
  2. DB-Name: Bibliotheken.
  3. DB Pass:‘hakase-labs123‚.

Konfigurieren der Datenbank

Und klicken Sie auf’Nächste Stufe‘, um fortzufahren.

– MySQL-Datenbank importieren

Schließen Sie die Installationsseite nicht, da dort der Datenbankimport angezeigt wird. Stellen Sie sicher, dass es keine Fehler gibt.

MySQL-Datenbankschema importieren

Wenn der Prozess abgeschlossen ist, klicken Sie auf’Goto Add User‘, um einen neuen Admin-Benutzer hinzuzufügen.

– Admin-Benutzer hinzufügen

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

Hinzufügen des Admin-Benutzers

Klicken Sie auf’Benutzer hinzufügen‘, um mit der Installation fortzufahren.

– Konfigurationsdatei erzeugen

Generieren Sie die Konfigurationsdatei

Klicken Sie auf die Schaltfläche „Generate Config“, und Sie sehen eine Seite ähnlich der folgenden.

Einstellungen der Konfigurationsdatei

Kopiere den PHP-Code, der sich dort in der Box befindet, und erstelle eine neue Datei’config.php‘ im Verzeichnis’/opt/librenms/‘.

cd /opt/librenms/
vim config.php

Fügen Sie den gerade kopierten Code in die neue Datei ein, speichern Sie ihn dann und verlassen Sie den Editor. Ändern Sie nun die Eigentümerrechte der Datei config.php auf den Benutzer und die Gruppe’librenms‘.

chown librenms:librenms config.php

Speichern der Konfigurationsdatei auf der Shell

Kehren Sie zu Ihrem Browser zurück und klicken Sie auf die Schaltfläche „Installation beenden“ am Ende der Seite. Sie erhalten eine Willkommensnachricht ähnlich der folgenden.

LibreNMS Monitoring Tool wurde installiert.

Zu diesem Zeitpunkt sind wir mit der webbasierten Installation fertig. Zurück zum Terminal/Shell und weitere Konfigurationen hinzufügen.

Schritt 7 – Endgültige Konfiguration

In diesem Schritt werden wir einige Konfigurationen für unsere LibreNMS-Installation hinzufügen.

– fping-Befehl definieren

Definieren Sie den Befehl’fping‘, indem Sie die LibreNMS-Konfigurationsdatei bearbeiten. Gehen Sie in das Verzeichnis ‚/opt/librenms/‘ und bearbeiten Sie die Datei config.php mit dem vim-Editor.

cd /opt/librenms/
vim config.php

Füge die folgende Zeile am Ende der Datei hinzu.

$config['fping'] = "/usr/sbin/fping";

Sichern und verlassen Sie den Editor.

– SNMP-Konfiguration

Sichern Sie die standardmäßige snmp.conf-Datei auf das Verzeichnis ‚/etc/snmp/‘ und kopieren Sie eine neue aus dem Verzeichnis librenms.

mv /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.asli
cp /opt/librenms/snmpd.conf.example /etc/snmp/snmpd.conf

Bearbeiten Sie die neue Konfiguration.

vim /etc/snmp/snmpd.conf

Ändere den Text’RANDOMSTRINGGOESHERE‘ mit deinem eigenen Community-Namen wie unten beschrieben.

com2sec readonly  default         hakaselabs

Das ist es. Das ist es. Speichern und beenden Sie Vim.

Zufällige Zeichenkette setzen

Laden Sie anschließend das librenms-agent-Skript herunter, um festzustellen, welches Betriebssystem Sie hinzugefügt haben. Wenn Sie Linux OS hinzufügen, erkennt das Skript auch die spezifische Linux-Distribution.

Laden Sie das Skript mit Curl herunter und machen Sie es ausführbar.

curl -o /usr/bin/distro https://raw.githubusercontent.com/librenms/librenms-agent/master/snmp/distro
chmod +x /usr/bin/distro

Starten Sie nun den SNMP-Dienst mit dem folgenden systemctl-Befehl neu.

systemctl restart snmpd

– Logrotate für LibreNMS konfigurieren

LibreNMS stellt die Konfiguration für die Logrotate-Konfiguration zur Verfügung und befindet sich im Verzeichnis’/opt/librenms/misc‘.

Kopieren Sie das Beispiel der Konfiguration in das Verzeichnis ‚/etc/logrotate.d‘.

cp misc/librenms.logrotate /etc/logrotate.d/librenms

– LibreNMS Cronjob-Konfiguration

Gehen Sie in das Verzeichnis’opt/librenms‘ und kopieren Sie die Datei crontab script ‚librenms.nonroot.cron‘ in das Verzeichnis’cron.d‘.

cd /opt/librenms/
cp librenms.nonroot.cron /etc/cron.d/librenms

Warten Sie einige Minuten, bis das Skript automatisch ausgeführt wird.

– LibreNMS-Konfiguration überprüfen

Um die Installation zu überprüfen, verwenden Sie das Skript validate.php. Gehen Sie in das Verzeichnis ‚/opt/librenms/‘ und führen Sie das Skript aus.

cd /opt/librenms/
./validate.php

Unter der Annahme, dass keine Fehler auftreten, sollten Sie eine Ausgabe ähnlich der folgenden erhalten:

Validierung des Setups

Damit ist die LibreNMS-Installation mit Nginx-Webserver auf CentOS 7 abgeschlossen.

Referenz

Das könnte dich auch interessieren …