Sie sind hier: HomeDatacenter

Rechenzentrum und Cloud: Das leisten Open-Source-Monitoring-Tools

Klassische Monitoring-Tools sind oft behäbig und teuer. Open-Source-Monitoring- Lösungen können leistungsfähige und günstige Alternativen sein. Eine Charakteristik der neun häufigsten Systeme verschafft einen Überblick und zeigt IT-Administratoren interessante Monitoring-Newcomer für die Cloud.

Monitoring Bildquelle: © Kurhan - 123RF

Die Cloud verändert schon heute die etablierten IT-Landschaften in den Rechenzentren der Unternehmen und stellt IT-Verantwortliche auch beim Thema Monitoring vor neue Aufgaben. Noch wird der Monitoring-Markt von großen, behäbigen Monitoring-Systemen dominiert, die einer proprietären Philosophie folgen. Open-Source-Monitoring-Lösungen können eine leistungsfähige und günstige Alternative sein. Und es gibt sie für unterschiedlichste Rechenzentrums- und Cloud-Infrastrukturen. Welches System dabei am besten in welches Unternehmen passt, hängt von verschiedenen Faktoren ab, die von der bestehenden IT-Architektur und genutzten IT-Services bis hin zum Monitoring-Know-how im Unternehmen reichen. Die Charakterisierung der häufigsten Open Source Monitoring Tools verschafft Einsteigern einen guten Überblick und inspiriert erfahrene IT-Administratoren zu einem Blick auf interessante Newcomer im Markt: Die Palette reicht hier von „Nagios“, „Naemon“ und „Icinga“ über „OpenNMS“, „Zabbix“, „Check MK“ und „Icinga 2“ bis hin zu „Prometheus“ und „Sensu“.

Monitoring-Anforderungen in der Cloud

Noch viel mehr als in klassischen Rechenzentrumsumgebungen müssen Monitoring-Tools für die Cloud äußerst flexibel und skalierbar sein, um in hochgradig verteilten IT-Architekturen zu laufen. Sie sollten agile Workloads überwachen können, die entstehen, wenn beispielsweise zusätzliche Serverkapazitäten dynamisch und automatisiert für eine gut laufende Webkampagne bereitgestellt werden. Offene standardisierte Schnittstellen wie „Restful API“ sind für Cloud-fähige Monitoring-Systeme ebenfalls wichtig, damit sich Microservices in einer webbasierten Architektur einfach miteinander austauschen können. Für die Monitoring-Tools der Cloud-Generation reicht es deshalb auch, wenn sie – ganz schlank – als spezialisierte Microservices in der Cloud mit anderen Microservices interagieren. So braucht heutzutage beispielsweise nicht jedes Monitoring-System eine eigene Visualisierungs-, Workflow- oder Analyse-Engine. Dafür lassen sich andere spezialisierte Microservices nutzen und gemeinsam zu einer leistungsfähigen Monitoring-Lösung für die Cloud orchestrieren.

Monitoring-Klassiker und ihre Nachfolger

Nagios ist der Open-Source-Monitoring- Klassiker und profitiert noch heute von einer starken Community, aus der eine Vielzahl von Plugins hervorgegangen ist. Das Tool ist in C geschrieben und wurde bereits 1999 veröffentlicht. Nagios skaliert durch den Einsatz abgesetzter eigenständiger Instanzen, wodurch das Tool schwer skalierbar wird, da für eine Übersicht aller Elemente in einem Webfrontend diese zunächst aufwändig zusammengeführt werden müssen. Auf Basis von Nagios entstanden verwandte Nachfolgesysteme (Forks) wie Naemon und Icinga. Im Unterschied zu Nagios bietet Naemon beispielsweise einen Query Handler, der von externen Anwendungen genutzt werden kann und wie eine Schnittstelle funktioniert. Auch Icinga hebt sich nicht deutlich von Nagios ab, es wurden jedoch Bugfixes durchgeführt, die in Nagios nicht umgesetzt wurden. Alle drei Monitoring-Werkzeuge überwachen ihre Systeme mit Status-Checks: Sie prüfen Systemwerte in Hinblick auf vorher definierte Schwellenwerte und melden zurück, ob das Ergebnis in Ordnung oder kritisch ist. Sogenannte Metrik-Checks, bei denen eine Vielzahl von Werten abgefragt und für spätere Analysen gespeichert werden, sind mit diesen Tools nicht möglich. Über eine Restful API-Schnittstelle verfügen Nagios, Naemon und Icinga nicht.

OpenNMS (2000) und Zabbix (2001) sind eventbasierte Monitoring-Systeme. Beide sammeln relevante Monitoring-Werte per Status-Checks über das Internetprotokoll SNMP (Simple Network Management Protocol) und bieten mit ihren datenbankbasierten Webfrontends rollenbasierte Zugriffskontrolle via RBAC (Role-based Access Control). OpenNMS ist in Java geschrieben, skaliert mittels verteilter Instanzen und bietet personalisierte Dashboards. Zabbix hingegen enthält Programmteile in C, Java und PHP und ermöglicht das Monitoring relevanter Systeme neben SNMP auch durch eigene Agenten. Das Zabbix-Webfrontend umfasst Administration, Konfiguration, Visualisierung und Dashboards, was das System etwas behäbig macht. Skalieren lässt sich Zabbix durch das Verteilen von Subprozessen auf unterschiedliche Systeme. Restful API und Metrik-Checks sind weder in OpenNMS noch in Zabbix vorgesehen.