OpenNMS Netzwerk-Monitoring Tool in CentOS 8 installieren

OpenNMS ist eine freie und quelloffene Plattform für Netzwerküberwachung und Netzwerkmanagement, die zur Verwaltung von Unternehmensnetzwerken auf der ganzen Welt eingesetzt wird. Sie basiert auf Java und ist dafür ausgelegt, Tausende von Geräten von einem zentralen Standort aus zu verwalten. Sie hat die Fähigkeit, die Dienste oder Knoten in Ihrem Netzwerk automatisch zu entdecken und zu überwachen.

Funktionen

  • Unterstützt SNMP, JMX, WMI, NPRE, NSCLient++ und XMP
  • Ereignisgesteuerte Architektur
  • Unterstützt Geräte- und Anwendungsüberwachung
  • Typologieentdeckung und Pfadausfall
  • Konfigurieren und Ausführen von Service-Monitoren
  • Unterstützt Layer-2- und Layer-3-Netzwerktopologien

In diesem Tutorial zeigen wir Ihnen, wie Sie OpenNMS auf einem CentOS 8-Server installieren und konfigurieren.

Voraussetzungen

  • Ein Server mit CentOS 8.
  • Der Server ist mit einem Root-Passwort konfiguriert.

Erste Schritte

OpenNMS ist eine Java-basierte Anwendung. Sie müssen also Java in Ihrem System installieren. Sie können es mit anderen erforderlichen Paketen installieren, indem Sie den folgenden Befehl ausführen:

dnf install java-11-openjdk-devel curl unzip -y

Nach der Installation von Java können Sie die Java-Version mit dem folgenden Befehl verifizieren:

java -version

Sie sollten die folgende Ausgabe erhalten:

openjdk version "11.0.9" 2020-10-20 LTS
OpenJDK Runtime Environment 18.9 (build 11.0.9+11-LTS)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.9+11-LTS, mixed mode, sharing)

Wenn Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.

OpenNMS installieren

Standardmäßig ist OpenNMS im Standard-Repository von CentOS 8 nicht verfügbar. Sie müssen also das OpenNMS-Repository zu Ihrem System hinzufügen.

Fügen Sie zunächst den GPG-Schlüssel mit dem folgenden Befehl hinzu:

rpm --import https://yum.opennms.org/OPENNMS-GPG-KEY

Sobald der GPG-Schlüssel hinzugefügt ist, führen Sie den folgenden Befehl aus, um das OpenNMS-Repo hinzuzufügen.

dnf install https://yum.opennms.org/repofiles/opennms-repo-stable-rhel8.noarch.rpm

Als nächstes können Sie OpenNMS installieren, indem Sie den folgenden Befehl ausführen:

dnf install opennms -y

Dadurch werden OpenNMS, PostgreSQL und andere Pakete auf Ihrem Server installiert.

Konfigurieren Sie PostgreSQL

OpenNMS verwendet PostgreSQL als Datenbank-Backend. Sie können die PostgreSQL-Datenbank mit dem folgenden Kommando initialisieren:

postgresql-setup --initdb --unit postgresql

Sie sollten die folgende Ausgabe erhalten:

 * Initializing database in '/var/lib/pgsql/data'
 * Initialized, logs are in /var/lib/pgsql/initdb_postgresql.log

Als nächstes starten Sie den PostgreSQL-Dienst und aktivieren ihn beim Systemneustart mit folgendem Kommando:

systemctl enable postgresql
systemctl start postgresql

Als nächstes müssen Sie eine Datenbank und einen Benutzer für PostgreSQL anlegen.

Melden Sie sich zunächst mit folgendem Kommando am PostgreSQL an: Als nächstes müssen Sie eine Datenbank und einen Benutzer für PostgreSQL anlegen:

su - postgres

Sobald Sie sich angemeldet haben, erstellen Sie einen Benutzer mit folgendem Kommando: Als nächstes müssen Sie eine Datenbank und einen Benutzer für PostgreSQL anlegen:

[[email protected] ~]$ createuser -P opennms

Sie werden gebeten, ein Passwort festzulegen, das unten angezeigt wird:

Enter password for new role: 
Enter it again: 

Als nächstes erstellen Sie eine Datenbank mit folgendem Kommando: Erstellen Sie eine Datenbank mit folgendem Kommando:

[[email protected] ~]$ createdb -O opennms opennms

Dann setzen Sie das Kennwort für den PostgreSQL-Benutzer mit folgendem Befehl: Sobald Sie sich angemeldet haben, legen Sie einen Benutzer mit folgendem Befehl an

