Installation · 10 min read · Nov 01, 2025

So installieren Sie die OpenNMS-Überwachungslösung auf Ubuntu 22.04

OpeNNMS ist eine kostenlose und Open-Source-Netzwerküberwachungs- und Netzwerkmanagement-Lösung. Es ist eine Unternehmenslösung zur Netzwerküberwachung, die alles in lokalen und entfernten Netzwerken visualisiert und überwacht. OpenNMS ist eine vollständig Open-Source-Lösung für Netzwerküberwachung und -management, die unter der AGPLv3-Lizenz veröffentlicht wird.

OpenNMS ist eine skalierbare Netzwerküberwachungsplattform, die es Ihnen ermöglicht, zehntausende von Netzwerken über verteilte und gestaffelte Systeme zu überwachen. Außerdem ist OpenNMS eine flexible Überwachungsplattform, die sich leicht in Ihr Kerngeschäft und Drittanbietererweiterungen integrieren lässt.

OpenNMS hat mehrere Komponenten, die unten aufgeführt sind:

  1. OpenNMS Horizon - Bündel von drei Hauptkomponenten: Core (die Hauptkomponente von Horizon), Minion (für die entfernte verteilte Überwachung) und Sentinel (für Skalierbarkeit).
  2. Helm - angepasste Dashboard für OpenNMS.
  3. Architektur für lernfähige Korrelation (ALEC) (Alarmtriage).
  4. Provisioning-Integrationsserver (PRIS) (extrahierte Datenintegration).

Dieser Leitfaden zeigt Ihnen, wie Sie die OpenNMS-Überwachungslösung mit einem PostgreSQL-Datenbankserver und Nginx Reverse Proxy auf einem Ubuntu 22.04-Server installieren. Außerdem zeigt Ihnen dieser Leitfaden die Installation von Java OpenJDK, die grundlegende Konfiguration des PostgreSQL-Datenbankservers und des Nginx-Webservers.

Voraussetzungen

Zunächst benötigen Sie die folgenden Anforderungen, um diesen Leitfaden abzuschließen:

  • Ein Ubuntu 22.04-Server - Dieses Beispiel verwendet den Ubuntu-Server mit dem Hostnamen ‘opennms-server’ und der Arbeitsspeicher beträgt 4 GB.
  • Ein Nicht-Root-Benutzer mit sudo/root-Administratorrechten.\
  • Ein Domainname oder eine lokale Domain wird verwendet, um OpenNMS auszuführen.

Installation von Java OpenJDK

Die OpenNMS-Überwachungslösung ist ein Überwachungstool, das hauptsächlich in Java geschrieben ist. Zum Zeitpunkt des Schreibens unterstützt die neueste Version von OpenNMS mindestens Java 11. Das Standard-Ubuntu 22.04-Repository bietet das Java OpenJDK 11, das Sie einfach über APT installieren können.

Bevor Sie Java installieren, führen Sie den folgenden apt-Befehl aus, um Ihr Paket-Index zu aktualisieren und zu aktualisieren.

sudo apt update

Installieren Sie jetzt Java OpenJDK 11 über den untenstehenden apt-Befehl. Die Standard-Java-Version für das Ubuntu 22.04-System ist Java OpenJDK 11, die für die OpenNMS-Installation geeignet ist.

sudo apt install default-jdk

Wenn Sie dazu aufgefordert werden, geben Sie y ein, um zu bestätigen, und drücken Sie ENTER. Die Installation von Java OpenJDK beginnt.

install java

Nachdem Java OpenJDK installiert ist, führen Sie den folgenden Befehl aus, um die installierte Version von Java zu überprüfen. Sie sollten Java OpenJDK 1.11 auf Ihrem Ubuntu-System installiert haben.

java -version

Mit installiertem Java OpenJDK wechseln Sie zur Installation der PostgreSQL-Datenbank.

Installation und Konfiguration des PostgreSQL-Servers

