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.

Abbildung 1: Icinga 2 kann auch in der Shell mit Icinga2 verwaltet werden.
Abbildung 1: Icinga 2 kann auch in der Shell mit Icinga2 verwaltet werden.

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.

Abbildung 2: Kopieren eines Links zum Installieren eines Icinga Web 2-Moduls.
Abbildung 2: Kopieren eines Links zum Installieren eines Icinga Web 2-Moduls.

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.

Abbildung 3: Anzeigen von wichtigen Informationen zu Icinga.
Abbildung 3: Anzeigen von wichtigen Informationen zu Icinga.

Um sich eine Liste der aktuellen sowie die gestarteten Daemons von Icinga Features anzeigen zu lassen:

Icinga2 feature list

Icinga2 daemon -C

Abbildung 4: Anzeigen von Features und Daemons in Icinga
Abbildung 4: Anzeigen von Features und Daemons in Icinga.

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

Abbildung 5: Serverüberwachung mit htop.
Abbildung 5: Serverüberwachung mit 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

Nächste Schritte

Gratis-eBook: Besser arbeiten mit Wireshark

Gratis-eBook: Security Scanner Nmap optimal einsetzen

Gratis-eBook: Kostenlose Tools für das Netzwerk

Erfahren Sie mehr über Data-Center-Betrieb