Vom 28.September bis zum 1.Oktober fand die OpenNMS Users Conference Europe in Fulda statt – also quasi direkt vor unserer Haustür. Hier trafen sich Entwickler und Nutzer, um sich über den aktuellen Stand und die zukünftige Entwicklung des beliebten Monitoring-Tools in Form von Vorträgen und lockeren Gesprächen auszutauschen. Hier stellen wir ihnen die bedeutendsten Änderungen der kommenden Version und einen Ausschnitt der zukünftig zu erwartenden Erweiterungen vor.
Neue Datenbank: „Newts“
Mit der OpenNMS – Version 17.0.0 kommt Newts. Die auf dem Apache Cassandra Projekt basierende Datenbank ist auf Schreibzugriffe spezialisiert und wird als Alternative für die Speicherung der Performance-Daten in RRD-Dateien bereitgestellt. „Newts“ ermöglicht dadurch eine einfachere Verwaltung der Performance-Daten. Durch Zwischenspeicher der gesammelten Daten ist es Newts möglich, die Schreibzugriffe auf die Speichermedien zu optimieren, was bei der herkömmlichen Verwendung von RRD-Dateien zu Performance-Problemen führen kann. Newts bietet zudem die Möglichkeit einer verteilten Installation, sodass bei größeren Installationen die Last auf mehrere Server verteilt werden kann.
Die alternative Nutzung von Newts und RRD-Dateien zur Speicherung der Performance-Daten wird durch die Measurements-API ermöglicht, die bereits seit der OpenNMS-Version 16.0.0 zur Verfügung steht und auch als Schnittstelle für Grafana dient – eine Anwendung zur Anzeige von „Time Series“-Daten, die zukünftig das RRD-Graphing in OpenNMS ersetzen soll.
„Grafana“ ist ab der OpenNMS–Version 16.0.0 nutzbar und ermöglicht das einfache Erstellen von Graphen aus der graphischen Oberfläche heraus, wobei es auch möglich ist Performance-Werte mehrerer überwachter Geräte in einem Graph anzuzeigen. Auch die Zusammenfassung mehrerer Graphen zu Dashboards ist aus der Oberfläche heraus möglich. Hierbei sind die erstellten Graphen nicht statisch, stattdessen ist es möglich einzelne Datenquellen oder Gruppen aus- bzw. einzublenden. Zudem ist Grafana mandantenfähig.
Mit OpenNMS 18.0.0 kommt OpenNMS–Minions
Bei „OpenNMS-Minions“ handelt es sich um kleine, flexible Java-Applikationen, die Remote Data Collection ermöglichen. Eine Remote Data Collection ist aus mehreren Gesichtspunkten interessant, da hierdurch nicht nur das Sammeln von Performance-Daten in ansonsten unzugänglichen Netzwerkbereichen ermöglicht wird, sondern auch nur die Ports für die Kommunikation der Minions mit dem OpenNMS-Server freigeschaltet werden müssen. Normalerweise wäre eine Freischaltung aller Netzwerkprotokolle notwendig, die für das Sammeln der gewünschten Performance-Daten vom OpenNMS–Server aus notwendig sind.
Im Gegensatz zu dem aktuellen Remote Poller werden die Minions zentral über die OpenNMS-Weboberfläche verwaltet. Das Konzept der Minions sieht einen dynamischen Aufbau vor, sodass die einzelnen Minion–Instanzen in ihrem Funktionsumfang ihrem Aufgabenbereich angepasst sind. So haben die Minions einen geringen Ressourcenbedarf und können in schlanken VMs oder auf kostengünstiger Hardware betrieben werden. Der Einsatz von Minions reduziert zudem die Last auf dem OpenNMS-Server. Ein weiterer Vorteil, den die Minions mitbringen, ist das Zwischenspeichern der gesammelten Performance-Daten, das eine unterbrechungsfreie Datensammlung erlaubt – selbst dann, wenn die Verbindung zum OpenNMS–Server z.B. durch Netzwerkstörungen oder einen Neustart von OpenNMS unterbrochen ist.
Während der OpenNMS Users Conference Europe waren bereits die Data Collection über SNMP und JMX umgesetzt und die Auswertung von SNMP Traps, Syslog Nachrichten, so wie ein Remote Network Discovery in Arbeit. Für die Zukunft ist die Integration sämtlicher aktueller Data Collection–Mechanismen sowie das Ablösen des Remote Pollers durch Übernahme der entsprechenden Funktionalitäten geplant. Außerdem ist eine Integration der Link Discovery Funktionalität von OpenNMS in die Minions geplant. Das Konzept der Minions wird zudem noch interessanter, wenn man berücksichtigt, dass zukünftig die Überwachung von überlappenden IP-Adressbereichen realisiert werden soll, da so – bei geschicktem Einsatz – Netzwerke aus unterschiedlichen Perspektiven (Minion-Instanzen) überwacht werden können.
Autor: Andreas Fuchs