Installation der OpenNMS Netzwerküberwachungslösung unter Debian 11

OpenNMS ist ein freies und quelloffenes Open Network Management System, das in Java geschrieben wurde. Es ist eine Netzwerküberwachungsanwendung, die mithilfe des SNMP-Protokolls wichtige Informationen von lokalen und Netzwerk-Hosts sammelt. Es kann auf Linux- und Windows-Betriebssystemen installiert werden und bietet eine webbasierte Schnittstelle zur Überwachung des Netzwerkverkehrs über einen Webbrowser. Es bietet eine Vielzahl von Funktionen, darunter Provisioning, Service Monitoring, Event Management, Charting-Unterstützung und Leistungsmessung.

In diesem Beitrag zeigen wir dir, wie du OpenNMS auf Debian 11 installierst.

Voraussetzungen

  • Ein Server, auf dem Ubuntu 20.04 läuft.
  • Ein Root-Passwort ist auf dem Server konfiguriert.

Erforderliche Abhängigkeiten installieren

Aktualisiere zunächst deine Systempakete mit dem folgenden Befehl auf die neueste Version:

apt-get update -y

Sobald alle Pakete aktualisiert sind, musst du auch Java und andere erforderliche Abhängigkeiten auf deinem Server installieren. Du kannst sie alle mit folgendem Befehl installieren:

apt-get install default-jdk gnupg2 curl wget -y

Sobald alle Pakete installiert sind, kannst du die Java-Version mit folgendem Befehl überprüfen:

java -version

Du solltest die Java-Version in der folgenden Ausgabe sehen:

openjdk version "11.0.12" 2021-07-20
OpenJDK Runtime Environment (build 11.0.12+7-post-Debian-2)
OpenJDK 64-Bit Server VM (build 11.0.12+7-post-Debian-2, mixed mode, sharing)

Wenn du damit fertig bist, kannst du mit dem nächsten Schritt fortfahren.

OpenNMS Repository hinzufügen

Standardmäßig ist das OpenNMS-Paket nicht im Standard-Repository von Debian 11 enthalten. Daher musst du das OpenNMS-Repository zum APT hinzufügen. Du kannst es mit dem folgenden Befehl hinzufügen:

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

Füge die folgenden Zeilen ein:

deb https://debian.opennms.org stable main
deb-src https://debian.opennms.org stable main

Speichere und schließe die Datei und füge dann den GPG-Schlüssel mit dem folgenden Befehl hinzu:

wget -O - https://debian.opennms.org/OPENNMS-GPG-KEY | apt-key add -

Sobald das Repository und der Schlüssel hinzugefügt sind, aktualisiere den Repository-Cache mit dem folgenden Befehl:

apt-get update -y

Wenn du damit fertig bist, kannst du mit dem nächsten Schritt fortfahren.

Installiere OpenNMS unter Debian 11

Führe nun den folgenden Befehl aus, um das OpenNMS-Paket auf deinem System zu installieren.

apt-get install opennms -y

Sobald OpenNMS installiert ist, solltest du die folgende Ausgabe sehen:

 *** Installation complete.  You must still run the installer at
 *** $OPENNMS_HOME/bin/install to be sure your database is up
 *** to date before you start OpenNMS.  See the install guide at
 *** http://www.opennms.org/wiki/Installation:Debian and the
 *** release notes for details.

Setting up opennms-webapp-jetty (28.1.1-1) ...
Setting up opennms-source (28.1.1-1) ...
Setting up opennms (28.1.1-1) ...
Setting up liblwp-protocol-https-perl (6.10-1) ...
Setting up libwww-perl (6.52-1) ...
Setting up libxml-parser-perl:amd64 (2.46-2) ...
Setting up libxml-twig-perl (1:3.52-1) ...
Processing triggers for man-db (2.9.4-2) ...
Processing triggers for libc-bin (2.31-13) ...

Mit dem obigen Befehl wird auch das PostgreSQL-Serverpaket automatisch installiert. Du kannst es mit folgendem Befehl starten:

systemctl start postgresql

Als nächstes überprüfst du den Status von PostgreSQL mit dem folgenden Befehl:

systemctl status postgresql

Du erhältst die folgende Ausgabe:,/p>

