Diese Anleitung zeigt, wie Sie das Icinga 2-Tool zur Netzwerkinfrastrukturüberwachung installieren und konfigurieren Debian 9.
Was ist Icinga 2?
Icinga ist eine Open-Source-Überwachungsanwendung, mit der Sie kritische Dienste und Systeme auf Ihrem virtuellen Server überwachen können. Icinga 2 kann Hosts im Netzwerk überwachen oder externe Netzwerkprotokolle überprüfen, beispielsweise den Status des HTTP Server, Mailserver, File-Sharing-Dienste und andere.
Icinga 2 kann so konfiguriert werden, dass es den Status interner Systeme überwacht und die Auslastung, den Speicher und die freie Festplatte überprüft space oder andere interne Host-Parameter. Icinga kann auch so konfiguriert werden, dass Benachrichtigungen und Warnungen per E-Mail oder gesendet werden SMS an in den Kontakten angegebene Systemadministratoren.
Anfangsvoraussetzungen
Für viele der Befehle in diesem Handbuch sind Superuser-Rechte erforderlich. Wenn der Befehl „bash: sudo:“ bei Verwendung des Befehls „sudo“ nicht gefunden wird, müssen Sie den Superuser-Modus aktivieren, den Befehl „sudo“ festlegen und Ihren Benutzer zur Gruppe „sudo“ hinzufügen:
su -
apt-get install sudo -y
usermod -aG sudo yourusername
Das LAMP Der Stack muss auf dem virtuellen Server installiert sein.
Aktualisieren Sie lokale Repositories und Pakete:
sudo apt-get update && sudo apt-get upgrade
Verwendung von OPCache zur Erhöhung der Download-Geschwindigkeit
Um die Ladegeschwindigkeit Ihrer Anwendung mithilfe des in PHP 7 verfügbaren OPCache-Plugins zu erhöhen, fügen Sie den folgenden OPCache-Vorgang hinzurameter bis zum Ende der PHP-Konfigurationsdatei:
vi /etc/php/7.0/apache2/php.ini
Fügen Sie die folgenden Zeilen ein:
opcache.enable=1
opcache.enable_cli=1
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.memory_consumption=128
opcache.save_comments=1
opcache.revalidate_freq=1
Wiederaufnahme Apache Damit die Änderungen wirksam werden:
systemctl restart apache2
Datenbankeinstellungen
Installieren Sie das DBMS, das die Racing 2-Webanwendung zur Überwachung benötigt, und die Icinga Web 2-Schnittstelle zum Speichern von Benutzern, Kontakten und anderen gesammelten Daten. Führen Sie den folgenden Befehl aus, um die MariaDB-Datenbank und das PHP-Modul zu installieren, die für den Zugriff erforderlich sind MySQL Datenbank in Debian 9:
apt install php7.0-mysql mariadb-server mariadb-client
Melden Sie sich bei der MySQL Konsole und Schutz des MariaDB-Superuser-Kontos:
mysql -h localhost
use mysql;
update user set plugin='' where user='root';
flush privileges;
exit
Als nächstes führen Sie die MySQL Sicherheitsskript:
sudo mysql_secure_installation
Melden Sie sich bei der Datenbankkonsole an und erstellen Sie die Datenbank für Icinga 2:
mysql -p
Erstellen Sie einen Benutzer mit einem sicheren Passwort, um die Icinga 2-Anwendungsdatenbank zu verwalten, indem Sie die folgenden Befehle eingeben. Ersetzen Sie in diesem Beispiel icingadb, icinga-user und strongpassword durch Ihren Datenbanknamen und Ihre Anmeldeinformationen:
create database icingadb;
grant all privileges on icingadb.* to 'icinga_user'@'localhost' identified by 'strongpassword';
flush privileges;
Erstellen Sie eine zweite MySQL Datenbank, die von Icinga 2 Web zum Speichern von Benutzern und Gruppen verwendet wird. Ersetzen Sie wie im vorherigen Schritt den Datenbanknamen und die Anmeldeinformationen. Sie können dasselbe verwenden MySQL Benutzerkonto zur gleichzeitigen Verwaltung beider Datenbanken (icinga_user'@'localhost):
create database icinga_users;
grant all privileges on icinga_users.* to 'icinga_user'@'localhost' identified by 'strongpassword';
exit
Icinga 2 installieren
Installieren Sie Icinga 2 und Icinga 2 MySQL Modul für den Zugriff auf die MariaDB-Datenbank:
apt install icinga2 icinga2-ido-mysql
Bei der Installation stellt sich die Frage nach der Verwendung des MySQL Modul. Wählen Sie in der Befehlszeile „Ja“:
Starten Sie nach der Installation von Icinga 2 den Icinga 2-Dienst und überprüfen Sie den Status des Daemons:
systemctl start icinga2.service
systemctl status icinga2.service
Installieren des Icinga 2-Webinterfaces
Um Icinga 2 über die Weboberfläche zu steuern, installieren Sie die Icinga 2-Weboberfläche und die Befehlszeilenschnittstelle (CLI) Pakete:
apt install icingaweb2 icingacli
Starten Sie den Icinga 2-Daemon neu und überprüfen Sie seinen Status:
systemctl restart icinga2.service
systemctl status icinga2.service
Zur Installation ist eine Icinga 2-Datenbank erforderlich MySQL Schema:
mysql -u root icingadb -p < /usr/share/icinga2-ido-mysql/schema/mysql.sql
Öffnen Sie Icinga 2 MySQL IDO-Konfigurationsdatei:
vi /etc/icinga2/features-enabled/ido-mysql.conf
Fügen Sie die Anmeldeinformationen für die Icinga 2-Datenbank hinzu, wie im Beispiel unten gezeigt. Verwenden Sie beim Erstellen der Datenbank die Anmeldeinformationen der ersten Datenbank, die Sie im vorherigen Schritt erstellt haben:
library "db_ido_mysql"
object IdoMysqlConnection "ido-mysql" {
user = "icinga_user",
password = "strongpassword",
host = "localhost",
database = "icingadb"
}
Speichern Sie die Datei und starten Sie den Icinga 2-Daemon neu:
systemctl restart icinga2.service
Erstellen Sie das Icinga Web 2-Protokollverzeichnis und fügen Sie die entsprechenden Dateisystemberechtigungen hinzu, um Gruppenschreibberechtigungen zu gewähren:
mkdir -p /var/log/icingaweb2/
chgrp -R icingaweb2 /var/log/icingaweb2/
chmod -R 775 /var/log/icingaweb2/
Konfigurieren Sie Icinga 2 über die Weboberfläche
Generieren Sie das Installationstoken. Bewahren Sie es an einem leicht zugänglichen Ort auf. Sie müssen es verwenden, um auf das Icinga 2-Setup zuzugreifen:
icingacli setup token create
Die Ausgabe dieses Befehls sollte etwa so aussehen:
The newly generated setup token is: c0f22932e763ac41
Hinweis: Um das generierte Token anzuzeigen, wenn Sie es vergessen haben, können Sie den folgenden Befehl verwenden:
icingacli setup token show
Öffnen Sie den Microsoft Store auf Ihrem Windows-PC. HTTP Port zur Verbindung mit der Weboberfläche:
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
Öffnen Sie Ihren Browser und gehen Sie zu http://exampleIP/icingaweb2/setup. Ersetzen Sie die Beispiel-IP durch die IP-Adresse Ihres virtuellen Servers. Fügen Sie in der ersten Phase der Installation das zuvor erstellte Token hinzu:
Überprüfen Sie auf dem nächsten Bildschirm die Module „Dokument“ und „Überwachung“. click Weiter, um fortzufahren:
Icinga 2 überprüft Ihre Systemanforderungen und PHP-Module, um sicherzustellen, dass alle Anforderungen erfüllt sind, bevor mit dem Installations- und Konfigurationsprozess fortgefahren wird. Sollten einzelne Module fehlen, müssen diese neu installiert werden.
Scrollen Sie nach unten zum Ende der Seite und click Weiter, um fortzufahren:
Wählen Sie als Authentifizierungstyp aus Datenbank:
Verwenden Sie die Informationen aus der zweiten Datenbank, die Sie zuvor erstellt haben, um die Anmeldeinformationen hinzuzufügen, die für den Zugriff auf die Icinga 2-Datenbank zum Speichern von Benutzern und Gruppen erforderlich sind.
Verwenden Sie icingaweb_db als Namen für diese Ressource.
Host und Port parameters muss localhost bzw. 3306 sein. Aktivieren Sie keine persistenten und SSL-Optionen. CliKlicken Sie auf die Schaltfläche „Konfiguration validieren“, um die Datenbank zu bestätigen. Nach erfolgreicher Prüfung der Datenbank, cliKlicken Sie auf „Weiter“, um zum nächsten Schritt im Icinga 2-Konfigurationsprozess zu gelangen:
Definieren Sie einen Namen für die Authentifizierungsdatenbank und click Weiter:
Fügen Sie einen Benutzernamen mit einem sicheren Passwort hinzu, um sich bei der Icinga 2-Weboberfläche anzumelden click Weiter:
Konfigurieren Sie als Nächstes die Anwendung und konfigurieren Sie die Fehlerprotokollierung mithilfe des folgenden Schrittsrameter:
- Aktivieren Sie „Stacktraces anzeigen“;
- Speichertyp = Datenbank;
- Protokollierungstyp = Datei;
- Protokollierungsebene = Fehler;
- Dateipfad = /var/log/icingaweb2/icingaweb2.log
Sehen Sie sich den Informationsbericht an und, wenn keine Fehler vorliegen, click Weiter, um fortzufahren:
Im nächsten Fenster click Weiter, um fortzufahren:
Fügen Sie einen Namen für das Icinga 2-Backend hinzu, wählen Sie IDO als Backend-Typ aus und click Weiter:
Fügen Sie Datenbankanmeldeinformationen hinzu, um die IDO-Ressourcenumgebung zu konfigurieren. Nach dem Hinzufügen, cliKlicken Sie auf die Schaltfläche „Konfiguration validieren“, um die Icinga-Überwachungs-IDO-Ressource zu überprüfen.
Nachdem die Meldung Erfolgreich validiert angezeigt wird, click Weiter:
Konfigurieren Sie das Transportmodul mit dem folgenden Schrittrameter:
Transport Name = icinga2
Transport Type = Local Command File
Command File = /var/run/icinga2/cmd/icinga2.cmd
Legen Sie die Umgebungsvariablen für die Überwachungssicherheit fest (Sie können die Standardwerte beibehalten):
Der nächste Bildschirm zeigt einen detaillierten Bericht der aktuellen Konfiguration. Überprüfen Sie die Konfiguration und cliKlicken Sie auf „Fertig stellen“, um den Installationsvorgang abzuschließen:
Nachdem der Installations- und Konfigurationsprozess abgeschlossen ist, erscheint eine Meldung, dass Icinga Web 2 erfolgreich konfiguriert wurde:
Melden Sie sich beim Icinga 2-Panel unter an http://exampleIP/icingaweb2/authentication/login:
Sie werden zum Icinga Web 2-Kontrollfeld weitergeleitet, wo Sie die Dienste und Ressourcen des virtuellen Servers sehen, die derzeit von Icinga 2 überwacht werden:
Sie haben die Icinga 2-Überwachungsanwendung und die Icinga Web 2-Schnittstelle erfolgreich installiert und konfiguriert Debian 9.