PostgreSQL ist ein hochleistungsfähiges RDMS (Relational Database Management System). OpenNMS unterstützt nur PostgreSQL als Datenbank-Backend. Zum Zeitpunkt des Schreibens unterstützt OpenNMS PostgreSQL v10.x-14.x.

Sie werden jetzt die PostgreSQL-Datenbank v14 auf einem Ubuntu-Server installieren und konfigurieren. Standardmäßig bietet das Ubuntu-Repository mehrere Versionen von PostgreSQL an, und Sie werden PostgreSQL 14.x für die OpenNMS-Bereitstellung installieren.

Führen Sie den folgenden apt-Befehl aus, um PostgreSQL 14 zu installieren.

sudo apt install postgresql-14

Wenn Sie zur Bestätigung aufgefordert werden, geben Sie y ein und drücken Sie ENTER, um fortzufahren.

install postgresql

Nachdem das PostgreSQL-Paket installiert ist, führen Sie den folgenden systemctl-Befehl aus, um den PostgreSQL-Dienst zu überprüfen und sicherzustellen, dass der Dienst läuft und aktiviert ist.

sudo systemctl is-enabled postgresql  
sudo systemctl status postgresql

Sie werden dann sehen, dass der PostgreSQL-Dienst aktiviert ist und automatisch beim Booten gestartet wird. Und der Status des PostgreSQL-Dienstes ist aktiv.

verify postgresql

Jetzt, da die PostgreSQL-Datenbank läuft, werden Sie die Datenbank und den Benutzer für OpenNMS erstellen. Sie werden auch das Passwort für den Standard-PostgreSQL-Benutzer ‘postgres‘ festlegen.

Führen Sie den folgenden Befehl aus, um einen neuen PostgreSQL-Benutzer ‘opennms’ zu erstellen. Wenn Sie zur Eingabe des Passworts aufgefordert werden, geben Sie das neue Passwort für den Benutzer ‘opennms‘ ein und wiederholen Sie es.

sudo -u postgres createuser -P opennms

Erstellen Sie als Nächstes eine neue Datenbank ‘opennms‘ mit dem Besitzer ‘opennms‘ über den folgenden Befehl.

sudo -u postgres createdb -O opennms opennms

Zuletzt ändern Sie das Passwort des Benutzers ‘postgres‘ über den folgenden Befehl. Und stellen Sie sicher, dass Sie es mit einem neuen starken Passwort ändern.

sudo -u postgres psql -c "ALTER USER postgres WITH PASSWORD '5up3rp4ssw0rd';"

Jetzt, da Sie Java OpenJDK und PostgreSQL installiert haben, sind Sie bereit, OpenNMS zu installieren.

Installation und Konfiguration von OpenNMS

Sie haben Java OpenJDK und die PostgreSQL-Datenbank installiert, außerdem haben Sie eine neue Datenbank und einen Benutzer für OpenNMS erstellt und das Standardpasswort für den PostgreSQL-Benutzer ‘postgres’ konfiguriert. Sie werden dann mit der Installation und Konfiguration von OpenNMS beginnen.

In diesem Abschnitt installieren Sie OpenNMS über das offizielle OpenNMS-Repository. Dann werden Sie OpenNMS mit der PostgreSQL-Datenbank einrichten, die Java-Umgebung einrichten, das Datenbankschema initialisieren, Systembibliotheken erkennen und OpenNMS ermöglichen, in privilegierten Ports zu laufen.

Führen Sie zunächst den folgenden Befehl aus, um den OpenNMS GPG-Schlüssel und das Repository hinzuzufügen.

sudo apt-key adv --fetch-keys https://debian.opennms.org/OPENNMS-GPG-KEY  
sudo add-apt-repository -s 'deb https://debian.opennms.org stable main'

Wenn Sie dazu aufgefordert werden, drücken Sie ENTER, um zu bestätigen und das OpenNMS-Repository hinzuzufügen.

add repo

Installieren Sie jetzt das OpenNMS-Paket mit zusätzlichen R-Paketen über den untenstehenden apt-Befehl.

sudo apt install opennms r-recommended

Wenn Sie zur Bestätigung aufgefordert werden, geben Sie y ein, um zu bestätigen, und drücken Sie ENTER, um fortzufahren.

