Gorodenkoff - stock.adobe.com

Icinga 2: Tipps zu Installation und Konfiguration

Die Open-Source-Lösung Icinga 2 kann Netzwerke effektiv überwachen. Die Installation und optimale Konfiguration unter Linux erfordert etwas Handarbeit in der Shell.

Icinga 2 wird meistens auf einem Linux-System installiert. Über Icinga Vagrant Boxes lassen sich Appliances als VM installieren, mit denen Icinga 2 relativ einfach im Netzwerk integriert werden kann. Neben der effektiven Überwachung über verschiedene Protokolle, kann Icinga 2 auch unterschiedliche Alarme auslösen. Benachrichtigungen lassen sich natürlich mit SMS und E-Mail erstellen. Aber auch Sprachalarme, Incident-Management-Systeme, Twitter und viele anderen Möglichkeiten stehen zur Verfügung, um Benachrichtigungen zu erstellen.

Gier finden Sie einen Überblick zur Netzwerk- und Serverüberwachung mit Icinga 2.

Icinga 2 installieren

Die Installation kann unter Linux durch die Verwendung der Pakete durchgeführt werden, welche durch die Entwickler zur Verfügung gestellt werden. Unter CentOS erfolgt die Installation zum Beispiel mit:

Yum install http://packages.icinga.com/epel/icinga-rpm-release-7-latest.noarch.rpm -y

Abbildung 1: Installieren von Icinga 2 unter CentOS 7.5.
Abbildung 1: Installieren von Icinga 2 unter CentOS 7.5.

Mit diesem Befehl werden die notwendigen Paketquellen integriert. Danach können Sie die Pakete installieren, die Icinga 2 benötigt. Optional können Sie weitere Pakete installieren, die Sie zur Verwaltung von Icinga 2 benötigen. Dabei handelt es sich zum Beispiel um zwei Erweiterungen für VIM, mit denen die Konfigurationsdateien von Icinga 2 besser bearbeitet werden können:

yum install icinga2 vim-enhanced vim-icinga2 -y

Icinga 2 unterstützt als ehemaliges Fork von Nagios auch dessen Plug-ins. Die Plug-ins können in Linux entweder einzeln installiert werden, oder alle Nagio-Plug-ins werden auf einmal eingerichtet. Das erfolgt mit dem Befehl:

Yum install nagios-plugins-all -y

Damit in der Shell auch Befehle automatisch ergänzt, also einfacher eingegeben werden können, ist es auch hilfreich, das Paket bash-completion zu installieren:

yum install bash-completion

Dieses Paket hilft vor allem bei der Komplettierung für Befehle für Icinga 2. Gestartet wird das Paket anschließend mit exec bash.

Nach der Installation müssen die Systemdienste von Icinga 2 aktiviert werden. Dadurch kann sichergestellt werden, dass bei Neustart des Systems auch Icinga 2 mit gestartet wird.

systemctl enable icinga2.service

Der Start des Dienstes erfolgt mit

systemctl start icinga2.service

Um zu überprüfen, ob Icinga 2 bereits gestartet ist und funktioniert, kann die entsprechende Protokolldatei mit dem folgenden Befehl aufgerufen werden:

tail -f /var/log/icinga2/icinga2.log

Bei der Datei handelt es sich um die Standard-Protokolldatei von Icinga 2.

Datenbankanbindung von Icinga 2

Die Daten von Icinga 2 werden in einer Datenbank gespeichert. Hier bietet es sich an, auf MySQL oder MariaDB zu setzen. Um die notwendigen Pakete zur Anbindung von Icinga 2 auf einen MariaDB/MySQL-Datenbank-Server auf dem Icinga-2-Server zu installieren, wird folgender Befehl genutzt:

yum install icinga2-ido-mysql -y

Wenn Datenbankserver und Icinga-2-Server auf zwei getrennten Servern laufen, ist es sinnvoll, auf dem Icing- 2-Server den MySQL/MariaDB-Client zu installieren, zum Beispiel mit yum install mariadb“.

Die eigentliche Datenbankanbindung wird in der Konfiguraitonsdatei /etc/icinga2/features-available/ido-mysql.conf vorgenommen. Hier wird auch das Kennwort für die Verbindung zum Datenbankserver angegeben. Ob die Datenbankanbindung funktioniert, lässt sich jederzeit mit tail -f /var/log/icinga2/icinga2.log überprüfen. Die Datenbankstruktur für Icinga 2 wird mit der Datei /usr/share/icinga2-ido-mysql/schema/mysql.sql angelegt.

