Das Open Source Monitoring Tool Check MK ist in Python geschrieben und wurde 2008 veröffentlicht. Es umfasst den Monitoring-Core, ein RBAC-Webfrontend, das Regelwerk für die Konfiguration sowie Komponenten für die Visualisierung mit Graphen (RRD) und Karten (NagVis), für rudimentäres Reporting und Service-Discovery. Check MK ermittelt relevante Monitoring-Werte mit Hilfe von Agenten, die auf den zu überwachenden Systemen installiert sind. Agenten-Updates können über das Webfrontend gesteuert werden. Zur Skalierung können mehrere Instanzen von Check MK eingesetzt und in einem Frontend per Webschnittstelle konsolidiert werden. Metrik-Checks sind nicht vorgesehen.
Icinga 2 wurde 2014 veröffentlicht und in C++ geschrieben. Es ist ein kompletter Re-Write von Icinga und nicht kompatibel mit der Vorgängerversion, weil die neue Syntax einen regelbasierten Ansatz verfolgt. Das RBAC-Webfrontend ermöglicht Reporting, Business Process Monitoring, Visualisierung und unterstützt mit Hilfe einer SQL-Datenbank die Konfiguration. Als Schnittstelle steht eine API bereit, über die auch die Konfiguration vorgenommen werden kann. Icinga 2 stellt für die Lastverteilung eigene Programmteile bereit und bietet Module zur Verarbeitung und Weiterleitung von Metrik-Checks.
Newcomer für Cloud-Monitoring
Prometheus und Sensu sind Open-Source-Monitoring-Systeme, die von Beginn an für die Cloud gedacht waren und als Microservices konzipiert sind. Prometheus wurde 2012 veröffentlicht und ist in Go geschrieben. Es sammelt Monitoring-Werte mit Hilfe sogenannter Exporter, die als eigenständige Dienste arbeiten und Metriken via Webservices für Prometheus bereitstellen. So können die Monitoring-Inhalte beliebig erweitert werden. Die Metriken werden in einer Time-Series-Datenbank gespeichert und können beispielsweise durch offene Grafik- und Analyse-Tools wie Grafana weiter genutzt werden. Statuschecks sind in Prometheus nicht vorgesehen.
Sensu wurde 2011 veröffentlicht und wurde zunächst in Ruby geschrieben. Zurzeit entsteht mit Sensu 2.0 ein Re-Write in Go, das 2018 erscheinen soll. Sensu skaliert durch das Verteilen von Subprozessen auf verschiedene Systeme. Es vereint die Möglichkeiten von Status- und Metrik-Checks. So lassen sich im Gegensatz zu Prometheus bestehende, individuell erstellte oder angepasste Plugins von Nagios-basierten Monitoring-Lösungen übernehmen. Dies bietet ein hohes Maß an Flexibilität bei der Gestaltung des Monitoring-Umfangs. Durch eine Vielzahl von Integrationen können alle Daten als Basis für weitere Grafik- und Analyse-Tools genutzt werden.
Ob für das klassische Rechenzentrum als einfach zu implementierendes All-In-One-Tool, ob als modernes Monitoring-System für agile und dynamische Cloud-Architekturen oder als Monitoring-Lösung, mit der bestehende Monitoring-Plugins in die neue Zeit migriert werden können, Open-Source-Systeme bieten für verschiedenste Anwendungsszenarien eine kostengünstige und leistungsfähige Alternative zu den Großsystemen.
Steffen Rieger ist Geschäftsführer bei Becon