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:
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.
Hallo,
kann ich mit OMD auch die Servertemperatur überwachen?
Grüße vom it-frosch
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!