GNU/Linux >> LINUX-Kenntnisse >  >> Debian

So installieren Sie das Icinga 2-Überwachungstool unter Debian 9.2

In diesem Leitfaden besprechen wir, wie Sie die neueste Version des Icinga 2-Webüberwachungstools in Debian 9.2-Release installieren und konfigurieren, um alle wichtigen Netzwerkinfrastrukturgeräte wie physische oder virtuelle Server oder VMs, Router, Switches, Firewall-Appliances und zu überwachen andere Netzwerk-IoT-Geräte. Es kann auch den Status von Netzwerkprotokollen wie HTTP, FTP, SMTP, IMAP oder anderen Netzwerkdiensten, Hostressourcen, physischen Sensoren sowie Software, CPU-Auslastung, Arbeitsspeicher, Speicherplatz usw. und fast alle miteinander verbundenen überwachen Netzwerkgeräte über ICMP oder Ping-Anfragen.

Icinga, ursprünglich ein Fork des Nagios-Überwachungssystems, ist eine moderne Open-Source-Netzwerküberwachungsanwendung, die in PHP geschrieben und unter Linux unter Apache/Nginx-, PHP- und MySQL/MariaDB-Komponenten, auch bekannt als LAMP- oder LEMP-Stacks, weit verbreitet ist. Icinga 2 kann so konfiguriert werden, dass es System- oder Netzwerkadministratoren per E-Mail, SMS, Chat oder andere Arten von Warnungen über Netzwerk-, System-, Dienst- oder andere damit zusammenhängende Netzwerkausfälle benachrichtigt und auch Grafiken über Netzwerkausfallzeiten oder -leistung erstellen kann.

Anforderungen

  • Debian 9.2 installiert auf einer Bare-Metal-Maschine oder auf einem virtuellen privaten Server.
  • Eine der Netzwerkschnittstellenkarten des Servers, die mit einer statischen IP-Adresse konfiguriert ist.
  • Direkter Zugriff auf das Root-Konto über die Konsole oder remote über den SSH-Dienst oder sudo-Root-Rechte auf einem lokalen oder Remote-Konto.
  • Ein Domänenname, privat oder öffentlich, je nach Ihrer Bereitstellung, mit den richtigen DNS-Einträgen, die für Webdienste konfiguriert sind.
  • Ein E-Mail-Dienst, der bei Ihnen richtig konfiguriert ist, um E-Mail-Benachrichtigungen zu senden.

Erstkonfiguration

Bevor Sie mit der Installation und Konfiguration des Icinga 2-Webüberwachungstools auf Ihrem eigenen Server beginnen, stellen Sie zunächst sicher, dass das System alle Softwareanforderungen zum Kompilieren und Installieren der Anwendung erfüllt. Aktualisieren Sie im ersten Schritt Ihre System-Repositories und Softwarepakete, indem Sie den folgenden Befehl ausführen.

apt update
apt upgrade

Führen Sie im nächsten Schritt den folgenden Befehl aus, um einige notwendige Dienstprogramme zu installieren, die zur weiteren Verwaltung Ihres Systems über die Befehlszeile verwendet werden.

apt install wget bash-completion unzip

Als nächstes richten Sie den Hostnamen für Ihr System ein, indem Sie den folgenden Befehl ausführen. Ersetzen Sie Ihre Hostnamenvariable entsprechend.

hostnamectl set-hostname icinga

Überprüfen Sie den Hostnamen und die Hostdatei des Computers, indem Sie die folgenden Befehle ausführen.

hostnamectl
cat /etc/hostname
hostname –s

Starten Sie abschließend den Debian-Server neu, um Kernel-Updates anzuwenden und den Hostnamen korrekt zu ändern.

init 6

