Mobile-Menu

Mit Open Source per SNMP oder NSClient Daten sammeln und auswerten Netzwerküberwachung mit OpenNMS

Von Thomas Joos

OpenNMS gehört seit Jahren zu den bekannten Open Source-Lösungen für die Überwachung von Netzwerken. Das System ist schnell installiert und lässt sich zum Beispiel mit Grafana erweitern, um übersichtliche Dashboards zu erstellen. Der Beitrag zeigt die Möglichkeiten des Tools.

Anbieter zum Thema

Thomas Joos zeigt, wie sich das beliebte Netzwerk-Überwachungs-Tool OpenNMS schnell und zielsicher einsetzen lässt.
Thomas Joos zeigt, wie sich das beliebte Netzwerk-Überwachungs-Tool OpenNMS schnell und zielsicher einsetzen lässt.
(Bild: The OpenNMS Group)

Um Netzwerke zu überwachen und Informationen und Fehler der einzelnen Server und Netzwerkgeräte auszulesen, helfen Überwachungssysteme wie OpenNMS. Das Open Source System kann auf Linux installiert werden, ist aber auch dazu in der Lage, Windows-Server und andere Betriebssysteme zu überwachen. Auch eine Installation auf Windows ist möglich. Um aber auf zusätzliche Lösungen wie Grafana, Cassandra oder andere Open Source-Tools setzen zu können, ist der Betrieb auf OpenNMS meistens besser geeignet.

Das System ist für kleine Netzwerke genauso geeignet, wie für sehr große Umgebungen. Daher kann OpenNMS auch in Clustern betrieben werden. Für die Anzeige der Dashboards kann mit OpenNMS auch auf Grafana gesetzt werden. Mehr dazu ist auch in unserem Beitrag "43 kostenlose Werkzeuge für die Netzwerk-Überwachung" zu finden.

Wir haben uns bereits im Beitrag "Netzwerke mit Open-Source-Software professionell überwachen" damit auseinandergesetzt, wie das System installiert wird und welche Möglichkeiten OpenNMS bietet.

OpenNMS: weitreichende Überwachungsstruktur für Windows und Linux

Im Fokus von OpenNMS steht natürlich die Überwachung von Servern auf Basis von Windows und Linux. Die Daten lassen sich per SNMP auslesen, OpenNMS unterstützt aber auch den NSClient. Der Client wurde ursprünglich für das Überwachungssystem Nagios entwickelt, unterstützt mittlerweile aber auch andere Überwachungssysteme, welche die Daten des Clients umfassend auswerten können. Dazu muss der Client auf den zu überwachenden Servern installiert werden. Wir haben das Thema im oben verlinkten Beitrag bereits behandelt und auch im Beitrag "In wenigen Schritten zum Nagios-Server für die Netzwerküberwachung" sind weitere Informationen zu dem Thema zu finden.

Neben SNMP und dem NSClient kann das System auch mit ICMP/PING, SMTP, SSH, WMI, HTTP(S), WSMan und anderen Technologien arbeiten. Die Server der meisten Serverhersteller lassen sich problemlos anbinden und dort spezifische Informationen auslesen. Auch Virtualisierungsumgebungen mit VMware stellen kein Problem dar, genauso wie Datenbankserver auf Basis von Microsoft SQL Server oder Oracle. Um direkt aus der Überwachungslösung heraus Tickets zu erstellen, lässt sich OpenNMS an die Systeme Jira, Remedy oder TSRM anbinden.

OpenNMS gehört seit Jahren zu den bekannten und zuverlässigen

Überwachungslösungen auf Basis von Open Source. In diesem Beitrag schauen wir uns die Möglichkeiten von OpenNMS genauer an und gehen auch auf wichtige Neuerungen ein, mit dem das System noch besser wird. OpenNMS steht unter der AGPLv3-Lizenz als Open Source zur Verfügung. Es gibt zwei verschiedene Versionen von OpenNMS. Diese tragen die Bezeichnung "Horizon" und "Meridian".

Die Horizon-Version steht kostenlos auf GitHub zur Verfügung. Bei der Version sind alle Funktionen von OpenNMS enthalten, allerdings sind die Neuerungen noch nicht immer vollständig fertig entwickelt und befinden sich in der Beta-Phase.

Bei Meridian handelt es sich um die stabile Version von OpenNMS, die für Produktionsumgebungen ideal sind, bei denen Beta-Funktionen keinen Einsatz finden sollen. Einmal im Jahr veröffentlichen die Entwickler eine neue Hauptversion von Meridian.

OpenNMS mit PostgreSQL, Elasticsearch und Cassandra

Für die Speicherung seiner Daten benötigt OpenNMS eine Datenbank. Hier kommt PostgreSQL zum Einsatz. Die Datenbank kann auf dem gleichen Server wie OpenNMS installiert werden, die Entwickler empfehlen aber für größere, produktive Netzwerke einen eigenen Datenbankserver. Wollen Admins mehr Daten aus der Lösung auslesen, sind weitere Datenbanken notwendig. Der Telemetrie- und Flusserfassungsdienst von OpenNMS erfordert einen Elasticsearch-Cluster. Standardmäßig werden Leistungsmetriken in RRD-Dateien gespeichert. Es besteht aber auch die Möglichkeit, die Daten in Cassandra- oder ScyllaDB-Cluster zu speichern.

