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
- Installation der erforderlichen Pakete
- Nginx Webserver installieren
- Installation und Konfiguration von PHP-FPM
- MariaDB installieren und konfigurieren
- LibreNMS herunterladen und konfigurieren
- LibreNMS webbasierte Installation
- 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.
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
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:
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
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
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.
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
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
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/
– 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
Ö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.
Klicken Sie dann auf’Nächste Stufe‘, um fortzufahren.
– Datenbank-Konfiguration
Geben Sie die Details der Datenbank unten ein:
- DB-Benutzer:‘librenms‚.
- DB-Name: Bibliotheken‚.
- DB Pass:‘hakase-labs123‚.
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.
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.
Klicken Sie auf’Benutzer hinzufügen‘, um mit der Installation fortzufahren.
– Konfigurationsdatei erzeugen
Klicken Sie auf die Schaltfläche „Generate Config“, und Sie sehen eine Seite ähnlich der folgenden.
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
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.
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.
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:
Damit ist die LibreNMS-Installation mit Nginx-Webserver auf CentOS 7 abgeschlossen.