Icinga 2 ist eine Netzwerküberwachungsanwendung, die über das Web konfiguriert werden kann und deren Funktionalität hauptsächlich auf der serverseitigen Programmiersprache PHP basiert. Um die PHP-Dateiskripte der Anwendung auszuführen, müssen ein Webserver, wie z. B. ein Apache HTTP-Server, und ein PHP-Verarbeitungsgateway im System installiert und betriebsbereit sein. Um den Apache-Webserver und den PHP-Interpreter zusammen mit allen erforderlichen PHP-Modulen zu installieren, die Icinga benötigt, um richtig zu laufen, führen Sie den folgenden Befehl in Ihrer Serverkonsole aus.

apt install apache2 libapache2-mod-php7.0 php7.0-xml php7.0-opcache php7.0-xml php7.0-mbstring php7.0-json php7.0-curl php7.0-ldap php7.0-cli php7.0-gd php7.0-intl php7.0-readline

Testen Sie nach der Installation von Apache und PHP, ob der Webserver betriebsbereit ist und auf Netzwerkverbindungen auf Port 80 wartet, indem Sie den folgenden Befehl mit Root-Rechten ausgeben.

netstat –tlpn

Falls das Netzwerkdienstprogramm netstat nicht standardmäßig in Ihrem Debian-System installiert ist, führen Sie den folgenden Befehl aus, um es zu installieren.

apt install net-tools

Indem Sie die Ausgabe des netstat-Befehls überprüfen, können Sie sehen, dass der Apache-Webserver auf Port 80 auf eingehende Netzwerkverbindungen wartet. Für die gleiche Aufgabe können Sie auch ss verwenden Befehl, der unter Debian 9 standardmäßig automatisch installiert wird.

ss- tulpn

Falls Sie eine Firewall in Ihrem System aktiviert haben, wie z. B. eine UFW-Firewall-Anwendung, sollten Sie eine neue Regel hinzufügen, um HTTP-Datenverkehr durch die Firewall passieren zu lassen, indem Sie den folgenden Befehl ausgeben.

ufw allow WWW

oder

ufw allow 80/tcp

Wenn Sie iptables verwenden Um Firewall-Regeln in Ihrem Debian-Server zu verwalten, fügen Sie die folgende Regel hinzu, um eingehenden Datenverkehr auf Port 80 auf der Firewall zuzulassen, damit Besucher die Icinga2-Webschnittstelle durchsuchen können.

apt-get install -y iptables-persistent
iptables -I INPUT -p tcp --destination-port 80 -j ACCEPT
systemctl iptables-persistent save
systemctl iptables-persistent reload

Als nächstes aktivieren und wenden Sie die folgenden Apache-Module an, die zum Umleiten von HTTP-Verbindungen zu HTTPS verwendet werden, indem Sie den folgenden Befehl ausführen.

a2enmod rewrite
systemctl restart apache2

Testen Sie schließlich, ob die Standardwebseite des Apache-Webservers in den Browsern Ihres Clients angezeigt werden kann, indem Sie die IP-Adresse Ihres Debian-Rechners oder Ihren Domänennamen oder Server-FQDN über das HTTP-Protokoll besuchen. Wenn Sie die IP-Adresse Ihres Computers nicht kennen, führen Sie ifconfig aus oder ip a Befehle, um die IP-Adresse Ihres Servers anzuzeigen. Die Standard-Apache-Seite für Debian wird in Ihrem Browser angezeigt, wie im folgenden Screenshot gezeigt.

http://ihre_domain.tld

Um auf die Icinga 2-Überwachungsanwendung über das HTTPS-Protokoll zuzugreifen, das den Datenverkehr für Ihre Clients sichert, geben Sie den folgenden Befehl aus, um das Apache-Webserver-SSL-Modul und die SSL-Site-Konfigurationsdatei zu aktivieren. Aktivieren Sie außerdem das Apache Rewrite-Modul, um Benutzer zu zwingen, die Schnittstelle über HTTPS zu besuchen.

a2enmod ssl rewrite
a2ensite default-ssl.conf