OpenNMS installieren

Um die aktuelle Version von OpenNMS auf Ubuntu zu installieren, kann auf Debian-/Ubuntu-basierten Systemen die integrierte Paketverwaltung verwendet werden. Dazu sollte im Terminal mit "sudo -i" zunächst die Anmeldung mit dem Root-Benutzer erfolgen. Im Anschluss werden die Textdatei "opennms.list" erstellt und die Repositories für die Pakete integriert:

nano /etc/apt/sources.list.d/opennms.list

In die Datei müssen die folgenden Zeilen eingetragen werden:

deb https://debian.opennms.org stable maindeb-src https://debian.opennms.org stable mainAnschließend werden noch die GPT-Schlüssel hinzugefügt:wget -O – https://debian.opennms.org/OPENNMS-GPG-KEY | apt-key add -

Mit "apt update" werden die neuen Quellen eingelesen. Dies sollte fehlerfrei durchlaufen. Im Anschluss erfolgt die Installation von OpenNMS mit:

apt -y install opennms

Im Rahmen der Installation startet auch die Einrichtung von OpenNMS. Diese erfordert die Eingaben von ein paar Daten, wie zum Beispiel dem Namen des Hosts. Auch die Einrichtung des SMTP-Servers zum Versenden der Warnungen kann im Rahmen der Installation erfolgen. Das ist aber nicht notwendig, diese Einrichtung lässt sich auch noch nachträglich durchführen. In diesem Fall muss nur "No Configuration" ausgewählt werden.

Nach der Installation kann die integrierte PostgreSQL-Datenbank gestartet und ein Benutzer angelegt werden:

systemctl start postgresqlsu - postgrescreateuser -P opennmscreatedb -O opennms opennmspsql -c "ALTER USER postgres WITH PASSWORD <Kennwort>;"

Mit "exit" wird wieder zum Root-Benutzer gewechselt. Die Einrichtung der Datenbank von OpenNMS erfolgt mit "nano open-nms-datasources.xml". Danach sind noch einige Anpassungen an der Datenbankkonfiguration notwendig. Diese sind in der Dokumentation von OpenNMS zu finden. Zusätzlich muss OpenNMS noch mit Java verknüpft werden:

/usr/share/opennms/bin/runjava -s

Nach der Einrichtung von PostgreSQL kann der OpenNMS-Dienst gestartet werden:

/usr/share/opennms/bin/install -dissystemctl enable opennmssystemctl start opennms

Danach lässt sich die Verwaltungsoberfläche über die URL "http://<IP des Servers>:8980/opennms" öffnen. Die Vorgehensweise ist ähnlich wie im oben verlinkten Beitrag beschrieben, nur die Oberfläche hat sich etwas verändert. Die Anmeldung erfolgt mit "admin/admin"

OpenNMS und Grafana

Seine Dashboards kann OpenNMS auch mit Grafana darstellen. Dazu muss auf dem Server lediglich Grafana installiert werden:

wget https://dl.grafana.com/oss/release/grafana_8.4.3_amd64.debsudo dpkg -i grafana_8.4.3_amd64.deb

Danach lässt sich Grafana mit OpenNMS verbinden:

grafana-cli plugins install opennms-helm-app

Nach der Konfiguration von Grafana können die verschiedenen Dashboards für OpenNMS angelegt werden.

Vollständige Network Discovery durchführen

In den Einstellungen von OpenNMS, die in der grafischen Oberfläche über das Dropdownmenü des Admin-Benutzers oben rechts zu finden sind, steht der Bereich "Configure Discovery" zur Verfügung. Bei "Include Ranges" kann über "Add New" ein neuer IP-Bereich angegeben werden, den OpenNMS nach Geräten durchsuchen soll. Nach der Eingabe der Daten startet OpenNMS mit "Save and Restart Discovery" das Durchsuchen des Netzwerks. Nach ein paar Minuten sind im Dashboard von OpenNMS bei "Info\Nodes" die neuen Knoten zu finden.

Über das Dropdownmenü des Admin-Kontos in der OpenNMS-Oberfläche können durch Auswahl von "Quick-Add Node" auch manuell einzelne Hosts an OpenNMs angebunden werden. Über das neue Fenster kann die Anbindung des Hosts gesteuert werden. Bei Linux-Servern bietet es sich an auf SSH zu setzen. Nach der Bestätigung sollte bei "Info\Nodes" der Knoten erscheinen. Durch einen Klick auf den neuen Server sind dessen Daten in OpenNMS zu finden.

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zu Netzwerktechnik, IP-Kommunikation und UCC

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung.

Aufklappen für Details zu Ihrer Einwilligung

(ID:48285579)