Wir wissen sehr gut, dass wir durch den Einsatz von Linux-Distributionen die Möglichkeit haben, Hunderte oder vielleicht Tausende von Anwendungen und Open-Source- Programmen zu implementieren , die nicht nur kostenlos sind, sondern auch die Leistungsfähigkeit unserer Teams drastisch steigern.
Es gibt Anwendungen, die für jeden Bereich einer Organisation entwickelt wurden. Aus diesem Grund wird TechnoWikis heute detailliert analysieren, wie das LibreNMS-Tool installiert wird, damit wir als Administratoren ein leistungsfähiges Analyse- und Überwachungstool zur Verfügung haben, mit dem wir uns über alle Änderungen im Klaren sind beeinflussen die Distribution, an der wir arbeiten.
Bei der Verwendung von LibreNMS haben wir folgende Eigenschaften:
- Automatische Erkennung, da das gesamte Netzwerk mithilfe von CDP, FDP, LLDP, OSPF, BGP, SNMP und ARP automatisch erkannt werden kann
- Konfigurierbare Warnmeldungen, mit denen wir Warnmeldungen per E-Mail, E-Mail, Slack und mehr erhalten können
- Zugriff über API, um Daten Ihrer Installation zu verwalten, grafisch darzustellen und wiederherzustellen
- Es verfügt über ein Sammelsystem, mit dem wir je nach Nutzung oder Übertragung Bandbreitenrechnungen für die Ports des Netzwerks erstellen können
- Es hat automatische Updates
- Hohe Skalierbarkeit
- Es hat Anwendungen für Android und iOS
- Umfassende Geräteunterstützung
- Freundliche Web-Benutzeroberfläche für mobile Geräte
- Unix-Agent
- Es kann in NfSen, collectd, SmokePing, RANCID und Oxidized integriert werden
- Unterstützt die Authentifizierungsmethoden MySQL, HTTP, LDAP, Radius und Active Directory
- CentOS 7 Minimal
- Benutzer mit Root-Rechten
1. Installation der erforderlichen Linux-Pakete
Vor der Installation von LibreNMS unter CentOS 7 müssen einige Pakete installiert werden, darunter ImageMagick, rrdtool, SNMP, git und mehr. Diese Pakete können mit dem folgenden Befehl installiert werden:
yum -y installiere net-snmp ImageMagick jwhois nmap mtr rrdtool MySQL-Python net-snmp-utils cronie fping git
Sobald die Installation abgeschlossen ist, sehen wir Folgendes:
2. So installieren Sie den Nginx-Server
Nginx [engine x] ist ein HTTP-Server und Reverse-Proxy, ein Mail-Proxy-Server und ein generischer TCP / UDP-Proxy-Server, ursprünglich geschrieben von Igor Sysoev. Es wurde lange Zeit auf vielen stark ausgelasteten russischen Websites ausgeführt, darunter Yandex, Mail.Ru, VK und Rambler. Derzeit wird es als globaler HTTP-Server verwendet.
Vor der Installation von Nginx müssen die Epel-Repositorys für die Installation des Nginx-Webservers installiert werden. Das EPEL-Repository (Additional Packages for Enterprise Linux) ist ein zusätzliches Repository für RPM-basierte Betriebssysteme, einschließlich CentOS 7. Wir werden Folgendes ausführen:
yum -y installiere das Epel-Release
Nun fahren wir mit der Installation des Nginx-Servers mit dem folgenden Befehl fort:
yum -y installiere nginx
Nach der Installation von Nginx in CentOS 7 sehen wir Folgendes:
Nach der Installation von Nginx in CentOS 7 starten wir den Dienst und aktivieren ihn mit den folgenden systemctl-Befehlen, damit er beim Start automatisch ausgeführt wird:
systemctl starte nginx Systemctl aktivieren Nginx
Daher wurde der Nginx-Webserver vom EPEL-Repository auf dem System installiert, und wir können ihn überprüfen, indem wir die folgende Zeile ausführen:
netstat -plntu
Dort sehen wir die Ports, über die wir uns mit Nginx verbinden.
3. Wie installiere und konfiguriere ich PHP-FPM?
In diesem Fall verwenden wir Version 7 von PHP-FPM für die Installation von LibreNMS. Alle PHP 7-Pakete für CentOS 7 sind im Repository von Drittanbietern verfügbar, und wir werden die PHP 7-Version des ‘webtatic’-Repositorys verwenden.
Dazu fügen wir zunächst das PHP 7-Web-Repository mit dem folgenden Befehl rpm zum System hinzu:
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
Dann installieren wir PHP 7 und alle notwendigen Erweiterungen des Wet-Repositorys mit yum:
yum - und installiere php70w php70w php70w-phi php70w-gd php70w php70w php70w-php70w php70w-php70w php70w php70w php70w-php70w php70w-mpry
Nach dem Herunterladen und der Installation aktualisieren wir das PEAR-Repository und installieren einige PEAR-Erweiterungen (PHP Extension und Application Repository) mit dem Befehl pear:
Birnenkanal-Update pear.php.net Installieren Sie Net_IPv4-1.3.4 Installieren Sie Net_IPv6-1.2.2b2
Als nächstes konfigurieren wir PHP-FPM für die Installation von LibreNMS.
Zunächst müssen Sie die Standardzeitzone in der Datei php.ini definieren und sicherstellen, dass die Zeitzone mit der aktuellen Zeitzone übereinstimmt, die vom System verwendet wird. Mit dem folgenden Befehl können wir die aktuelle Zeitzone überprüfen, die von Ihrem System verwendet wird:
timedatectl
Nachdem wir die Zeitzone definiert haben, bearbeiten wir die Datei php.ini unter folgendem Pfad: /etc/php.ini. Dies kann mit jedem Editor wie nano oder vim erfolgen:
nano /etc/php.ini
In der Datei, die bereitgestellt wird, nehmen wir die folgenden Änderungen vor:
Speichern Sie die Änderungen mit der Tastenkombination Strg + O und verlassen Sie den Editor mit Strg + X.
Im nächsten Schritt definieren Sie, wie PHP-FPM im System ausgeführt wird. In diesem Fall wird PHP-FPM unter der ‘sock’-Datei anstelle des Server-Ports ausgeführt. Bearbeiten Sie die ‘www.conf’-Datei mit nano, um PHP-FPM zu konfigurieren:
nano /etc/php-fpm.d/www.conf
Dort ändern wir die Listen-Zeile, deren Standardwert 127.0.0.1:9000 ist, auf Folgendes:
listen = /var/run/php-fpm/php7.0-fpm.sock
In derselben Datei werden die folgenden Zeilen zerlegt. Wir speichern die Änderungen auf dem Server.
listen.owner = nginx listen.group = nginx listen.mode = 0660
PHP-FPM ist nun vollständig, wir können den Dienst starten und ihn beim Start automatisch ausführen lassen, indem wir die folgenden Befehle verwenden:
systemctl starte php-fpm Systemctl aktivieren PHP-FPM
Wir werden überprüfen, ob PHP-FPM unter der SOCK-Datei läuft. Dies kann mit dem Befehl netstat überprüft werden:
netstat -pl | grep php
4. Wie installiere und konfiguriere ich MariaDB?
LibreNMS nutzt die MySQL-Datenbank, um alle Daten zu speichern. In diesem Fall verwenden wir die Version der MariaDB-Datenbank, die im Repository verfügbar ist, und müssen für die Installation von LibreNMS einige Konfigurationen installieren und hinzufügen, einschließlich des Hinzufügens der Datenbank und des Benutzers für LibreNMS.
Wir werden MariaDB installieren, indem wir Folgendes ausführen:
yum -y installiere mariadb mariadb-server
Nach der Installation starten wir den MariaDB-Dienst und aktivieren ihn automatisch beim Start:
systemctl starte mariadb Systemctl aktivieren Mariadb
Wir können den Service mit seinem jeweiligen Port überprüfen, indem wir Folgendes ausführen:
netstat -plintu
Jetzt müssen wir das root-Passwort von MariaDB mit dem Befehl ‘mysql_secure_installation’ konfigurieren: In den angezeigten Fragen beantworten wir Folgendes:
Root Passwort setzen? [J / n] J Anonyme Benutzer entfernen? [J / n] J Root-Anmeldung aus der Ferne nicht zulassen? [J / n] J Testdatenbank entfernen und darauf zugreifen? [J / n] J Berechtigungstabellen jetzt neu laden? [J / n] J
Auf diese Weise wurde MariaDB installiert.
Im nächsten Schritt erstellen Sie eine neue Datenbank und einen neuen Benutzer für LibreNMS. Melden Sie sich mit dem mysql-Client und dem neu zugewiesenen Kennwort in der Befehlszeile der mysql-Shell an:
mysql -u root -p
Erstellen Sie eine neue Datenbank namens “librenms”, einen neuen Benutzer “librenms” mit dem Kennwort “password123”.
CREATE DATABASE librenms CHARACTER SET utf8 COLLATE utf8_unicode_ci; CREATE USER 'librenms' @ 'localhost' IDENTIFIED BY 'password123'; ERTEILEN SIE ALLE PRIVILEGIEN FÜR librenms. * TO 'librenms' @ 'localhost'; FLUSH PRIVILEGES;
Wir beenden MariaDB, indem wir den Befehl exit ausführen.
5. So konfigurieren Sie MySQL
Jetzt müssen wir die Datei my.cnf bearbeiten, um eine neue mysql-Konfiguration hinzuzufügen. Wir werden die Datei /etc/my.cnf mit nano bearbeiten:
nano /etc/my.cnf
In der erweiterten Datei wird im Abschnitt [mysqld] Folgendes eingefügt:
innodb_file_per_table = 1 sql-mode = "" Kleinbuchstaben_Tabellennamen = 0
Wir behalten die Änderungen. Jetzt starten wir den MariaDB-Dienst neu, indem wir Folgendes ausführen:
systemctl starte mariadb neu
6. Herunterladen und Konfigurieren von LibreNMS
Nachdem alle oben genannten Einstellungen vorgenommen wurden, müssen Sie als Nächstes das System für LibreNMS vorbereiten. Dazu führen Sie die folgenden Schritte aus.
An dieser Stelle erstellen wir einen neuen Benutzer des Systems mit dem Namen ‘librenms’, definieren dann das Ausgangsverzeichnis für den Benutzer im Verzeichnis / opt / librenms und fügen schließlich die Benutzerlibrenms zur Gruppe nginx hinzu:
useradd librenms -d / opt / librenms -m -rusermod -a -g librenms nginx
Sobald der Benutzer erstellt und der entsprechenden Gruppe hinzugefügt wurde, gehen wir in das Verzeichnis / opt / und laden den LibreNMS-Quellcode mit dem Befehl git clone wie folgt herunter:
useradd librenms -d / opt / librenms -M -r usermod -a -G librenms nginx
Wir werden ein neues Verzeichnis für die LibreNMS-Protokolle und die rrd-Dateien erstellen:
mkdir -p / opt / librenms / logs / mkdir -p / opt / librenms / rrd / chmod 775 / opt / librenms / rrd /
Jetzt ändern wir den Besitz aller Dateien und Verzeichnisse im Verzeichnis / opt / librenms in den Benutzer und die Gruppe librenms, indem wir Folgendes ausführen:
chown -R librenms: librenms / opt / librenms /
7. So konfigurieren Sie den virtuellen LibreNMS-Host
LibreNMS ist eine webbasierte Anwendung. Bis jetzt verwenden wir einen Nginx-Webserver, um sie zu hosten.
Wir werden eine neue virtuelle Hostdatei librenms.conf im Verzeichnis nginx conf.d erstellen, indem wir Folgendes ausführen:
nano /etc/nginx/conf.d/librenms.conf
In diese neue Datei fügen wir Folgendes ein:
Server { # Fügen Sie Ihren eigenen Domainnamen hinzu höre 80; Servername librenms.irsyadf.me; # LibreNMS Webroot-Verzeichnis root / opt / librenms / html; index index.php; # LibreNMS-Protokolle access_log / opt / librenms / logs / access_log; error_log / opt / librenms / logs / error_log; # Aktivieren der Gzip-Komprimierung auf Nginx Zeichensatz utf-8; gzip on; gzip_types text / css anwendung / javascript text / javascript anwendung / x-javascript bild / svg + xml text / normaler text / xsd text / xsl text / xml bild / x-symbol; Ort / { try_files $ uri $ uri / /index.php?$query_string; } location / api / v0 { try_files $ uri $ uri / /api_v0.php?$query_string; } # PHP-FPM verarbeitet alle Anforderungen von .php-Dateien location ~ .php { include fastcgi.conf; fastcgi_split_path_info ^ (. + . php) (/.+) $; fastcgi_pass unix: /var/run/php-fpm/php7.0-fpm.sock; } location ~ /.ht { leugne alles; } }
Wir können die Änderungen mit den Tasten Strg + O speichern und den Editor mit Strg + X verlassen. Jetzt können wir die Nginx-Konfiguration testen, indem wir Folgendes ausführen:
Nginx-t
Wir werden den Nginx-Dienst neu starten, indem wir Folgendes ausführen:
systemctl starte nginx neu
8. So konfigurieren Sie die Firewall in CentOS 7
Wir müssen überprüfen, ob Firewalld-Pakete auf Ihrem System installiert sind. Andernfalls können wir Firewalld mit dem folgenden Befehl installieren:
yum -y installiere firewalld
Nach der Installation starten wir die Firewall und aktivieren sie beim Booten mit den folgenden systemctl-Befehlen:
systemctl Firewall starten Systemctl Firewall aktivieren
Nach der Aktivierung fügen wir die folgenden Zeilen hinzu, um die entsprechenden Dienste zu aktivieren:
firewall-cmd --add-service = http --permanent firewall-cmd --add-service = https --permanent firewall-cmd --add-port = 161 / udp -permanent
Wir übernehmen die Änderungen, indem wir firewalld mit dem folgenden Befehl neu laden:
firewall-cmd-reload
Wir können die Regeln auflisten, um zu bestätigen, dass die Dienste korrekt hinzugefügt wurden:
firewall-cmd --list-all
Wir greifen von jedem Browser aus zu, indem wir die IP-Adresse des Servers eingeben. Wir geben die Anmeldeinformationen ein und dies ist die LibreNMS-Umgebung:
Von dort aus können wir die gesamte Verwaltung der zugehörigen Geräte durchführen.