Öffnen Sie als Nächstes die Apache-Standard-SSL-Site-Konfigurationsdatei mit einem Texteditor und aktivieren Sie URL-Umschreibungsregeln, indem Sie die folgenden Codezeilen nach DocumentRoot hinzufügen Direktive, wie im folgenden Beispiel gezeigt:

nano /etc/apache2/sites-enabled/default-ssl.conf

Auszug aus der SSL-Site-Konfigurationsdatei:

<Directory /var/www/html>
  Options +FollowSymlinks
  AllowOverride All
Require all granted
</Directory>

Nehmen Sie außerdem die folgende Änderung an der VirtualHost-Zeile vor, damit sie wie im folgenden Auszug aussieht:

        <VirtualHost *:443>

Schließen Sie die TLS-Apache-Datei und öffnen Sie /etc/apache2/sites-enabled/000-default.conf Datei zum Bearbeiten und fügen dieselben URL-Umschreibungsregeln wie für die SSL-Konfigurationsdatei hinzu. Fügen Sie die Codezeilen nach DocumentRoot ein Anweisung wie im folgenden Beispiel gezeigt.

<Directory /var/www/html>
  Options +FollowSymlinks
  AllowOverride All
  Require all granted
</Directory>

Starten Sie abschließend den Apache-Daemon neu, um alle bisher konfigurierten Regeln anzuwenden, und besuchen Sie Ihre Domain über das HTTP-Protokoll. Da Sie das automatisch selbstsignierte Zertifikatspaar verwenden, das von Apache bei der Installation ausgestellt wird, sollte eine Fehlermeldung im Browser angezeigt werden, wie im folgenden Screenshot gezeigt.

systemctl restart apache2

https://ihredomain.tld

Akzeptieren Sie die Warnung, um fortzufahren und über das HTTPS-Protokoll zur Apache-Standardwebseite umgeleitet zu werden. Die folgende Seite wird in Ihrem Browser angezeigt.

Falls die UFW-Firewall-Anwendung eingehende Netzwerkverbindungen zum HTTPS-Port blockiert, sollten Sie eine neue Regel hinzufügen, um HTTPS-Verkehr durch die Firewall passieren zu lassen, indem Sie den folgenden Befehl ausgeben.

ufw allow 'WWW Full'

oder

ufw allow 443/tcp

Wenn iptables die standardmäßig installierte Firewall-Anwendung ist, um Ihr Debian-System auf Netzwerkebene zu schützen, fügen Sie die folgende Regel hinzu, um eingehenden Datenverkehr von Port 443 in der Firewall zuzulassen, damit Besucher Ihren Domänennamen durchsuchen können.

iptables -I INPUT -p tcp --destination-port 443 -j ACCEPT
systemctl iptables-persistent save
systemctl iptables-persistent reload

Im nächsten Schritt müssen wir einige weitere Änderungen an der PHP-Standardkonfigurationsdatei vornehmen, um sicherzustellen, dass die folgenden PHP-Variablen und die PHP-Zeitzone aktiviert sind Die Einstellung ist korrekt konfiguriert und entspricht dem geografischen Standort Ihres Systems. Öffnen Sie /etc/php/7.0/apache2/php.ini Datei zum Bearbeiten und vergewissern Sie sich, dass die folgenden Zeilen wie folgt eingerichtet sind. Erstellen Sie außerdem zunächst eine Sicherungskopie der PHP-Konfigurationsdatei.

cp /etc/php/7.0/apache2/php.ini{,.backup}
nano /etc/php/7.0/apache2/php.ini

Suchen, bearbeiten und ändern Sie die folgenden Variablen in php.ini Konfigurationsdatei:

php_value max_execution_time 300
php_value memory_limit 128M
php_value max_input_time 300
date.timezone = Europe/London

Ersetzen Sie time.zone Variable entsprechend Ihrer physischen Zeit, indem Sie die Liste der Zeitzonen konsultieren, die von PHP-Dokumenten unter folgendem Link bereitgestellt wird:http://php.net/manual/en/timezones.php