Abbildung 2: Erfolgreiche Datenbankanbindung an MariaDB durch Icinga2.
Abbildung 2: Erfolgreiche Datenbankanbindung an MariaDB durch Icinga2.

Mit Icinga 2 arbeiten

Der Befehl icinga2 feature list zeigt eine Liste der in Icinga 2 aktivierten und der deaktivierten Funktionen. Für die Anbindung an MySQL/MariaBD muss das Feature ido-mysql mit dem Befehl icinga2 feature enable ido-mysql aktiviert werden. Nach der Aktivierung eines Features muss Icinga 2 neu gestartet werden. Das erfolgt zum Beispiel mit dem Befehl systemctl restart icinga2.service.

Abbildung 3: Überprüfen und aktivieren von Features in Icinga 2.
Abbildung 3: Überprüfen und aktivieren von Features in Icinga 2.

Für die eigentliche Arbeit mit Icinga 2 wird das Web-Frontend verwendet. Um dieses zu installieren, sollte die Linux-Distribution für die Verwendung von Icinga 2 vorbereitet sein. Das wird in unserem CentOS-Beispiel mit dem Befehl yum install centos-release-scl -y erledigt. Danach kann mit yum install icinga2web icingacli das Web-Frontend installiert werden. Zusätzlich wird mit yum install sclo-php71-php-pecl-imagick noch PHP installiert. Der Webserver Apache wird mit yum install httpd -y installiert. Generell sollte auch hier bei allen Diensten beachtet werden, dass diese mit systemctl enable aktiviert und danach mit systemctl start auch gestartet werden.

Abbildung 4: Einrichten des Web-Frontends von Icinga 2.
Abbildung 4: Einrichten des Web-Frontends von Icinga 2.

Für den Zugriff auf die Weboberfläche muss in der Linux-Firewall noch die Regel für HTTP freigeschaltet werden. Das erfolgt mit firewall-cmd --permanent --add-service=http und firewall-cmd --reload. Danach wird mit icingacli setup token create ein Token erstellt. Dieses wird bei der Einrichtung des Web-Front-Ends eingegeben. Die Adresse des Web-Front-Ends zur Einrichtung ist http://<Name oder IP>/icingaweb2/setup. Hier kann über einen Assistenten die Einrichtung von Icinga 2 erfolgen.

Hosts mit Icinga 2 überwachen

Sobald die Weboberfläche geöffnet ist, zeigt Icinga 2 den Status der überwachten Hosts an. Unter Übersicht\Hosts ist zu sehen, welche Hosts aktuell überwacht werden, und ob der Host funktioniert. Durch einen Klick auf den Host zeigt die Oberfläche eine genauere Liste der überwachten Dienste, um welchen Server es sich handelt, und ob der Server funktioniert.

Abbildung 5: Anzeigen von Hosts in Icinga 2.
Abbildung 5: Anzeigen von Hosts in Icinga 2.

Unter Servicegruppen sind die überwachten Dienste der Server zu sehen, und ob es bei den Services auf den überwachten Servern zu Problemen kommt.

Beim Anklicken eines Dienstes erscheinen auch hier ausführlichere Informationen. An den verschiedenen Informationsstellen sind Links verfügbar, mit denen wiederum zu den einzelnen Servern und den überwachten Diensten gesprungen werden kann.

So ist schnell zu erkennen, welcher Dienst auf einem Server Probleme macht und warum.

Abbildung 6: Hosts mit Icinga 2 überwachen.
Abbildung 6: Hosts mit Icinga 2 überwachen.

Um neue Hosts hinzuzufügen, wird die Datei /etc/icinga2/conf.d/hosts.conf bearbeitet.

Hier können neue Hosts nach der folgenden Syntax hinzugefügt werden:

object Host "Router" {

  address = "192.168.1.1"

  check_command = "hostalive"

}

Oder:

object Service "http" {

  host_name = "Router"

  check_command = "http"

}

Nach kurzer Zeit erscheint der Host mit seinen überwachten Diensten in der Oberfläche.

Nächste Schritte

Nagios XI: Server-Monitoring mit der Open-Source-Lösung

Mit Nagios die IT-Umgebung überwachen

Nagios als virtuelle Appliance konfigurieren

Erfahren Sie mehr über Netzwerk-Monitoring und -Analyse