install opennms

Führen Sie als Nächstes den folgenden apt-Befehl aus, um das OpenNMS-Paket von der automatischen Aktualisierung zu deaktivieren. OpenNMS erfordert manuelle Schritte und Konfigurationen beim Upgrade auf eine neue Version, daher müssen Sie es manuell aktualisieren, um Fehler während/nach den Upgrades zu vermeiden.

sudo apt-mark hold libopennms-java \  
libopennmsdeps-java \  
opennms-common \  
opennms-db

disable auto update

Jetzt, da OpenNMS installiert ist, können Sie das Installationsverzeichnis von OpenNMS ‘/usr/share/opennms‘ über den folgenden Befehl überprüfen. Außerdem sollten alle Änderungen, die sich auf OpenNMS beziehen, an Dateien im Verzeichnis ‘/usr/share/opennms‘ vorgenommen werden.

sudo apt install tree -y  
sudo tree /usr/share/opennms -L 1

Sie sollten eine Liste von Verzeichnissen und Dateien für das OpenNMS-Paket sehen.

opennms list files

Als Nächstes richten Sie die Datenbankkonfiguration für OpenNMS ein. Öffnen Sie die Datei ‘/usr/share/opennms/etc/opennms-datasources.xml‘ mit dem folgenden nano-Editor-Befehl. Der Befehl ‘sudo -u opennms nano …‘ zeigt an, dass Sie den Befehl als Benutzer ‘opennms‘ und nicht als Root-Benutzer ausführen.

sudo -u opennms nano /usr/share/opennms/etc/opennms-datasources.xml

Ändern Sie die ‘jdbc-data-source’ für den ‘opennms‘, sodass sie die Details der Datenbank und des Benutzers ‘opennms‘ verwendet. Und für ‘opennms-admin‘ sollten Sie den PostgreSQL-Adminbenutzer ‘postgres‘ verwenden.

  
  

Speichern Sie die Datei und beenden Sie den Editor, wenn Sie fertig sind.

Führen Sie nun den folgenden Befehl aus, um die Java-Umgebung auf Ihrem System zu erkennen, die dauerhaft in der Konfigurationsdatei ‘/usr/share/opennms/etc/java.conf‘ gespeichert wird.

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

setup opennms

Führen Sie danach den folgenden Befehl aus, um die Datenbank zu initialisieren und Systembibliotheken für OpenNMS zu erkennen. Bibliotheken für OpenNMS werden in der Datei ‘/opt/opennms/etc/libraries.properties‘ aufgelistet.

sudo -u opennms /usr/share/opennms/bin/install -dis

opennsm installer

Als Nächstes bearbeiten Sie die OpenNMS-Dienstdatei über den folgenden systemctl-Befehl. Sie sollten den Standard-EDITOR auf Ihrem System erhalten.

sudo systemctl edit --full opennms.service

Fügen Sie die folgende Konfiguration zum Abschnitt ‘[Service]‘ hinzu. Dies ermöglicht es dem OpenNMS-Dienst, in privilegierten Ports (Ports 1-1024) zu laufen und zu binden.

[Service]  
...  
AmbientCapabilities=CAP_NET_RAW CAP_NET_BIND_SERVICE

Speichern Sie die Datei und beenden Sie den Editor, wenn Sie fertig sind.

Nachdem Sie die OpenNMS-Dienstdatei bearbeitet haben, führen Sie den folgenden Befehl aus, um den systemd-Manager neu zu laden, den OpenNMS-Dienst neu zu starten und zu aktivieren.

sudo systemctl daemon-reload  
sudo systemctl restart opennms  
sudo systemctl enable opennms

Jetzt, da der OpenNMS-Dienst mit neuen Konfigurationen läuft, werden Sie den OpenNMS-Dienst über den folgenden systemctl-Befehl überprüfen.

sudo systemctl is-enabled opennms  
sudo systemctl status opennms