Wenn Sie die Ladegeschwindigkeit Ihrer Website-Seiten über das für PHP7 verfügbare OPCache-Plugin erhöhen möchten, fügen Sie die folgenden OPCache-Einstellungen am Ende der PHP-Interpreter-Konfigurationsdatei an, wie unten beschrieben:

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

Schließen Sie die Konfigurationsdatei php.ini und überprüfen Sie, ob das Ende der PHP-Konfigurationsdatei überprüft wurde, um zu überprüfen, ob die Variablen korrekt hinzugefügt wurden, indem Sie den folgenden Befehl ausführen.

tail /etc/php/7.0/apache2/php.ini

Nachdem Sie die oben beschriebenen Änderungen vorgenommen haben, starten Sie den Apache-Daemon neu, um die neuen Änderungen zu übernehmen, indem Sie den folgenden Befehl ausführen.

systemctl restart apache2

Erstellen Sie abschließend eine PHP-Infodatei, indem Sie den folgenden Befehl ausführen, und überprüfen Sie, ob die PHP-Zeitzone korrekt konfiguriert wurde, indem Sie die PHP-Info-Skriptdatei von einem Browser unter der folgenden URL aufrufen, wie im folgenden Bild dargestellt. Scrollen Sie nach unten zu Datum Einstellung, um die PHP-Zeitzonenkonfiguration zu überprüfen.

echo '<?php phpinfo(); ?>'| tee /var/www/html/info.php

https://domain.tld/info.php

Icinga 2 speichert Benutzer, Kontakte und andere gesammelte Daten in einer bestimmten RDBMS-Datenbank wie MySQL, SQLite oder PostgreSQL. In diesem Handbuch konfigurieren wir Icinga mit der MariaDB-Datenbank, einem Fork der MySQL-Datenbank, als Backend. Führen Sie den folgenden Befehl aus, um die MariaDB-Datenbank und das für den Zugriff auf die MySQL-Datenbank erforderliche PHP-Modul zu installieren.

apt install mariadb-server mariadb-client php7.0-mysql

Überprüfen Sie nach der Installation von MariaDB, ob der Daemon ausgeführt wird und auf Verbindungen auf localhost, Port 3306, wartet, indem Sie netstat ausführen oder ss Befehl.

netstat –tlpn | grep mysql

Melden Sie sich dann bei der MySQL-Konsole an und sichern Sie das MariaDB-Root-Konto, indem Sie die folgenden Befehle ausführen.

mysql -h localhost
use mysql;
update user set plugin='' where user='root';
flush privileges;
exit

Jetzt sichern wir die MariaDB, indem wir das Skript mysql_secure_installation ausführen bereitgestellt durch die Installationspakete aus den Debian-Repositories. Während der Ausführung stellt das Skript eine Reihe von Fragen zur Sicherung der MariaDB-Datenbank, z. B.:Ändern des MySQL-Root-Passworts, Entfernen anonymer Benutzer, Deaktivieren von Remote-Root-Anmeldungen und Löschen der Testdatenbank. Führen Sie das Skript aus, indem Sie den folgenden Befehl ausgeben, und vergewissern Sie sich, dass Sie auf alle gestellten Fragen Ja eingeben, um den MySQL-Daemon vollständig zu sichern. Verwenden Sie die folgende Skriptausgabe außer als Richtlinie.

sudo mysql_secure_installation
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
 SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!
In order to log into MariaDB to secure it, we'll need the current
password for the root user.  If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.
Enter current password for root (enter for none):
OK, successfully used password, moving on...
Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.
You already have a root password set, so you can safely answer 'n'.
Change the root password? [Y/n] y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
 ... Success!
By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
einziehen
production environment.
Remove anonymous users? [Y/n] y
 ... Success!
Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.
Disallow root login remotely? [Y/n] y
 ... Success!
By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.
Remove test database and access to it? [Y/n] y
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
Reload privilege tables now? [Y/n] y
 ... Success!
