alphaspirit - stock.adobe.com
Praxistipps für die Netzwerküberwachung mit Icinga 2
Sobald Icinga installiert ist, lassen sich Server anbinden, Dienste und Zertifikate überwachen sowie Module einbinden. Wir zeigen in diesem Beitrag einige Praxistipps dazu.
In den ersten Teilen dieser Artikelreihe haben wir unter anderem gezeigt, wie sich Server an Icinga 2 anbinden lassen, um diese zu verwalten. Icinga 2 ermöglicht aber auch das Überwachen einzelner Dienste auf den Servern. Dadurch lässt sich flexibel steuern, was die Software auf den einzelnen Servern überwachen soll.
Dienste mit Icinga 2 regelbasiert überwachen
Um einen Host und die auf dem Server installierten Dienste zu überwachen, verwendet Icinga 2 einen Mechanismus, der in regelmäßigen Abständen einen Ping-Befehl gegen die IP-Adresse des Servers ausübt. Außerdem überprüft Icinga auf Anforderung regelmäßig den Zustand von Protokollen, wie zum Beispiel HTTP, SSH, SMTP, IMAP, POP oder viele andere.
Die Einstellungen und überwachten Server werden in der Datei hosts.conf, im Verzeichnis /etc/icinga2/conf.d/ gepflegt. Icinga 2 ermöglicht eine regelbasierte Zuordnung an Host-Objekte auf Basis von bestimmten Eigenschaften. Ein Beispiel sieht folgendermaßen aus:
apply Service "web1" {
import "generic-service"
check_command = "ping"
assign where host.address || host.address6
}
Mit dieser Anpassung wird der Dienst web1 mit allen Hosts verbunden, die das Attribut address oder address6 haben.
Überwachung von Hosts mit Icinga 2 Agent Monitoring
Icinga2 kann den Zustand eines überwachten Knotens, wie die CPU-Last, den Festplattenspeicher, Arbeitsspeicher und die Anzahl der laufenden Prozesse, über einen gesicherten Kanal überwachen. Dieser Kanal wird zwischen einem Masterknoten und dem Client-Knoten auf TCP-Port 5665 eingerichtet.
Bei dieser speziellen Art von Konfiguration, auch Top Down Command Endpoint Model genannt, werden die Prüfbefehle auf dem Masterknoten geplant und über eine TLS-Verbindung an den Client gesendet. In der entsprechenden Zonendatei, in der die überwachten Server aufgenommen werden, sieht das zum Beispiel folgendermaßen aus:
object Zone "centos" {
endpoints = [ "centos" ]
parent = "icinga"
}
object Endpoint "centos" {
host = "192.168.1.100"
}
object Host "centos" {
import "generic-host"
address = "192.168.1.100"
vars.os = "Linux"
vars.notification["mail"] = {
groups = [ "icingaadmins" ]
}
vars.client_endpoint = name
}
mkdir /etc/icinga2/zones.d/centos/
touch /etc/icinga2/zones.d/centos/centos.conf
touch /etc/icinga2/zones.d/centos/services.conf
Die Zonendatei kann zum Beispiel mit folgenden Befehlen im richtigen Verzeichnis erstellt werden:
mkdir /etc/icinga2/zones.d/centos/
touch /etc/icinga2/zones.d/centos/centos.conf
touch /etc/icinga2/zones.d/centos/services.conf
Durch die Zeile parent = "icinga" werden die entsprechenden Daten an den Master Node geschickt.
Zertifikate mit Icinga überwachen
Zertifikate werden in Netzwerken immer wichtiger. Aus diesem Grund macht es Sinn, auch die Zertifikate auf Hosts mit Icinga zu überwachen. Dazu kann das relative neue Modul für das automatische Überwachen von Zertifikaten genutzt werden.
Mit dem Modul lassen sich alle SSL-Zertifikate finden, verifizieren und im Web-Interface anzeigen. Administratoren können auf diesem Weg auch erkennen, welche Zertifizierungsstellen die Zertifikate ausgestellt haben. Auch die Daten des Zertifikats und das Ablaufdatum können auf diesem Weg mit Icinga 2 überwacht werden. Icinga2 kann auch hier automatische Benachrichtigungen versenden, wenn ein Zertifikat auf einem überwachten Server ausfällt. Der Download von Icinga Certificate Monitoring steht auf Github zur Verfügung. Auf der Webseite wird auch gezeigt, wie das Modul installiert, konfiguriert und genutzt wird.
Mit Modulen für Icinga Web 2 arbeiten
Die Entwickler von Icinga2 stellen auf Github verschiedene Module zur Verfügung, mit denen die Funktion von Icinga erweitert werden kann. Zur Installation eines Moduls gehen Sie am einfachsten die Webseite des Moduls bei Github und rufen den der Link zum Klonen auf. Über diesen Link kann die Installation auf dem Icinga-Server erfolgen.
Die Module müssen in das Verzeichnis usr/share/icingaweb2/modules integriert werden. Dazu wird der Befehl git clone <URL des Moduls> <Name des Moduls> verwendet. Ein beliebtes Modul ist zum Beispiel Cube. Das Modul zeigt übersichtlich den Status von überwachten Servern an.
Wenn das Modul auf den Icinga-Server heruntergeladen wurde, muss es mit git checkout <Version> ausgecheckt werden. Hier sollte möglichst die Release-Version verwendet werden, keine Beta-Version. Die Vorgehensweise dazu wird im YouTube-Video Icinga 2: Nützliche Web 2 Module“ behandelt.
Überblick in Icinga 2 erhalten und Troubleshooting
In der Shell lässt sich auf dem Icinga-Server abfragen, wie der Status der Installation ist. Außerdem ist hier zu sehen, welche Version im Einsatz ist, welche Version das Host-Betriebssystem hat und viele weitere Informationen. Auch die verschiedenen Systempfade werden angezeigt. Der Befehl dazu lautet Icinga2 --version.
Um sich eine Liste der aktuellen sowie die gestarteten Daemons von Icinga Features anzeigen zu lassen:
Icinga2 feature list
Icinga2 daemon -C
Die wichtigsten Protokolldateien für Icinga 2 befinden sich in den Verzeichnissen /var/log/icinga2“ und „in /var/log/icinga2/crash (letztes Crash-Protokoll).
Htop, top und sysstat nutzten
Für die Analyse von Icinga2 und der überwachten Server kann es sinnvoll sein, sich die aktuellen Prozesse anzeigen zu lassen. Dazu steht in Linux der Befehl top zur Verfügung. Übersichtlicher in der Zusammenarbeit mit Icinga2 ist htop. Die Installation erfolgt unter CentOS mit den Befehlen:
yum install htop
apt-get install htop
Das Tool htop wird von den Icinga-2-Entwicklern zusammen mit sysstat empfohlen, um Server zu analysieren, auch die Icinga-2-Installation. Sysstat wird mit den folgenden Befehlen installiert:
yum install sysstat
apt-get install sysstat
Auf der Github-Seite des Projektes zeigen Entwickler auch die Möglichkeiten der Tools, die mit Sysstat mitgeliefert werden, zum Beispiel iostat.
Weitere Artikel der Serie
Icinga 2 ist schnell installiert und eingerichtet, wie wir bereits in den folgenden Beiträgen gezeigt haben:
Icinga 2: Netzwerk- und Serverüberwachung mit Open Source
Icinga 2: Tipps zu Installation und Konfiguration
Icinga 2 mit Icinga Director verwalten