Die Ausgabe - Der OpenNMS-Dienst ist aktiviert und wird automatisch beim Systemstart ausgeführt. Und der OpenNMS-Dienst läuft derzeit.

check opennms

An diesem Punkt haben Sie die Installation und Konfiguration von OpenNMS abgeschlossen. Aber Sie werden OpenNMS mit Nginx Reverse Proxy ausführen. Lesen Sie weiter, um zu erfahren, wie Sie Nginx als Reverse Proxy für OpenNMS einrichten.

Installation von Nginx als Reverse Proxy für OpenNMS

Jetzt, da Sie OpenNMS auf dem Standardport ‘8980’ ausführen, werden Sie Nginx als Reverse Proxy für OpenNMS installieren und konfigurieren.

Führen Sie den folgenden apt-Befehl aus, um das Nginx-Paket auf Ihrem System zu installieren.

sudo apt install nginx

Geben Sie y ein, wenn Sie dazu aufgefordert werden, und drücken Sie ENTER, um fortzufahren. Und die Installation beginnt.

install nginx

Überprüfen Sie als Nächstes den Nginx-Dienst mit dem folgenden systemctl-Befehl.

sudo systemctl is-enabled nginx  
sudo systemctl status nginx

Sie sollten sehen, dass der Nginx-Dienst aktiviert ist und automatisch beim Booten gestartet wird. Außerdem wird der Nginx-Dienst automatisch gestartet, nachdem die Installation abgeschlossen ist.

check nginx

Nachdem Nginx installiert ist, erstellen Sie einen neuen Nginx-Serverblock ‘/etc/nginx/sites-available/opennms.conf‘ mit dem folgenden nano-Editor-Befehl.

sudo nano /etc/nginx/sites-available/opennms.conf

Fügen Sie die folgende Konfiguration zur Datei hinzu. Stellen Sie sicher, dass Sie den Domainnamen durch Ihre Domain ersetzen.

server {  
    listen 80;  
    server_name opennms.howtoforge.local;  
    access_log /var/log/nginx/opennms.access.log;  
    error_log /var/log/nginx/opennms.error.log;  
  
    location / {  
        proxy_set_header Host $http_host;  
        proxy_set_header X-Forwarded-Host $host;  
        proxy_set_header X-Forwarded-Server $host;  
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;  
        proxy_set_header X-OpenNMS-Server-URL https://opennms.howtoforge.local/;  
        proxy_pass http://localhost:8980;  
    }  
}

Speichern Sie die Datei und beenden Sie den Editor, wenn Sie fertig sind.

Aktivieren Sie als Nächstes den ‘opennms.conf‘-Serverblock und überprüfen Sie die Nginx-Konfiguration, um sicherzustellen, dass Sie die richtige Konfiguration haben.

sudo ln -s /etc/nginx/sites-available/opennms.conf /etc/nginx/sites-enabled/  
sudo nginx -t

Wenn Sie die Ausgabemeldung wie ‘Test erfolgreich - Syntax ok‘ sehen, bedeutet das, dass Ihre Nginx-Konfiguration korrekt ist.

setuo nginx

Starten Sie jetzt den Nginx-Dienst neu, um die neue Serverblockkonfiguration anzuwenden.

sudo systemctl restart nginx

Jetzt, da Nginx als Reverse Proxy für OpenNMS läuft, werden Sie die UFW-Firewallkonfiguration durchgehen und einige Ports für einige Dienste öffnen.

Einrichtung der UFW-Firewall

Nachdem Sie den Nginx-Reverse-Proxy konfiguriert haben, werden Sie die UFW auf Ihrem OpenNMS-Server einrichten. Sie werden das OpenNMS-Überwachungstool mit aktivierter UFW ausführen, daher müssen Sie einige Ports hinzufügen, die für OpenNMS verwendet werden.

Führen Sie den folgenden apt-Befehl aus, um UFW auf Ihrem System zu installieren.

sudo apt install ufw -y

Nachdem UFW installiert ist, führen Sie den folgenden Befehl aus, um den OpenSSH-Dienst hinzuzufügen. Starten Sie dann den UFW-Dienst und aktivieren Sie ihn.