Cleaning up...
All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.
Thanks for using MariaDB!

Um die MariaDB-Sicherheit zu testen, versuchen Sie, sich über die Konsole ohne Root-Passwort bei der Datenbank anzumelden. Der Zugriff auf die Datenbank sollte verweigert werden, wenn kein Passwort für das Root-Konto angegeben wird. Wenn das Passwort angegeben wird, sollte der Anmeldevorgang für die MySQL-Konsole zugelassen werden, wie im folgenden Screenshot gezeigt.

mysql -h localhost -u root
mysql -h localhost -u root –p

Melden Sie sich als Nächstes bei der MariaDB-Datenbankkonsole an und erstellen Sie zunächst eine Datenbank, die von der Icinga2-Anwendung verwendet werden soll, und einen Benutzer mit einem Kennwort, das zum Verwalten dieser Datenbank verwendet wird, indem Sie die folgenden Befehle ausführen. Ersetzen Sie diesen Datenbanknamen, Benutzer und Passwort entsprechend.

mysql –u root -p
create database icingadb;
grant all privileges on icingadb.* to 'icinga_user'@'localhost' identified by 'icinga_pass';
flush privileges
exit

Erstellen Sie als Nächstes eine zweite MySQL-Datenbank, die zum Speichern von Benutzern, Gruppen und anderen benutzerdefinierten Daten der Icinga2-Webschnittstelle verwendet wird, indem Sie die folgenden Befehle ausführen. Stellen Sie außerdem wie bei der obigen Datenbank sicher, dass Sie den Datenbanknamen und die Anmeldeinformationen entsprechend ersetzen und ein starkes Passwort für den Datenbankbenutzer wählen.

mysql –u root –p
create database icinga_users;
grant all privileges on icinga_users.* to 'icinga_user'@'localhost' identified by 'icinga_pass';
flush privileges
exit

Um alle bisher vorgenommenen Änderungen zu übernehmen, starten Sie die MySQL- und Apache-Daemons neu und überprüfen Sie, ob die Daemons laufen, indem Sie die folgenden Befehle ausführen.

systemctl restart mysql apache2
systemctl status mysql apache2

Icinga 2 installieren

Nachdem alle Systemanforderungen für die Installation unserer Webüberwachungsanwendung erfüllt sind, fahren Sie mit der Installation der Anwendung zusammen mit dem MySQL-Modul fort, das für den Zugriff auf die MySQL-Datenbank erforderlich ist, indem Sie den folgenden Befehl ausführen. Icinga 2 verfügt über vorkompilierte Binärpakete, die von Debian 9-Repositories angeboten werden. Die Installation erfolgt über den Debian 9 apt Paketmanager.

apt install icinga2 icinga2-ido-mysql

Während der Installation von vorkompilierten Icinga2-Binärdateien aus Debian 9-Repositories erscheint eine Reihe von Eingabeaufforderungen auf Ihrem Bildschirm, um die Anwendung zu konfigurieren. Bei der ersten Eingabeaufforderung werden Sie gefragt, ob Sie Icinga 2 konfigurieren und aktivieren möchten, um das MySQL-Modul zu verwenden. Wählen Sie Ja aus der Eingabeaufforderung und drücken Sie die [Eingabe]-Taste, um fortzufahren, wie in der Abbildung unten gezeigt.

In der nächsten Eingabeaufforderung werden Sie gefragt, ob Sie die Datenbank für icinga2-ido-mysql mit der Option dbconfig-common konfigurieren möchten. Wählen Sie No aus der Eingabeaufforderung und drücken Sie die [Eingabe]-Taste, um die Installation von Icinga 2 abzuschließen.

Nachdem Icinga 2 installiert wurde, starten Sie den Icinga 2-Daemon und überprüfen Sie den Dienststatus, indem Sie die folgenden Befehle ausführen.

systemctl start icinga2.service
systemctl status icinga2.service