[[email protected] ~]$ psql -c "ALTER USER postgres WITH PASSWORD 'password';"

Nun beenden Sie die PostgreSQL-Shell mit folgendem Befehl:

[[email protected] ~]$ exit;

Schlussendlich müssen Sie die Zugriffsrichtlinie für PostgreSQL ändern. Sie können dies tun, indem Sie die Datei /var/lib/pgsql/data/pg_hba.conf bearbeiten:

nano /var/lib/pgsql/data/pg_hba.conf

Suchen Sie die folgenden Zeilen:

# IPv4 local connections:
host    all             all             127.0.0.1/32            ident
# IPv6 local connections:
host    all             all             ::1/128                 ident

Und, ersetzen Sie sie durch die folgenden Zeilen:

host    all             all             127.0.0.1/32            md5 
host    all             all             ::1/128                 md5

Speichern und schließen Sie die Datei und starten Sie den PostgreSQL-Dienst neu, um die Änderungen zu übernehmen:

systemctl restart postgresql

Als nächstes müssen Sie Ihre Datenbank in der Datei /opt/opennms/etc/opennms-datasources.xml definieren.

nano /opt/opennms/etc/opennms-datasources.xml

Ändern Sie die folgenden Zeilen, die mit Ihrer Datenbank übereinstimmen:

<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="password" />

Speichern und schließen Sie die Datei, wenn Sie fertig sind.

Initialisieren und starten Sie OpenNMS

Als nächstes müssen Sie OpenNMS initialisieren. Fügen Sie zunächst die Java-Einstellungen mit dem folgenden Befehl hinzu:

/opt/opennms/bin/runjava -s

Sie sollten die folgende Ausgabe erhalten:

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-11.0.9.11-0.el8_2.x86_64/bin/java".
runjava: Value of "/usr/lib/jvm/java-11-openjdk-11.0.9.11-0.el8_2.x86_64/bin/java" stored in configuration file.

Als nächstes initialisieren Sie die Datenbank, indem Sie den folgenden Befehl ausführen:

/opt/opennms/bin/install -dis

Als nächstes aktivieren Sie OpenNMS, um beim Systemneustart mit dem folgenden Befehl zu starten:

systemctl enable --now opennms

Sie sollten die folgende Ausgabe erhalten:

Synchronizing state of opennms.service with SysV service script with /usr/lib/systemd/systemd-sysv-install.
Executing: /usr/lib/systemd/systemd-sysv-install enable opennms
Created symlink /etc/systemd/system/multi-user.target.wants/opennms.service ? /usr/lib/systemd/system/opennms.service.

Nun können Sie den Status des OpenNMS-Dienstes mit folgendem Befehl überprüfen:

systemctl status opennms

Sie sollten folgende Ausgabe erhalten: Sie sollten folgende Ausgabe erhalten:

? opennms.service - OpenNMS server
   Loaded: loaded (/usr/lib/systemd/system/opennms.service; enabled; vendor preset: disabled)
   Active: active (running) since Wed 2020-11-25 09:21:32 EST; 13s ago
  Process: 26880 ExecStart=/etc/init.d/opennms -s start (code=exited, status=0/SUCCESS)
 Main PID: 27928 (java)
    Tasks: 67 (limit: 12523)
   Memory: 555.6M
   CGroup: /system.slice/opennms.service
           ??27927 bash /etc/init.d/opennms -s start
           ??27928 /usr/lib/jvm/java-11-openjdk-11.0.9.11-0.el8_2.x86_64/bin/java --add-modules=java.base,java.compiler,java.datatransfer,java>

Nov 25 09:21:42 centos8 opennms[26880]: [DEBUG] System property 'opennms.library.jicmp' set to '/usr/lib64/libjicmp.so.  Attempting to load ji>
Nov 25 09:21:42 centos8 opennms[26880]: [INFO] Successfully loaded jicmp library.
Nov 25 09:21:42 centos8 opennms[26880]: [DEBUG] System property 'opennms.library.jicmp' set to '/usr/lib64/libjicmp.so.  Attempting to load ji>
Nov 25 09:21:42 centos8 opennms[26880]: [INFO] Successfully loaded jicmp library.
Nov 25 09:21:42 centos8 opennms[26880]: [DEBUG] System property 'opennms.library.jicmp6' set to '/usr/lib64/libjicmp6.so.  Attempting to load >
Nov 25 09:21:42 centos8 opennms[26880]: [INFO] Successfully loaded jicmp6 library.
Nov 25 09:21:42 centos8 opennms[26880]: [DEBUG] System property 'opennms.library.jicmp' set to '/usr/lib64/libjicmp.so.  Attempting to load ji>
Nov 25 09:21:42 centos8 opennms[26880]: [INFO] Successfully loaded jicmp library.
Nov 25 09:21:42 centos8 opennms[26880]: [DEBUG] System property 'opennms.library.jicmp6' set to '/usr/lib64/libjicmp6.so.  Attempting to load >
Nov 25 09:21:42 centos8 opennms[26880]: [INFO] Successfully loaded jicmp6 library.