? postgresql.service - PostgreSQL RDBMS
     Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled)
     Active: active (exited) since Sun 2021-10-24 04:56:37 UTC; 1min 9s ago
   Main PID: 17627 (code=exited, status=0/SUCCESS)
      Tasks: 0 (limit: 4679)
     Memory: 0B
        CPU: 0
     CGroup: /system.slice/postgresql.service

Oct 24 04:56:37 debian11 systemd[1]: Starting PostgreSQL RDBMS...
Oct 24 04:56:37 debian11 systemd[1]: Finished PostgreSQL RDBMS.

Sobald du fertig bist, kannst du mit dem nächsten Schritt fortfahren.

Erstellen einer Datenbank und eines Benutzers für OpenNMS

Als Nächstes musst du eine Datenbank und einen Benutzer für OpenNMS erstellen. Melde dich zunächst mit folgendem Befehl bei PostgreSQL an:

su - postgres

Sobald du eingeloggt bist, erstelle einen Benutzer mit dem folgenden Befehl:

createuser opennms

Als Nächstes legst du mit folgendem Befehl ein Passwort für den Benutzer opennms fest:

psql -c "ALTER USER opennms WITH PASSWORD 'opennms';"

Als Nächstes erstellst du eine Datenbank für OpenNMS mit dem folgenden Befehl:

createdb -O opennms opennms

Lege als Nächstes ein Passwort für den Postgres-Benutzer mit dem folgenden Befehl fest:

psql -c "ALTER USER postgres WITH PASSWORD 'securepassword';"

Verlasse die PostgreSQL-Shell mit folgendem Befehl:

exit

Sobald du damit fertig bist, kannst du mit dem nächsten Schritt fortfahren.

OpenNMS konfigurieren

Als Nächstes musst du die OpenNMS-Datenquelldatei bearbeiten und deine Datenbankeinstellungen festlegen.

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

Ändere die folgenden Zeilen entsprechend deiner Datenbankeinstellungen:

<jdbc-data-source name="opennms"
                    database-name="opennms"
                    class-name="org.postgresql.Driver"
                    url="jdbc:postgresql://localhost:5432/opennms"
                    user-name="opennms"
                    password="opennms” />
<jdbc-data-source name="opennms-admin"
                    database-name="template1"
                    class-name="org.postgresql.Driver"
                    url="jdbc:postgresql://localhost:5432/template1"
                    user-name="postgres"
                    password="securepassword" />

Speichere und schließe die Datei, wenn du fertig bist.

OpenNMS initialisieren und starten

Zuerst musst du OpenNMS mit Java integrieren. Das kannst du tun, indem du den folgenden Befehl ausführst:

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

Du erhältst die folgende Ausgabe:

runjava: Looking for an appropriate JVM...
runjava: Checking for an appropriate JVM in JAVA_HOME...
runjava: Skipping... JAVA_HOME not set.
runjava: Checking JVM in the PATH: "/etc/alternatives/java"...
runjava: Did not find an appropriate JVM in the PATH: "/etc/alternatives/java"
runjava: Searching for a good JVM...
runjava: Found a good JVM in "/usr/lib/jvm/java-11-openjdk-amd64/bin/java".
runjava: Value of "/usr/lib/jvm/java-11-openjdk-amd64/bin/java" stored in configuration file.

Als Nächstes initialisierst du die Datenbank und erkennst die Systembibliotheken mit folgendem Befehl:

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

Du erhältst die folgende Ausgabe:

Processing RemotePollerServiceConfigMigratorOffline: Remove deprecated RemotePoller service entry from service-configuration.xml, see NMS-12684
- Running pre-execution phase
  Creating backup of /usr/share/opennms/etc/service-configuration.xml
    Zipping /usr/share/opennms/etc/service-configuration.xml
- Running execution phase
  Current configuration: 32 services.
  A service entry named 'OpenNMS:Name=PerspectivePoller' already exists.
  Final configuration: 32 services.
- Saving the execution state
- Running post-execution phase
  Removing backup /usr/share/opennms/etc/service-configuration.xml.zip

Finished in 0 seconds
Upgrade completed successfully!

Starte schließlich OpenNMS und aktiviere es so, dass es beim Neustart des Systems gestartet wird:

systemctl start opennms
systemctl enable opennms

Du kannst den Status des OpenNMS auch mit dem folgenden Befehl überprüfen:

systemctl status opennms

