Icinga ist ein kostenloses und Open-Source-Überwachungstool für Ihr Rechenzentrum. Es handelt sich um eine Computersystem- und Netzwerküberwachungsanwendung, die die Verfügbarkeit Ihres Netzwerks und Ihrer Computerressourcen prüft, Systemausfälle meldet, Leistungsdaten Ihrer Ressourcen generiert und die hochverfügbare und verteilte Überwachungseinrichtung mit der integrierten Clusterfunktion bereitstellt. P>
Icinga wurde 2009 als Fork des Überwachungstools Nagios entwickelt. Jetzt wurde es von Grund auf in C++ neu geschrieben und ist zu einem der beliebtesten Überwachungstools im Internet geworden. Das Wort „Icinga“ ist ein Zulu-Wort und bedeutet „es sucht“, oder „es durchsucht“ oder „es untersucht“.
In diesem Tutorial zeigen wir Ihnen, wie Sie das Überwachungstool Icinga 2 mit einem Ubuntu 20.04 LTS-Server installieren und konfigurieren. Wir werden Icinga 2 aus dem offiziellen Repository installieren und dann icingaweb2 konfigurieren, die leichtgewichtige und erweiterbare Webschnittstelle für ein icinga2-Überwachungstool.
Voraussetzungen
Für diese Anleitung werden wir icinga2 und icingaweb2 mit dem Ubuntu 20.04 Server mit 2 GB RAM-Speicher installieren. Bei großen Bereitstellungen können Sie mehr verwenden.
Was werden wir tun?
- Icinga2- und Nagios-Überwachungs-Plugins installieren
- MySQL-Datenbank installieren und konfigurieren
- Installieren und konfigurieren Sie das Icinga-MySQL-Modul
- Apache2- und PHP-Pakete installieren
- Icingaweb2 installieren und konfigurieren
- Icinga2-Stack-Nachinstallation
Schritt 1 - Icinga2- und Nagios-Überwachungs-Plugins installieren
Zuerst werden wir das icinga2-Repository für Ubuntu 20.04 hinzufügen und die icinga2-Pakete und Nagios-Überwachungs-Plugins installieren.
Fügen Sie den GPG-Schlüssel des Icinga2 zu Ihrem System hinzu.
curl https://packages.icinga.com/icinga.key | apt-key add -
Gehen Sie nun in das Verzeichnis ‚/etc/apt/sources.list.d‘ und erstellen Sie eine neue Repository-Datei ‚icinga-focal.list‘.
cd /etc/apt/sources.list.d/
vim icinga-focal.list
Fügen Sie die folgende Repository-Konfiguration ein.
deb http://packages.icinga.com/ubuntu icinga-focal main
deb-src http://packages.icinga.com/ubuntu icinga-focal main
Speichern und schließen.
Aktualisieren Sie als Nächstes alle verfügbaren Repositories und installieren Sie die Icinga2- und Nagios-Überwachungs-Plugins mit dem folgenden apt-Befehl.
sudo apt update
sudo apt install icinga2 monitoring-plugins
Sobald die gesamte Installation abgeschlossen ist, starten Sie den Icinga2-Dienst und fügen Sie ihn zum Systemstart hinzu.
systemctl start icinga2
systemctl enable icinga2
Überprüfen Sie danach den icinga2-Dienst mit dem folgenden Befehl.
systemctl status icinga2
Unten sehen Sie das Ergebnis, das Sie erhalten.
Als Ergebnis läuft der icinga2-Dienst auf Ubuntu 20.04 FocalFossa.
Schritt 2 – MySQL-Datenbankserver installieren und konfigurieren
In diesem Schritt installieren wir den neuesten MySQL-Server auf unserem Ubuntu 20.04 und richten das Passwort für den standardmäßigen MySQL-Root-Benutzer ein.
Installieren Sie den MySQL-Server mit dem folgenden apt-Befehl.
sudo apt install mysql-server mysql-client
Starten Sie danach den MySQL-Dienst und fügen Sie ihn zum Systemstart hinzu.
systemctl start mysql
systemctl enable mysql
Und der MySQL-Dienst läuft.
Als Nächstes konfigurieren wir das Passwort für den MySQL-Root-Benutzer mit dem Befehlszeilentool „mysql_secure_installation“, das von den MySQL-Paketen bereitgestellt wird.
Führen Sie den 'mysql_secure_installation'-Befehl unten aus.
mysql_secure_installation
Jetzt werden Sie aufgefordert, ein neues Passwort für den Root-Benutzer zu konfigurieren, Ihr starkes Passwort einzugeben und für andere Konfigurationen „Y“ einzugeben.
Press y|Y for Yes, any other key for No:
Please set the password for root here.
New password:
Re-enter new password:
Remove anonymous users? (Press y|Y for Yes, any other key for No) : Y
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : Y
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : Y
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y
Als Ergebnis ist die Installation des MySQL-Servers und die Konfiguration des Standard-Root-Passworts abgeschlossen.
Schritt 3 - Icinga2 MySQL-Modul installieren und konfigurieren
Nach der Installation des MySQL-Servers installieren wir das icinga2-Modul für die MySQL-Unterstützung namens 'icinga2-ido-mysql'.
Installieren Sie 'icinga2-ido-mysql' mit dem folgenden apt-Befehl.
sudo apt install icinga2-ido-mysql
Jetzt werden Sie aufgefordert, die Ido-Mysql-Funktion von icinga2 zu aktivieren. Wählen Sie „Ja“, um fortzufahren.
Konfigurieren Sie 'icinga2-ido-mysql' mit dem dbconfig-Befehl, wählen Sie 'Yes' um fortzufahren.
Geben Sie Ihr Passwort für „icinga2-ido-mysql“ ein.
Wiederholen Sie das Passwort für 'icinga2-ido-mysql'.
Als Ergebnis ist die Installation des 'icinga2-ido-mysql'-Pakets abgeschlossen und der neue MySQL-Benutzer 'icinga2' wurde erstellt.
Damit Icinga mit der neuen MySQL-Version funktioniert, konfigurieren wir als Nächstes den MySQL-Benutzer „icinga2“ mit der nativen MySQL-Passwortauthentifizierung.
Melden Sie sich mit dem folgenden Befehl bei der MySQL-Shell an.
mysql -u root -p
Ändern Sie nun die Authentifizierung des Benutzers „[email protected]“ mit dem nativen MySQL-Authentifizierungs-Plug-in mithilfe der folgenden Abfrage.
ALTER USER [email protected] IDENTIFIED WITH mysql_native_password BY '[email protected]#$';
flush privileges;
Geben Sie „exit“ ein, um sich von der MySQL-Shell abzumelden, und der MySQL-Benutzer „icinga2“ verwendet jetzt das native Authentifizierungs-Plugin.
Aktivieren Sie als Nächstes die Funktion „ido-mysql“ und überprüfen Sie alle aktivierten Plugins mit dem folgenden Befehl.
icinga2 feature enable ido-mysql
icinga2 feature list
Und Sie werden die Funktion 'ido-mysql' aktiviert bekommen, um die neue Konfiguration zu übernehmen, starten Sie den icinga2-Dienst neu.
systemctl restart icinga2
Und die Installation und Konfiguration von 'icinga2-ido-mysql' sind abgeschlossen.
Schritt 4 - Apache2- und PHP-Pakete installieren
In diesem Schritt werden wir die Apache- und PHP-Pakete für icingaweb2 installieren. Und wir werden PHP 7.3 verwenden, das im PPA-Repository verfügbar ist, da icingaweb2 derzeit noch nicht von der neuen Version PHP 7.4 unterstützt wird.
Installieren Sie zuerst das Paket ‚python3-software-properties‘ und fügen Sie das PHP PPA-Repository mit dem folgenden Befehl hinzu.
sudo apt install python3-software-properties
sudo add-apt-repository ppa:ondrej/php
Installieren Sie als Nächstes Apache- und PHP-Pakete mit dem folgenden apt-Befehl.
sudo apt install apache2 php7.3 php7.3-common php7.3-gd php7.3-ldap php7.3-intl php7.3-curl libapache2-mod-php7.3 php7.3-mysql php7.3-pgsql php7.3-xml
Sobald die gesamte Installation abgeschlossen ist, bearbeiten Sie die 'php.ini'-Konfiguration mit dem vim-Editor.
vim /etc/php/7.3/apache2/php.ini
Entkommentieren Sie die Option „date.timezone“ und geben Sie Ihre Zeitzone ein.
date.timezone = Asia/Singapore
Entkommentieren Sie die Konfiguration „cgi.fix_pathinfo“ und ändern Sie den Wert auf „0“.
cgi.fix_pathinfo=0
Speichern und schließen.
Starten Sie als Nächstes den Apache2-Dienst neu und fügen Sie ihn zum Systemstart hinzu.
systemctl restart apache2
systemctl enable apache2
Der Apache2-Dienst ist aktiv und läuft, überprüfen Sie ihn mit dem folgenden Befehl.
systemctl status apache2
Unten sehen Sie das Ergebnis, das Sie erhalten.
Als Ergebnis ist die Installation von Apache- und PHP-Paketen für icingaweb2 abgeschlossen.
Schritt 5 - Icingaweb2 installieren
Nach der Installation der Apache- und PHP-Pakete werden wir das icingaweb2-Paket installieren und eine neue MySQL-Datenbank für icingaweb2 erstellen.
Installieren Sie die Pakete icingaweb2 und icingacli mit dem apt-Befehl.
sudo apt install icingaweb2 icingacli
Sobald die gesamte Installation abgeschlossen ist, generieren Sie das icingaweb2-Token für die Installation mit dem folgenden Befehl.
icingacli setup token create
Unten sehen Sie das Ergebnis, das Sie erhalten.
The newly generated setup token is: 9b871ead0a60c94f
Kopieren Sie nun den Token-Code in Ihre Notiz, er wird für die icingaweb2-Installation verwendet.
Melden Sie sich als Nächstes mit dem folgenden mysql-Befehl bei der MySQL-Shell an.
mysql -u root -p
Erstellen Sie nun eine neue Datenbank und einen neuen Benutzer mit den folgenden Abfragen.
create database icingaweb2;
create user [email protected] identified with mysql_native_password by "icingaweb2pass";
grant all privileges on icingaweb2.* to [email protected] with grant option;
flush privileges;
Geben Sie „exit“ ein, um sich von der MySQL-Shell abzumelden.
Als Ergebnis ist die Installation von icingaweb2 abgeschlossen und die neue Datenbank für icingaweb2 wurde erstellt
Schritt 6 - Nachinstallation von Icinga 2 und Icinga Web 2
Öffnen Sie Ihren Webbrowser und geben Sie die Server-IP-Adresse wie unten ein. Ersetzen Sie die IP durch Ihre Server-IP.
http://10.5.5.20/icingaweb2/setup
Fügen Sie den Setup-Token-Code in das Feld ein und klicken Sie auf die Schaltfläche „Weiter“.
Jetzt müssen Sie das Icinga-Modul für Ihre Installation auswählen, das Modul „Überwachung“ verlassen und auf „Weiter“ klicken.
Danach überprüft Icinga die Umgebung auf seine Installation. Stellen Sie sicher, dass alle benötigten Module mit Ausnahme der „PostgreSQL-Module“ im grünen Status sind, und klicken Sie dann auf „Weiter“.
Jetzt müssen Sie die Authentifizierung für den Zugriff auf das icingaweb2 auswählen, 'Datenbank' wählen und auf 'Weiter' klicken.
Geben Sie alle Datenbankdetails für „icingaweb2“ ein und klicken Sie zum Testen auf „Validate Configuration“. Sobald es erfolgreich war, klicken Sie auf die Schaltfläche „Weiter“.
Wählen Sie nun für die Backend-Authentifizierung „icingaweb2“ und klicken Sie auf „Weiter“.
Geben Sie den Administrator und das Passwort für icingaweb2 ein und klicken Sie erneut auf „Weiter“.
Belassen Sie es in der Anwendungskonfiguration als Standard und klicken Sie auf „Weiter“.
Bestätigen Sie alle Einstellungen und klicken Sie auf „Weiter“.
Und Sie erhalten die Willkommensseite zum icingaweb2. Klicken Sie erneut auf „Weiter“, um das Überwachungs-Backend zu konfigurieren.
Legen Sie den Backend-Namen als „icinga2“ mit dem Typ „IDO“ fest und klicken Sie dann auf „Weiter“.
Jetzt müssen Sie die MySQL-IDO-Backend-Ressource für die icinga2-Anwendung konfigurieren. Geben Sie details database for icinga2 ein und klicken Sie auf 'Validate Configuration'. Sobald es erfolgreich war, klicken Sie auf die Schaltfläche „Weiter“.
Wählen Sie für den 'Befehlstransport' die 'Lokale Befehlsdatei' und belassen Sie sie als Standard. Klicken Sie dann auf „Weiter“.
Und für die Überwachungssicherheit belassen Sie es als Standard und klicken Sie auf „Weiter“.
Bestätigen Sie die gesamte Konfiguration und klicken Sie auf die Schaltfläche „Fertig stellen“.
Jetzt sind die Installationen von Icinga 2 und Icinga Web 2 abgeschlossen, klicken Sie auf die Schaltfläche „Bei Icinga Web 2 anmelden“ und Sie werden zur Anmeldeseite weitergeleitet.
Geben Sie oben den Benutzer ein, den Sie konfiguriert haben, und klicken Sie auf die Schaltfläche „Anmelden“.
Geben Sie oben den Benutzer ein, den Sie konfiguriert haben, und klicken Sie auf die Schaltfläche „Anmelden“.
Und schließlich wurden die Installation und Konfiguration von icinga2 und icingaweb2 auf dem Ubuntu 20.04-Server erfolgreich abgeschlossen.