sudo ufw allow OpenSSH  
sudo ufw enable

Wenn Sie dazu aufgefordert werden, geben Sie y ein, um zu bestätigen, und drücken Sie ENTER, um fortzufahren. Jetzt wird die UFW ausgeführt und ist aktiviert und wird automatisch beim Booten gestartet.

setup ufw ssh

Fügen Sie als Nächstes eine neue Regel hinzu, um den Verkehr zum Nginx-Webserver zuzulassen.

sudo ufw allow "Nginx Full"

ufw nginx

Danach öffnen Sie die Datei ‘/etc/ufw/before.rules‘ mit dem folgenden nano-Editor-Befehl.

sudo nano /etc/ufw/before.rules

Fügen Sie die folgende Konfiguration vor dem ‘filter‘-Abschnitt hinzu. Dies aktiviert NAT und leitet den Verkehr von 62/udp nach 10162/udp um.

*nat  
:PREROUTING ACCEPT [0:0]  
-A PREROUTING -p udp --dport 162 -j REDIRECT --to-port 10162  
COMMIT

Speichern Sie die Datei und beenden Sie den Editor, wenn Sie fertig sind.

Fügen Sie jetzt die neue Regel hinzu, um sowohl die Ports 62/udp als auch 10162/udp zuzulassen.

sudo ufw allow in 162/udp  
sudo ufw allow in 10162/udp

Laden Sie die UFW neu, um die Änderungen anzuwenden, und überprüfen Sie den Status von UFW über den folgenden Befehl.

sudo ufw reload  
sudo ufw status

ceck ufw

Bisher haben Sie die Installation und Konfiguration von OpenNMS mit Paketabhängigkeiten wie PostgreSQL-Datenbank und Nginx-Webserver abgeschlossen und auch die UFW konfiguriert. Für den letzten Schritt werden Sie auf die OpenNMS-Installation über einen Webbrowser zugreifen und den Admin-Benutzer für OpenNMS einrichten.

Zugriff auf das OpenNMS-Überwachungstool

Öffnen Sie Ihren Webbrowser und besuchen Sie den Domainnamen Ihrer OpenNMS-Installation (z. B.: http://opennms.howtoforge.local). Sie sollten die Anmeldeseite des OpenNMS-Überwachungstools sehen.

Geben Sie den Standardbenutzer/das Standardpasswort ‘admin/admin‘ ein und klicken Sie auf ‘Anmelden‘.

opennms login

Sie werden dann das OpenNMS-Administrations-Dashboard sehen.

opennms dashboard

Nachdem Sie sich mit dem Standardbenutzer/dem Standardpasswort ‘admin/admin‘ bei OpenNMS angemeldet haben, werden Sie den Standardbenutzernamen und das Passwort für Ihre OpenNMS-Installation ändern.

Klicken Sie in der oberen Menüleiste auf das Menü ‘Admin‘ und wählen Sie ‘Passwort ändern‘.

Geben Sie jetzt das alte Passwort ‘admin’ ein und geben Sie das neue OpenNMS-Passwort ein und wiederholen Sie das Passwort. Klicken Sie dann auf ‘Absenden‘, um die Änderungen zu übernehmen.

schange password

Sie haben jetzt die OpenNMS-Konfiguration abgeschlossen.

Fazit

Sie haben jetzt OpenNMS, ein hochskalierbares und anpassbares Überwachungstool, auf Ihrem Ubuntu 22.04-Server installiert. Sie haben auch den PostgreSQL-Datenbankserver installiert und den Nginx-Webserver als Reverse Proxy für OpenNMS konfiguriert. Mit OpenNMS vollständig konfiguriert, können Sie jetzt einen neuen Host zur Überwachung über das SNMP-Protokoll hinzufügen, die verteilte Überwachung über OpenNMS Minion einrichten, OpenNMS über Sentinel skalieren und das Dashboard über Helm anpassen.

Wenn Sie OpenNMS in großen Bereitstellungen ausführen möchten, lesen Sie die offizielle Dokumentation.

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.