OMD Sites mit check_omd überwachen

Mithilfe von OMD ist es möglich binnen weniger Minuten ein funktionierendes Monitoring zu implementieren und die eigene Infrastruktur zu überwachen.

Doch was überwacht die OMD-eigenen Prozesse? Eine sogenannte OMD-Site besteht aus zahlreichen vorkonfigurierten Diensten, unter anderem:

  • Icinga bzw. Nagios
  • Apache-Webserver
  • Cron-Dienst
  • rrdcached (für RRD-Graphen)
  • npcd (Performancedaten)

Für die Funktionsüberwachung einer Site bietet OMD ein spezielles Kommando:

# omd status hansel
Doing 'status' on site hansel:
rrdcached:      running
npcd:           running
nagios:         stopped
apache:         running
crontab:        running
-----------------------
Overall state:  partially running

In diesem Beispiel ist von den benötigten Diensten der Nagios-Dienst ausgefallen – folglich ist die OMD-Site nur teilweise aktiv.

Natürlich könnte man jetzt auch die ganzen Dienste einzeln überwachen, beispielsweise über NRPE. Wer jedoch häufiger OMD-Sites erstellt oder einfach nur tippfaul ist, freut sich über eine andere Lösung.

Ich habe kurzerhand mal ein Python-Plugin zur Überwachung von OMD-Sites erstellt: check_omd:

check_omd

Das Skript überwacht die einzelnen Dienste einer OMD-Site und informiert fehlerhafte Dienste. Da nicht alle Dienste einer OMD-Site kritisch für den Betrieb der selbigen sind,  gibt es darüber hinaus noch die Möglichkeit, einzelne Dienste zu ignorieren. Da das Skript intern das omd status-Kommando verwendet, ist kein Anpassen der Konfiguration nach OMD-Upgrades oder Neukonfigurationen notwendig.

Das Skript muss im Benutzerkontext der OMD-Site ausgeführt werden – dafür ist eine sudo-Regel erforderlich. Dem GitHub-Repository liegen ein RPM-Specfile und eine sudo-Vorlage bei.

Die folgenden Beispiele zeigen das Plugin anhand zweier OMD-Sites: eine funktionsfähige und eine fehlerhafte Site:

$ /opt/check_omd.py
OK: OMD site 'stankowic' services are running.

$ /opt/check_omd.py
CRITICAL: OMD site 'hansel' has failed service(s): 'nagios

Auf GitHub und der Icinga Exchange-Webseite finden sich detaillierte Informationen zur Installation und Konfiguration.

2 Kommentare Schreibe einen Kommentar

    • Hey!
      OMD ist ja prinzipiell „nur“ eine Art Container für Monitoring-Systeme mit Nagios, Icinga, Shinken,..
      Von daher ist das prinzipiell vom verwendeten Monitoring-Core abhängig. Das Überwachen von Temperaturen gehört zu den Grundlagen jedes Monitoring-Systems – von daher, ja! 🙂

      Gruß,
      Christian!

Schreibe einen Kommentar