Installieren Sie im nächsten Schritt die Icinga 2-Webschnittstellen- und Befehlszeilen-Utility-Pakete von Debian 9 mit Hilfe des folgenden Befehls.

apt install icingaweb2 icingacli

Bevor Sie mit der Konfiguration von Icinga 2 aus dem Web beginnen, starten Sie den Icinga 2-Daemon neu, um alle Änderungen aufzunehmen und den Anwendungsstatus zu überprüfen, indem Sie den folgenden Befehl ausführen.

systemctl restart icinga2.service
systemctl status icinga2.service

Entfernen Sie als Nächstes die vom Apache-Webserver installierte Standarddatei index.html im Webroot-Pfad und löschen Sie auch die zuvor erstellte Datei info.php.

rm /var/www/html/index.html
rm /var/www/html/info.php

Installieren Sie nun das MySQL-Schema für die Icinga-Datenbank, indem Sie den folgenden Befehl ausführen. Das MySQL-Datenbankschema befindet sich unter /usr/share/icinga2-ido-mysql/schema/ Verzeichnis.

mysql -u root icingadb -p < /usr/share/icinga2-ido-mysql/schema/mysql.sql

Um die Icinga 2-Installation aus dem Web durchzuführen, generieren Sie mit dem folgenden Befehl ein Installations-Token. Stellen Sie sicher, dass Sie sich dieses Token notieren, da wir es später in die Weboberfläche schreiben, wenn Sie dazu aufgefordert werden.

icingacli setup token create

Falls Sie dieses Token später nicht finden können, können Sie den folgenden Befehl ausführen, um das generierte Token anzuzeigen.

icingacli setup token show

Fahren Sie nun mit dem Installationsprozess der Icinga2-Webschnittstelle fort, indem Sie einen Browser öffnen und die IP-Adresse oder den Domänennamen Ihres Servers über das HTTP-Protokoll zur folgenden URL navigieren.

http://ihre_domain.tld/icingaweb2/setup

Auf dem ersten Installationsbildschirm werden Sie aufgefordert, das zuvor generierte Token zu notieren, um den Installationsvorgang zu starten, wie im folgenden Screenshot gezeigt. Nachdem Sie Ihr Token hinzugefügt haben, klicken Sie auf die Schaltfläche Weiter, um mit dem Installationsvorgang fortzufahren.

Auf dem nächsten Installationsbildschirm werden Sie aufgefordert, einige Module für die Icinga 2-Webinstallation zu aktivieren. Wählen Sie die Module „Dokument“ und „Überwachung“ aus und klicken Sie auf die Schaltfläche „Weiter“, um fortzufahren, wie in der Abbildung unten dargestellt.

Als nächstes führt der Icinga2-Webinstaller eine Reihe von System- und PHP-Modulprüfungen durch, um festzustellen, ob alle Anforderungen erfüllt sind, um mit dem Installationsprozess fortzufahren. Scrollen Sie nach unten zur Liste aller erforderlichen PHP-Module, die installiert und ordnungsgemäß konfiguriert sind, und klicken Sie auf die Schaltfläche Weiter, um zum nächsten Installationsabschnitt zu gelangen, wie in den folgenden Bildern gezeigt.

Wählen Sie auf dem nächsten Bildschirm Datenbank als Authentifizierungs-Backend-Methode für Icinga Web 2 und klicken Sie auf die Schaltfläche Weiter, um fortzufahren.

Fügen Sie im nächsten Schritt den Namen der Icinga 2 Web MySQL-Datenbank und die Zugangsdaten für diese Datenbank hinzu. Diese Datenbank wird zum Speichern von Benutzern und Gruppen der Icinga 2-Webschnittstelle verwendet. Verwenden Sie die Datenbankinformationen für die zweite zuvor erstellte Datenbank. Fügen Sie icingaweb_db hinzu als Name für diese Ressource und belassen Sie die Variablen Host, Port und Zeichensatz als Standard. Aktivieren Sie nicht die Optionen Persistent und SSL und klicken Sie auf die Schaltfläche Validate Configuration, um die Datenbankverbindung zu validieren, wie im folgenden Bild gezeigt. Wenn Sie fertig sind, klicken Sie auf die Schaltfläche Weiter, um zum nächsten Installationsabschnitt zu gelangen.

