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:
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:
Klicke nun auf das + Symbol, um den neuen Host hinzuzufügen. Du solltest die folgende Seite sehen:
Gib den Namen deines Auftrags ein und klicke auf OK. Du solltest die folgende Seite sehen:
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:
Klicke auf die Schaltfläche Ok. Du solltest deinen neu hinzugefügten Host auf dem folgenden Bildschirm sehen:
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.