Du solltest die folgende Ausgabe sehen:

? opennms.service - OpenNMS server
     Loaded: loaded (/lib/systemd/system/opennms.service; disabled; vendor preset: enabled)
     Active: active (running) since Sun 2021-10-24 05:00:11 UTC; 3s ago
    Process: 22231 ExecStart=/usr/share/opennms/bin/opennms -s start (code=exited, status=0/SUCCESS)
   Main PID: 23326 (java)
      Tasks: 43 (limit: 4679)
     Memory: 212.8M
        CPU: 21.168s
     CGroup: /system.slice/opennms.service
             ??23325 bash /usr/share/opennms/bin/opennms -s start
             ??23326 /usr/lib/jvm/java-11-openjdk-amd64/bin/java --add-modules=java.base,java.compiler,java.datatransfer,java.desktop,java.ins>

Oct 24 05:00:13 debian11 opennms[23326]: [DEBUG] System property 'opennms.library.jicmp' set to '/usr/lib/jni/libjicmp.so.  Attempting to load>
Oct 24 05:00:13 debian11 opennms[23326]: [INFO] Successfully loaded jicmp library.
Oct 24 05:00:13 debian11 opennms[23326]: [DEBUG] System property 'opennms.library.jicmp' set to '/usr/lib/jni/libjicmp.so.  Attempting to load>
Oct 24 05:00:13 debian11 opennms[23326]: [INFO] Successfully loaded jicmp library.
Oct 24 05:00:13 debian11 opennms[23326]: [DEBUG] System property 'opennms.library.jicmp6' set to '/usr/lib/jni/libjicmp6.so.  Attempting to lo>
Oct 24 05:00:13 debian11 opennms[23326]: [INFO] Successfully loaded jicmp6 library.
Oct 24 05:00:13 debian11 opennms[23326]: [DEBUG] System property 'opennms.library.jicmp' set to '/usr/lib/jni/libjicmp.so.  Attempting to load>
Oct 24 05:00:13 debian11 opennms[23326]: [INFO] Successfully loaded jicmp library.
Oct 24 05:00:13 debian11 opennms[23326]: [DEBUG] System property 'opennms.library.jicmp6' set to '/usr/lib/jni/libjicmp6.so.  Attempting to lo>
Oct 24 05:00:13 debian11 opennms[23326]: [INFO] Successfully loaded jicmp6 library.

Zu diesem Zeitpunkt ist OpenNMS gestartet und lauscht auf Port 8980. Du kannst dies mit dem folgenden Befehl überprüfen:

ss -antpl | grep 8980

Du erhältst die folgende Ausgabe:

LISTEN 0      50                      *:8980             *:*    users:(("java",pid=23326,fd=815)) 

Zugriff auf OpenNMS Web Interface

Öffne nun deinen Webbrowser und rufe die OpenNMS-Webkonsole unter der URL http://your-server-ip:8980/opennms auf. Du solltest die OpenNMS-Anmeldeseite sehen:

OpenNMS Anmeldung

Gib den Standard-Benutzernamen und das Passwort admin/admin ein und klicke auf die Schaltfläche Anmelden. Auf der folgenden Seite solltest du das OpenNMS-Dashboard sehen:

OpenNMS Dashboard

Klicke nun auf das + Symbol, um den neuen Host hinzuzufügen. Du solltest die folgende Seite sehen:

Neuen Knoten hinzufügen

Gib den Namen deines Auftrags ein und klicke auf OK. Du solltest die folgende Seite sehen:

Knotenpunkt-Einstellungen

Geräteeinstellungen

Gib den Namen, die IP, den Benutzernamen, das Passwort und die Zugriffsmethode deines Remote-Hosts ein und klicke auf die Schaltfläche Bereitstellen. Sobald der Host hinzugefügt wurde, siehst du die folgende Seite:

Knoten erfolgreich hinzugefügt

Klicke auf die Schaltfläche Ok. Du solltest deinen neu hinzugefügten Host auf dem folgenden Bildschirm sehen:

OpenNMS Netzwerküberwachung

Fazit

Glückwunsch! Du hast OpenNMS erfolgreich unter Debian 11 installiert und konfiguriert. Du kannst nun weitere Hosts zu OpenNMS hinzufügen und sie über die webbasierte Oberfläche überwachen.

Das könnte dich auch interessieren …