Legen Sie nun einen Namen für die gesicherte Datenbankauthentifizierung fest und klicken Sie auf die Schaltfläche „Weiter“, um fortzufahren, wie im folgenden Screenshot dargestellt.

Geben Sie auf dem nächsten Bildschirm einen administrativen Benutzernamen für die Verwaltung der Icinga2-Webschnittstelle an und wählen Sie ein sicheres Passwort für dieses Konto. Wenn Sie fertig sind, klicken Sie auf die Schaltfläche Weiter, um zum nächsten Installationsbildschirm zu gelangen.

Konfigurieren Sie die Icinga-Anwendung und die Protokollierungskonfiguration mit den folgenden Einstellungen, und wenn Sie fertig sind, klicken Sie auf die Schaltfläche „Weiter“, um fortzufahren.

  • Aktivieren Sie Stacktraces anzeigen
  • Speichertyp =Datenbank
  • Protokolltyp =Datei
  • Protokollierungsebene =Fehler
  • Dateipfad =/var/log/icingaweb2/icingaweb2.log

Auf dem nächsten Bildschirm informiert Sie eine Meldung darüber, dass Icinga Web2 erfolgreich konfiguriert wurde, und ein detaillierter Bericht zeigt alle bisher vorgenommenen Konfigurationen an. Überprüfen Sie den Bericht und klicken Sie auf die Schaltfläche Weiter, um mit dem nächsten Installationsabschnitt fortzufahren.

Klicken Sie auf die Schaltfläche Weiter, um mit der Konfiguration des Icinga 2-Überwachungsmoduls fortzufahren, wie im folgenden Bild gezeigt.

Fügen Sie auf dem nächsten Bildschirm einen Namen für das Icinga2-Backend hinzu, wählen Sie IDO als Backend-Typ aus und klicken Sie auf die Schaltfläche Weiter, um fortzufahren.

Gehen Sie zurück zur Serverkonsole, öffnen und bearbeiten Sie die Icinga-MySQL-IDO-Konfigurationsdatei und fügen Sie Icinga-Datenbankanmeldeinformationen (die ersten Datenbankinformationen) hinzu, wie im folgenden Beispiel gezeigt.

nano /etc/icinga2/features-enabled/ido-mysql.conf

ido-mysql.conf Dateiauszug:

library "db_ido_mysql"
 
object IdoMysqlConnection "ido-mysql" {
  user = "icinga_user",
  password = "icinga_pass",
  host = "localhost",
  database = "icingadb"
}

Speichern Sie die Datei und starten Sie den Icinga2-Daemon neu, um die Einstellungen zu übernehmen, indem Sie den folgenden Befehl ausführen. Gehen Sie danach zurück zur Icinga-Weboberfläche und setzen Sie den Installationsvorgang fort.

systemctl restart icinga2.service

Fügen Sie Icinga-Datenbankinformationen hinzu, um die IDO-Ressourcenumgebung einzurichten. Verwenden Sie die Datenbankinformationen für die zuerst erstellte Datenbank, wie in der folgenden Abbildung dargestellt. Nachdem Sie mit der Bearbeitung der Datenbankinformationen fertig sind, klicken Sie auf die Schaltfläche Konfiguration validieren, um die Icinga Monitoring IDO-Ressource zu validieren, und klicken Sie auf die Schaltfläche Weiter, um zum nächsten Installationsbildschirm zu gelangen.

Konfigurieren Sie Icinga Command Transport mit den folgenden Einstellungen und klicken Sie auf die Schaltfläche Weiter, um fortzufahren.

  • Transportname =icinga2
  • Transporttyp =Lokale Befehlsdatei
  • Befehlsdatei =/var/run/icinga2/cmd/icinga2.cmd

