Vasyl - stock.adobe.com

Icinga 2: Netzwerk- und Serverüberwachung mit Open Source

Icinga 2 ist für Netzwerke aller Art eine gute Lösung, wenn es darum geht, Server und deren Leistung effektiv zu überwachen und bei Problemen Administratoren zu benachrichtigen.

Nagios ist sicher der Platzhirsch, wenn es darum geht, auch große Netzwerke effektiv zu überwachen. Die Open Source-Lösung ist extrem mächtig und kann Netzwerke aller Art sehr flexibel und effektiv überwachen. Icinga ist als Fork aus Nagios entstanden und ist daher eine durchaus brauchbare Alternative. Die zahlreichen Nagios-Plug-ins lassen sich auch in Icinga nutzen. Icinga kann komplett ohne Lizenzkosten betrieben werden, allerdings müssen sich Administratoren mit der Umgebung ausführlich auseinandersetzen, um sie optimal betreiben zu können.

Sie können Icinga 2 hier bei GitHub herunterladen. Offiziell unterstützt Icinga die Installation auf den Linux-Systemen Debian, RHEL, SLES, Ubuntu, Fedora und OpenSUSE. Es wird aber auch Windows unterstützt. Der Icinga-Server wird allerdings auf Basis von Linux vorgenommen. Es gibt aber auch die Möglichkeit, die Installation von Icinga auf Windows-Servern zu virtualisieren. In diesem Fall wird auf Icinga Vagrant Boxes (https://github.com/Icinga/icinga-vagrant) gesetzt.

Die Anbindung an Icinga erfolgt über einen Agenten, der auf den zu überwachenden Servern installiert wird. Für Geräte, die nicht mit einem Agenten überwacht werden können, lassen sich auch SNMP und ICMP einbinden.

Icinga überwacht die Server im Netzwerk, aber auch die eingesetzten Protokolle und deren Verfügbarkeit. Dazu gehören zum Beispiel SMTP, POP3, aber auch HTTP. Natürlich können auch einfache Ping-Überwachungen durchgeführt werden. Auf Servern, die mit einem Agenten angebunden sind, können auch die Ressourcen wie CPU- und Speichernutzung gemessen werden. Der Vorteil von Icinga besteht auch darin, dass die Lösung generell flexibel einsetzbar ist, durch das Plug-In-System aber auch effektiv erweitert werden kann. Generell ist es auch möglich, eigene Dienste zu überwachen.

Verteilte Rechenzentren überwachen

Icinga ist außerdem in der Lage, verteilte Rechenzentren zu überwachen. Dazu lassen sich in der Software auch Hierarchien bilden. Wird in einer solcher Hierarchie zum Beispiel der Verbindungsknoten zum entfernten Netzwerk als ausgefallen deklariert, dann weiß die Software, dass auch die anderen Server in diesem Netzwerk nicht erreichbar sind. Das vermeidet Fehlalarme.

Icinga 2 kann zudem Multi-Threading zu nutzen. Dadurch kann die Software tausende Knoten gleichzeitig überwachen, und Ausfälle auch dann noch in Sekunden erkennen. Dazu kommt die Möglichkeit, einen Cluster mit Icinga zu bilden, damit auch die Überwachung im Netzwerk hochverfügbar betrieben werden kann.

Komplexität von Icinga 2 darf nicht unterschätzt werden

Natürlich sind komplexe Lösungen wie Nagios auch kompliziert in der Einrichtung und dem Betrieb. Die Software ist nicht in wenigen Minuten perfekt im Netzwerk eingebunden und schon gar nicht optimiert. Das gilt auch für Icinga. Da diese Lösung viele Möglichkeiten und Funktionen bietet, auch wenn es um die Benachrichtigung von Administratoren geht, ist die Einrichtung mit der Konfiguration von vielen Einstelllungen, Optionen und Schaltern notwendig.

Funktionsweise von Icinga verstehen

Die eigentlichen Überwachungsaktionen werden durch die Agenten auf den Servern durchgeführt. Der Icinga-Server ist dafür verantwortlich, den Datenstrom des Agenten auszuwerten und für die Überwachung aufzubereiten.

Die überwachten Geräte stellen Host-Objekte mit einer hinterlegten IP-Adresse im Icinga-System dar. Die überwachten Dienste Services werden den einzelnen Host-Objekten zugeordnet. Dabei stehen verschiedene Statusoptionen zur Verfügung. Ein Host kann die Zustände Up, Down oder Unreachable erhalten. Die überwachten Services erhalten wiederum den Status OK, Warning, Critical oder Unknown.

Server mit installiertem Betriebssystem werden idealerweise mit dem Icinga-2-Agenten überwacht. Hier kann aber auch mit NSCLient++ zur Überwachung gearbeitet werden. Der Client wird häufig auch in Nagios-Systemen genutzt. Auch dieser Client steht für Windows und Linux zur Verfügung.

Da Icinga 2 als ursprünglicher Fork sehr eng mit Nagios verknüpft ist, können auch Daten interpretiert werden, die ursprünglich für Nagios generiert wurden. Nutzen Unternehmen zum Beispiel Plug-in für Nagios, lassen sich die hier generierten Daten auch in Icinga 2 einbinden. Dazu unterstützt Icinga 2 Nagios Remote Plug-in Executor (NRPE).

Abbildung 1: Icinga wird nach der Installation über eine Weboberfläche bedient. Die Installation erfolgt im Terminal
Abbildung 1: Icinga wird nach der Installation über eine Weboberfläche bedient. Die Installation erfolgt im Terminal

Installation von Icinga 2 vorbereiten

Für die Installation von Icinga 2 wird normalerweise ein Linux-System genutzt. Wer Icinga 2 wie beschrieben mit Icinga Vagrant Boxes virtuell betreiben will, kann die Installation von Icinga 2 auf Basis von Virtualbox, Parallels Desktop, libvirt oder OpenStack vornehmen. Die Verwaltung von Icinga 2 erfolgt normalerweise über eine Weboberfläche. Diese trägt die Bezeichnung Icinga 2 Web.

Nach der Installation werden die Hosts und Services zur Überwachung eingebunden. Diese Maßnahmen werden normalerweise durch die Bearbeitung von *.conf-Dateien vorgenommen.

Fazit

Icinga 2 ist eine mächtige Überwachungslösung, die Nagios durchaus das Wasser reichen kann. Allerdings ist die Software keine schnell einsetzbare Monitoring-Plattform, sondern erfordert Planung und einiges an Zeit, bis der Server installiert und die Clients eingebunden sind. Die Installation unterscheidet sich zwischen den verschiedenen Systemen stark und es sind viele Maßnahme in Konfigurationsdateien notwendig. Der Vorteil der Software ist deren Skalierbarkeit, die Automatisierungs-Möglichkeiten, zum Beispiel mit Puppet sowie die flexiblen Darstellungen und Anpassungen der überwachten Objekte im laufenden Betrieb.

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 Data-Center-Betrieb