GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

So installieren Sie das LibreNMS-Überwachungstool mit Nginx unter CentOS 7

LibreNMS ist ein Open-Source-Überwachungstool, das auf PHP/MYSQL/SNMP basiert. Es ist ein voll funktionsfähiges Netzwerküberwachungssystem, das Unterstützung für eine breite Palette 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 den CentOS 7-Server als unseren Hauptserver verwenden.

Was wir tun werden

  1. Installieren Sie erforderliche Pakete
  2. Nginx-Webserver installieren
  3. Installieren und konfigurieren Sie PHP-FPM
  4. MariaDB installieren und konfigurieren
  5. Laden Sie LibreNMS herunter und konfigurieren Sie es
  6. Webbasierte LibreNMS-Installation
  7. Endgültige Konfiguration

Voraussetzung

  • CentOS 7-Server
  • Root-Rechte

Schritt 1 – Erforderliche Pakete installieren

Bevor wir LibreNMS auf dem Server installieren, müssen wir einige Pakete installieren, einschließlich 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 installieren wir epel-repository für die Installation des Nginx-Webservers. Das EPEL-Repository (Extra Packages for Enterprise Linux) ist ein zusätzliches Repository für RPM-basierte Betriebssysteme, einschließlich CentOS 7.

Installieren Sie das EPEL-Repository mit yum Befehl unten.

yum -y install epel-release

Installieren Sie jetzt nginx.

yum -y install nginx

Starten Sie nach der Installation von nginx den Dienst und aktivieren Sie ihn mit dem folgenden systemctl, damit er beim Booten automatisch ausgeführt wird Befehle.

systemctl start nginx
systemctl enable nginx

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

Schritt 3 – PHP-FPM installieren und konfigurieren

Bevor wir fortfahren, sind hier 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 im Drittanbieter-Repository verfügbar, und wir werden die PHP 7-Version aus dem „webtatic“-Repository verwenden.

Fangen wir also an.

Fügen Sie dem System das webtatic-Repository von PHP 7 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) mithilfe von Pear Befehl.

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 also 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 übereinstimmt, die vom System verwendet wird. Sie können die aktuelle von Ihrem System verwendete Zeitzone mit dem folgenden Befehl überprüfen.

timedatectl

Der folgende Screenshot zeigt den obigen Befehl in Aktion:

Wir verwenden also 'Europa/Paris ' Zeitzone.

Bearbeiten Sie nun die Datei „/etc/php.ini“ mit vim.

vim /etc/php.ini

Kommentieren Sie als Nächstes die Zeile „date.timezone“ aus und geben Sie einen Wert mit der Serverzeitzone „Europe/Paris“ ein.

data.timezone = Europe/Paris

Entkommentieren Sie auf ähnliche Weise die cgi-Zeile und ändern Sie den Wert auf „0 '.

cgi.fix_pathinfo=0

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

Als nächstes müssen wir definieren, wie das PHP-FPM auf dem System läuft. In unserem Fall wird PHP-FPM unter der 'sock'-Datei statt unter dem Serverport 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 „Listen“-Portzeile wie unten beschrieben in die SOCKET-Datei.

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

Entkommentieren Sie die 'Listen'-Zeile für Eigentümer, Gruppe und die Berechtigung der Sock-Datei als Konfiguration unten.

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

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

Damit ist die PHP-FPM-Konfiguration nun abgeschlossen. Starten Sie den Dienst und aktivieren Sie ihn mit den folgenden Befehlen so, dass er beim Booten automatisch ausgeführt wird.

systemctl start php-fpm
systemctl enable php-fpm

Jetzt läuft PHP-FPM unter der Sock-Datei. Sie können dies mit dem netstat-Befehl ü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 MariaDB-Datenbankversion. Es ist im Repository verfügbar, und wir müssen einige Konfigurationen für die LibreNMS-Installation installieren und hinzufügen, einschließlich des Hinzufügens der Datenbank und des Benutzers für LibreNMS.

Installieren Sie MariaDB mit dem folgenden Yum-Befehl.

yum -y install mariadb mariadb-server

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

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 neben einigen anderen Fragen nach dem neuen Root-Passwort für die MariaDB-Datenbank gefragt.

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

MariaDB wurde also installiert. Jetzt müssen wir eine neue Datenbank und einen neuen Benutzer für LibreNMS erstellen. Melden Sie sich mit dem mysql-Client und mit Ihrem neuen Passwort bei der mysql-Shell-Befehlszeile an.

mysql -u root -p

Erstellen Sie eine neue Datenbank mit dem Namen "librenms". ', ein neuer Benutzer 'librenms ' mit dem Passwort 'hakase-labs123 '.

Erstellen Sie alles mit den unten stehenden 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 Installation von LibreNMS 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