Belassen Sie auf dem nächsten Bildschirm die für die Sicherheitsüberwachung konfigurierten Standardvariablen, wie in der Abbildung unten dargestellt, und klicken Sie auf die Schaltfläche Weiter, um fortzufahren.

Auf dem nächsten Bildschirm informiert Sie eine neue Meldung darüber, dass das Icinga2-Überwachungsmodul erfolgreich konfiguriert wurde. Überprüfen Sie anhand des angezeigten Berichts, ob alles richtig konfiguriert ist, und klicken Sie auf die Schaltfläche Fertig stellen, um die Installation abzuschließen.

Nachdem der Installationsvorgang erfolgreich abgeschlossen wurde, informiert Sie eine Glückwunschnachricht darüber, dass Icinga Web 2 erfolgreich installiert wurde. Klicken Sie auf den Login-Link, um zur Icinga2-Anmeldeseite weitergeleitet zu werden.

Melden Sie sich mit den während des Installationsvorgangs konfigurierten Anmeldeinformationen bei Icinga Web 2 an und Sie werden zum Icinga Web 2-Dashboard weitergeleitet, wo Sie eine Liste der aktuell überwachten Dienste und Systemressourcen sehen, die zu Ihrem Server gehören.

Melden Sie sich schließlich erneut bei der Befehlszeile des Servers an und führen Sie die folgenden Befehle aus, um sicherzustellen, dass Icinga Web 2-Protokolle erstellt werden.

mkdir -p /var/log/icingaweb2/
chgrp -R icingaweb2 /var/log/icingaweb2/
chmod -R 775 /var/log/icingaweb2/

Um Besucher zu zwingen, die Icinga Web 2-Oberfläche über das HTTPS-Protokoll zu durchsuchen, erstellen Sie eine neue .htaccess Datei im Root-Pfad Ihres Webserver-Dokuments mit folgendem Inhalt.

nano /var/www/html/.htaccess

.htaccess Dateiauszug:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{SERVER_NAME}/$1 [R,L]
</IfModule>
 
RewriteEngine on
Options -Indexes

Das ist alles! Sie haben die Icinga 2-Netzwerküberwachungsanwendung unter Debian 9.2 erfolgreich installiert und konfiguriert. Da der Apache HTTP-Server jedoch selbstsignierte Zertifikate verwendet, um den Datenverkehr zwischen dem Server und dem Browser des Clients zu verschlüsseln, wird bei jedem Zugriff auf Ihre Domain immer eine Warnmeldung generiert und in Ihrem Browser angezeigt. In diesem Fall sollten Sie ein von einer vertrauenswürdigen Zertifizierungsstelle ausgestelltes Zertifikat kaufen oder ein kostenloses Zertifikatspaar von Let’s Encrypt CA erhalten.

Für andere benutzerdefinierte Konfigurationen in Bezug auf Icinga 2 besuchen Sie die Dokumentationsseite unter der folgenden Adresse:https://www.icinga.com/docs


Debian
  1. So installieren Sie das Cacti SNMP Monitoring Tool unter Debian 9

  2. So installieren Sie das Nagios 4.3.x-Überwachungstool unter Debian 9

  3. So installieren Sie die Icinga 2-Überwachungssoftware unter Debian 10

  4. So installieren Sie PHP 7.4 / 7.3 / 7.2 / 7.1 unter Debian 10 / Debian 9

  5. So installieren Sie Icinga 2 auf Debian 9

So installieren Sie Cacti unter Debian 10 / Debian 9 – Ein Überwachungstool

So installieren Sie Icinga 2 auf Debian 8

So installieren Sie Cacti Monitoring unter Debian 9

So installieren Sie Cacti Monitoring unter Debian 10

So installieren Sie Icinga 2 unter Debian 10

So installieren Sie das Zabbix-Überwachungstool unter Debian 11/10