Zu diesem Zeitpunkt wird OpenNMS gestartet und lauscht auf Port 8980. Sie können dies mit dem folgenden Befehl überprüfen:

ss -antpl | grep :8980

Sie sollten die folgende Ausgabe erhalten:

LISTEN   0        50                          *:8980                   *:*       users:(("java",pid=27928,fd=988)) 

Wenn Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.

Konfigurieren von SELinux und Firewall

Standardmäßig ist SELinux auf dem CentOS 8-Server aktiviert. Sie müssen es also zuerst deaktivieren. Sie können es deaktivieren, indem Sie die Datei /etc/selinux/config bearbeiten:

nano /etc/selinux/config

Suchen Sie die folgende Zeile:

SELINUX=enforcing

Und ersetzen Sie sie durch die folgende Zeile:

SELINUX=permissive

Speichern und schließen Sie die Datei und starten Sie das System neu, um die Änderungen zu übernehmen.

Als nächstes lassen Sie Port 8980 durch Firewalld mit dem folgenden Befehl zu:

firewall-cmd --permanent --add-port=8980/tcp

Laden Sie als Nächstes die Firewall neu, um die Änderungen zu übernehmen:

firewall-cmd --reload

Wenn Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.

Zugriff auf die OpenNMS-Webschnittstelle

Öffnen Sie nun Ihren Webbrowser und greifen Sie über die URL http://your-server-ip:8980/opennms auf die OpenNMS-Webschnittstelle zu. Sie werden auf die OpenNMS-Anmeldeseite umgeleitet:

OpenNMS

Geben Sie den Standard-Benutzernamen admin als admin und das Passwort als admin ein und klicken Sie dann auf die Schaltfläche Login. Sie sollten die folgende Seite sehen:

Anmeldung bei OpenNMS

Klicken Sie auf das Opt-in, um anonyme Nutzungsstatistiken an OpenNMS zu senden. Sie sollten das OpenNMS-Dashboard auf der folgenden Seite sehen:

openNMS-Dashboard

Klicken Sie auf die Schaltfläche Admin => Passwort ändern, um das Standardpasswort zu ändern. Sie sollten die folgende Seite sehen: Klicken Sie auf Admin =&gt; Change password, um das Standardpasswort zu ändern:

Administrator-Passwort ändern

Ändern Sie Ihr Standard-Passwort und klicken Sie auf die Schaltfläche Submit. Sie sollten die folgende Seite sehen: Klicken Sie auf Admin =&gt; Change password, um das Standard-Passwort zu ändern:

Passwort erfolgreich geändert

Klicken Sie auf das Symbol +, um den neuen Host hinzuzufügen. Sie sollten die folgende Seite sehen: Klicken Sie auf das Symbol +, um den neuen Host hinzuzufügen:

Neuen Host zur openNMS-Überwachung hinzufügen

Geben Sie den Namen des neuen Suchauftrags ein und klicken Sie auf die Schaltfläche OK. Sie sollten die folgende Seite sehen:

Knoten hinzufügen

Einzelheiten zum Gerät

Geben Sie Ihre Angaben zum Remote-Host ein und klicken Sie auf die Schaltfläche Provision. Sobald der Gastgeber hinzugefügt ist, sollte die folgende Seite angezeigt werden: Geben Sie den Namen des neuen Gastgebers ein und klicken Sie auf die Schaltfläche Bereitstellung:

Neuer Knoten erfolgreich hinzugefügt

Klicken Sie jetzt auf die Schaltfläche Info => Knoten. Sie sollten auf der folgenden Seite detaillierte Informationen über den Remote-Host erhalten:

OpenNMS-Überwachungsknoten

Schlussfolgerung

Herzlichen Glückwunsch! Sie haben OpenNMS erfolgreich auf dem CentOS 8 Server installiert. Sie können nun unbegrenzt viele Netzwerk-Hosts und -Geräte zu OpenNMS hinzufügen und die Überwachung vom zentralen Standort aus starten.

Das könnte dich auch interessieren …