Fügen Sie die folgende zusätzliche Konfiguration unter der Datei „[mysqld]“ ein ' Abschnitt.

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 konfigurieren wir das System für die Installation von LibreNMS.

- Benutzer hinzufügen und LibreNMS-Quellcode herunterladen

Erstellen Sie einen neuen Systembenutzer namens „librenms“, definieren Sie dann das Home-Verzeichnis 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 git clone herunter Befehl wie unten.

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 Besitz aller Dateien und Verzeichnisse im Verzeichnis „/opt/librenms“ auf den Benutzer und die Gruppe „librenms“.

chown -R librenms:librenms /opt/librenms/


- Konfigurieren Sie den virtuellen LibreNMS-Host

LibreNMS ist eine webbasierte Anwendung und wir verwenden einen Nginx-Webserver, um sie zu hosten.

Erstellen Sie eine neue virtuelle Hostdatei „librenms.conf“ im Verzeichnis „conf.d“ von nginx.

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

Konfiguration unten einfügen.

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. Jetzt speichern und Vim beenden.

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

nginx -t
systemctl restart nginx

- Firewalld-Konfiguration

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

yum -y install firewalld

Starten Sie firewalld und aktivieren Sie die Ausführung beim Booten 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

Wenden Sie die Konfiguration an, indem Sie firewalld neu laden, und überprüfen Sie alle Dienste.

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

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

Schritt 6 – Webbasierte Installation von LibreNMS

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

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

Sie werden auf die Installationsseite 'install.php' weitergeleitet.

- Überprüfen Sie die Unterstützung des PHP-Moduls

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

Klicken Sie dann auf „Nächster Schritt“, um fortzufahren.

- Datenbankkonfiguration

Geben Sie unten die Datenbankdetails ein:

  1. DB-Benutzer:'librenms '
  2. DB-Name:'librenms '
  3. DB-Pass:'hakase-labs123 '

Und klicken Sie auf „Nächster Schritt“, um fortzufahren.

- MySQL-Datenbank importieren

Schließen Sie die Installationsseite nicht, da sie den Datenbankimport anzeigt. Stellen Sie sicher, dass keine Fehler vorliegen.

Wenn der Vorgang abgeschlossen ist, klicken Sie auf „Gehe zu Benutzer hinzufügen“, 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 generieren

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

Kopieren Sie den PHP-Code aus der Box und erstellen Sie 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 und beenden Sie den Editor. Ändern Sie nun die Besitzrechte 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 unten auf der Seite auf die Schaltfläche „Installation abschließen“. Sie werden eine Willkommensnachricht ähnlich der folgenden sehen.

An dieser Stelle sind wir mit der webbasierten Installation fertig. Kehren Sie zum Terminal/zur Shell zurück und fügen Sie weitere Konfigurationen hinzu.

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ügen Sie die folgende Zeile am Ende der Datei hinzu.

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

Speichern und beenden Sie den Editor.

- SNMP-Konfiguration

Sichern Sie die standardmäßige snmp.conf-Datei im Verzeichnis ‚/etc/snmp/‘ und kopieren Sie eine neue Datei 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

Ändern Sie den Text „RANDOMSTRINGGOESHERE“ wie unten beschrieben durch Ihren eigenen Community-Namen.

com2sec readonly  default         hakaselabs

Das ist es. Speichern und beenden Sie Vim.

Laden Sie als Nächstes den librenms-agent herunter Skript zum Erkennen, welches Betriebssystem Sie hinzugefügt haben. Wenn Sie ein Linux-Betriebssystem 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 bietet eine Konfiguration für die Logrotate-Konfiguration und befindet sich im Verzeichnis „/opt/librenms/misc“.

Kopieren Sie das Konfigurationsbeispiel 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 „librenms.nonroot.cron“ des Crontab-Skripts 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 validieren

Um die Installation zu überprüfen, verwenden Sie die validate.php Skript. Wechseln 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 sehen:

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


Cent OS
  1. So installieren Sie WordPress mit Nginx unter CentOS 7

  2. So installieren Sie phpMyAdmin mit Nginx unter CentOS 7

  3. So installieren Sie das Cacti Monitoring Tool unter CentOS 8 / RHEL 8

  4. So installieren Sie phpMyAdmin mit Nginx unter CentOS 7 / RHEL 7

  5. So installieren Sie Sitemagic CMS auf CentOS 7 – mit Nginx

So installieren Sie das Bpytop-Ressourcenüberwachungstool unter CentOS 8

So installieren Sie Nginx mit ngx_pagespeed unter CentOS

So installieren Sie Nginx mit PHP-FastCGI unter CentOS 6

So installieren Sie Magento mit Nginx unter CentOS 7

So installieren Sie das Glances-Systemüberwachungstool unter CentOS 7

So installieren Sie Laravel mit Nginx unter CentOS 8