OpenNMS ist eine kostenlose Open-Source-Plattform und eine der leistungsstärksten Netzwerküberwachungs- und Netzwerkverwaltungsplattformen, die für die Überwachung von Remote-Geräten von einem zentralen Standort aus verwendet wird. Es unterstützt viele Funktionen, einschließlich Bereitstellung, Dienstüberwachung, Ereignisverwaltung, Diagrammunterstützung und mehr. OpenNMS verwendet SNMP und JMX und sammelt Informationen von entfernten Systemen. Es läuft auf Linux- und Windows-Betriebssystemen und bietet eine webbasierte Schnittstelle für eine einfache Überwachung.
In diesem Tutorial zeige ich Ihnen, wie Sie OpenNMS auf Debian 11 installieren.
Voraussetzungen
- Ein Server mit Debian 11.
- Ein gültiger Domainname, auf den Ihre Server-IP verweist.
- Auf dem Server ist ein Root-Passwort konfiguriert.
Installieren Sie Java unter Debian 11
OpenNMS ist eine Java-basierte Anwendung. Daher muss Java auf Ihrem Server installiert sein. Wenn es nicht installiert ist, können Sie es installieren, indem Sie den folgenden Befehl ausführen:
apt-get install default-jdk -y
Sobald Java installiert ist, überprüfen Sie die Java-Version mit dem folgenden Befehl:
java --version
Sie erhalten die Java-Version in der folgenden Ausgabe:
openjdk 11.0.13 2021-10-19OpenJDK Runtime Environment (Build 11.0.13+8-post-Debian-1deb11u1)OpenJDK 64-Bit Server VM (build 11.0.13+8-post-Debian-1deb11u1, gemischter Modus , teilen)
Installieren Sie OpenNMS auf Debian 11
Standardmäßig ist OpenNMS nicht im Haupt-Repository von Debian 11 enthalten. Sie müssen also das offizielle OpenNMS-Repository zum APT hinzufügen.
Installieren Sie zuerst alle erforderlichen Abhängigkeiten mit dem folgenden Befehl:
apt-get install curl gnupg2 wget -y
Sobald alle Pakete installiert sind, erstellen Sie eine OpenNMS-Repository-Datei mit dem folgenden Befehl:
nano /etc/apt/sources.list.d/opennms.list
Fügen Sie die folgenden Zeilen hinzu:
deb https://debian.opennms.org stabiler Maindeb-src https://debian.opennms.org stabiler Main
Speichern und schließen Sie die Datei und importieren Sie dann den GPG-Schlüssel mit dem folgenden Befehl:
wget -O - https://debian.opennms.org/OPENNMS-GPG-KEY | apt-key add -
Sie erhalten die folgende Ausgabe:
Verbinde mit debian.opennms.org (debian.opennms.org)|3.214.84.83|:443... verbunden.HTTP-Anfrage gesendet, warte auf Antwort... 200 OKLänge:1335 (1.3K)Speichern unter:' STDOUT'- 100 %[==============================================================>] 1.30K --.-KB/s in 0s 2021-11-28 07:58:07 (16.0 MB/s) - nach stdout geschrieben [1335/1335]OK
Aktualisieren Sie als Nächstes den Repository-Cache und installieren Sie OpenNMS mit dem folgenden Befehl:
apt-get update -y
apt-get install opennms -y
Während der Installation erhalten Sie die folgende Fehlermeldung:
Iplike konnte nicht in die Datenbanken template1 oder opennms installiert werden. Siehe /tmp/install_iplike.log für Details. Um diesen Schritt zu überspringen und manuell zu installieren, legen Sie die Umgebungsvariable SKIP_IPLIKE_INSTALL fest, bevor Sie dieses Paket installieren. Um iplike in Ihrer Datenbank zu installieren, verwenden Sie das Skript /usr/sbin/install_iplike.sh. Siehe `install_iplike.sh -h` für weitere Details.
Um diesen Fehler zu beheben, müssen Sie eine Datenbank und einen Benutzer für OpenNMS in PostgreSQL erstellen.
Erstellen Sie eine Datenbank in PostgreSQL
Der PostgreSQL-Server wird während des OpenNMS-Installationsprozesses automatisch installiert.
Starten Sie zunächst den PostgreSQL-Dienst mit dem folgenden Befehl:
systemctl postgresql starten
Stellen Sie als Nächstes mit dem folgenden Befehl eine Verbindung zur PostgreSQL-Instanz her:
su - postgres
Sobald Sie verbunden sind, erstellen Sie einen Benutzer für OpenNMS und legen Sie mit dem folgenden Befehl ein Passwort fest:
createuser opennms
psql -c "ALTER USER opennms WITH PASSWORD 'opennms';"
Erstellen Sie als Nächstes eine Datenbank für OpenNMS und legen Sie ein Passwort für den Postgres-Benutzer fest:
createdb -O opennms opennms
psql -c "ALTER USER postgres WITH PASSWORD 'securepassword';"
Verlassen Sie als Nächstes die PostgreSQL-Shell mit dem folgenden Befehl:
beenden
Wenn Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.
OpenNMS konfigurieren
Als Nächstes müssen Sie die OpenNMS-Datenquelldatei bearbeiten und Ihre Datenbankanmeldeinformationen definieren:
nano /usr/share/opennms/etc/opennms-datasources.xml
Definieren Sie Ihre Datenbankanmeldeinformationen wie unten gezeigt:
Speichern und schließen Sie die Datei, wenn Sie fertig sind, und führen Sie dann den folgenden Befehl aus, um die Java-Umgebung zu erkennen:
sudo -u opennms /usr/share/opennms/bin/runjava -s
Sie erhalten die folgende Ausgabe:
runjava:Suche nach geeigneter JVM...runjava:Suche nach geeigneter JVM in JAVA_HOME...runjava:Überspringe... JAVA_HOME not set.runjava:Suche nach JVM im PATH:"/etc/alternatives/java "...runjava:Keine passende JVM gefunden im PFAD:"/etc/alternatives/java"runjava:Suche nach guter JVM...runjava:Gute JVM gefunden in "/usr/lib/jvm/java -11-openjdk-amd64/bin/java".runjava:Wert von "/usr/lib/jvm/java-11-openjdk-amd64/bin/java" in Konfigurationsdatei gespeichert.
Führen Sie als Nächstes den folgenden Befehl aus, um das OpenNMS-Setup abzuschließen:
sudo -u opennms /usr/share/opennms/bin/install -dis
Sie erhalten die folgende Ausgabe:
Fertig in 0 SekundenProcessing RemotePollerServiceConfigMigratorOffline:Entferne veralteten RemotePoller-Diensteintrag aus service-configuration.xml, siehe NMS-12684- Running pre-execution phase. Erstellt Backup von /usr/share/opennms/etc/service-configuration.xml. usr/share/opennms/etc/service-configuration.xml- Laufende Ausführungsphase Aktuelle Konfiguration:32 Dienste. Ein Diensteintrag mit dem Namen „OpenNMS:Name=PerspectivePoller“ ist bereits vorhanden. Endgültige Konfiguration:32 Dienste.- Speichern des Ausführungsstatus- Laufende Post-Execution-Phase. Backup wird entfernt. /usr/share/opennms/etc/service-configuration.xml.zipIn 0 Sekunden fertigUpgrade erfolgreich abgeschlossen!OpenNMS-Dienst starten
Starten Sie nach dem Einrichten von OpenNMS den OpenNMS-Dienst und ermöglichen Sie ihm, beim Systemneustart mit dem folgenden Befehl zu starten:
systemctl start opennms
systemctl enable opennmsSie können den OpenNMS-Status mit dem folgenden Befehl überprüfen:
Systemctl-Status opennmsSie erhalten die folgende Ausgabe:
? opennms.service - OpenNMS-Server Geladen:geladen (/lib/systemd/system/opennms.service; deaktiviert; Herstellervoreinstellung:aktiviert) Aktiv:aktiv (läuft) seit Sun 2021-11-28 08:10:51 UTC; Vor 16s Prozess:22990 ExecStart=/usr/share/opennms/bin/opennms -s start (code=exited, status=0/SUCCESS) Main PID:24106 (java) Tasks:68 (limit:4679) Memory:559.2M CPU:48.083s CGroup:/system.slice/opennms.service ??24105 bash /usr/share/opennms/bin/opennms -s start ??24106 /usr/lib/jvm/java-11-openjdk-amd64/bin /java --add-modules=java.base,java.compiler,java.datatransfer,java.desktop,java.in>Nov 28 08:11:02 debian11 opennms[24106]:[DEBUG] Systemeigenschaft 'opennms.library .jicmp“ auf „/usr/lib/jni/libjicmp.so“ gesetzt. Attempting to loa>28. November 08:11:02 debian11 opennms[24106]:[INFO] Jicmp-Bibliothek wurde erfolgreich geladen. gesetzt auf '/usr/lib/jni/libjicmp6.so. Versuch, l> 28. November 08:11:02 debian11 opennms[24106]:[INFO] Erfolgreich geladene jicmp6-Bibliothek. auf '/usr/lib/jni/libjicmp.so setzen. Attempting to loa>28. November 08:11:02 debian11 opennms[24106]:[INFO] Jicmp-Bibliothek wurde erfolgreich geladen. gesetzt auf '/usr/lib/jni/libjicmp6.so. Attempting to l>Nov 28 08:11:02 debian11 opennms[24106]:[INFO] Successfully loaded jicmp6 library.Nov 28 08:11:07 debian11 opennms[24106]:Nov 28, 2021 8:11:07 AM org. hibernate.validator.internal.util.Version Nov 28 08:11:07 debian11 opennms[24106]:INFO:HV000001:Hibernate Validator 4.3.2.Final
An diesem Punkt wird OpenNMS gestartet und lauscht auf Port 8980. Sie können dies mit dem folgenden Befehl überprüfen:
ss -antpl | grep 8980
Sie erhalten die folgende Ausgabe:
LISTEN 0 50 *:8980 *:* Benutzer:(("java",pid=24106,fd=1046))
Konfigurieren Sie Nginx als Reverse-Proxy für OpenNMS
Als nächstes wird empfohlen, Nginx als Reverse-Proxy für OpenNMS zu installieren und zu konfigurieren. Installieren Sie zuerst den Nginx-Server mit dem folgenden Befehl:
apt-get install nginx -y
Erstellen Sie nach der Installation von Nginx eine Konfigurationsdatei für den virtuellen Nginx-Host:
nano /etc/nginx/conf.d/opennms.conf
Fügen Sie die folgende Konfiguration hinzu:
server {listen 80; Servername opennms.example.com; access_log /var/log/nginx/opennms.access.log; error_log /var/log/nginx/opennms.error.log; Ort / { 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://nms.hacc.edu/; Proxy_Pass http://Server-IP:8980; }}
Speichern und schließen Sie die Datei und überprüfen Sie dann Nginx auf Syntaxkonfigurationsfehler:
nginx -t
Sie erhalten die folgende Ausgabe:
nginx:Die Syntax der Konfigurationsdatei /etc/nginx/nginx.conf ist oknginx:Der Test der Konfigurationsdatei /etc/nginx/nginx.conf ist erfolgreich
Starten Sie als Nächstes den Nginx-Dienst neu, um die Änderungen zu übernehmen:
systemctl startet nginx neu
Führen Sie den folgenden Befehl aus, um den Ausführungsstatus von Nginx zu überprüfen:
systemctl status nginx
Sie sollten die folgende Ausgabe sehen:
Zugriff auf das OpenNMS-Dashboard
Öffnen Sie nun Ihren Webbrowser und greifen Sie über die URL http://opennms.example.com auf die OpenNMS-Weboberfläche zu . Sie sollten die Anmeldeseite von OpenNMS sehen:
Geben Sie den standardmäßigen Benutzernamen und das Passwort als Administrator ein und klicken Sie auf Anmelden Taste. Sie sollten das OpenNMS-Dashboard auf dem folgenden Bildschirm sehen:
Klicken Sie nun auf Admin> Passwort ändern um das standardmäßige Admin-Passwort wie unten gezeigt zu ändern:
Ändern Sie Ihr Standardpasswort und klicken Sie auf Senden Taste. Sie sollten den folgenden Bildschirm sehen:
Schlussfolgerung
Herzliche Glückwünsche! Sie haben OpenNMS mit Nginx erfolgreich als Reverse-Proxy auf dem Debian 11-Server installiert. Sie können nun die Remote-Geräte zu OpenNMS hinzufügen und mit der Überwachung über den Webbrowser beginnen. Fühlen Sie sich frei, mich zu fragen, wenn Sie irgendwelche Fragen haben.