Ricerca nel sito web

Come installare lo strumento di monitoraggio della rete OpenNMS in CentOS 8


Su questa pagina

  1. Prerequisiti
  2. Per iniziare
  3. Installa OpenNMS
  4. Configura PostgreSQL
  5. Inizializza e avvia OpenNMS
  6. Configura SELinux e Firewall
  7. Accedi all'interfaccia web di OpenNMS
  8. Conclusione

OpenNMS è una piattaforma di monitoraggio e gestione della rete gratuita e open source utilizzata per la gestione delle reti aziendali in tutto il mondo. È basato su Java ed è progettato per gestire migliaia di dispositivi da una posizione centrale. Ha la capacità di scoprire e monitorare automaticamente i servizi o i nodi nella tua rete.

Caratteristiche

  • Supporta SNMP, JMX, WMI, NPRE, NSCLient++ e XMP
  • Architettura guidata dagli eventi
  • Supporta il monitoraggio di dispositivi e applicazioni
  • Scoperta della tipologia e interruzione del percorso
  • Configura ed esegui i monitor di servizio
  • Supporta le topologie di rete Layer 2 e Layer 3

In questo tutorial, ti mostreremo come installare e configurare OpenNMS sul server CentOS 8.

Prerequisiti

  • Un server che esegue CentOS 8.
  • Il server è configurato con una password di root.

Iniziare

OpenNMS è un'applicazione basata su Java. Quindi dovrai installare Java nel tuo sistema. Puoi installarlo con altri pacchetti richiesti eseguendo il seguente comando:

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

Dopo aver installato Java, puoi verificare la versione di Java con il seguente comando:

java -version

Dovresti ottenere il seguente output:

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)

Una volta terminato, puoi procedere al passaggio successivo.

Installa OpenNMS

Per impostazione predefinita, OpenNMS non è disponibile nel repository predefinito di CentOS 8. Quindi dovrai aggiungere il repository OpenNMS al tuo sistema.

Innanzitutto, aggiungi la chiave GPG con il seguente comando:

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

Una volta aggiunta la chiave GPG, eseguire il seguente comando per aggiungere il repository OpenNMS.

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

Successivamente, puoi installare OpenNMS eseguendo il seguente comando:

dnf install opennms -y

Questo installerà OpenNMS, PostgreSQL e altri pacchetti nel tuo server.

Configura PostgreSQL

OpenNMS utilizza PostgreSQL come database back-end. Puoi inizializzare il database PostgreSQL con il seguente comando:

postgresql-setup --initdb --unit postgresql

Dovresti ottenere il seguente output:

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

Successivamente, avvia il servizio PostgreSQL e abilitalo per l'avvio al riavvio del sistema con il seguente comando:

systemctl enable postgresql
systemctl start postgresql

Successivamente, dovrai creare un database e un utente per PostgreSQL.

Innanzitutto, accedi a PostgreSQL con il seguente comando:

su - postgres

Una volta effettuato il login, crea un utente con il seguente comando:

[ ~]$ createuser -P opennms

Ti verrà chiesto di impostare una password come mostrato di seguito:

Enter password for new role: 
Enter it again: 

Successivamente, crea un database con il seguente comando:

[ ~]$ createdb -O opennms opennms

Quindi, imposta la password per l'utente PostgreSQL con il seguente comando;

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

Successivamente, esci dalla shell PostgreSQL con il seguente comando:

[ ~]$ exit;

Successivamente, dovrai modificare la policy di accesso per PostgreSQL. Puoi farlo modificando il file /var/lib/pgsql/data/pg_hba.conf:

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

Trova le seguenti righe:

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

E, li ha sostituiti con le seguenti righe:

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

Salva e chiudi il file, quindi riavvia il servizio PostgreSQL per applicare le modifiche:

systemctl restart postgresql

Successivamente, dovrai definire il tuo database nel file /opt/opennms/etc/opennms-datasources.xml.

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

Modifica le seguenti righe che corrispondono al tuo database:

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

Salva e chiudi il file quando hai finito.

Inizializza e avvia OpenNMS

Successivamente, dovrai inizializzare OpenNMS. Innanzitutto, aggiungi le impostazioni Java con il seguente comando:

/opt/opennms/bin/runjava -s

Dovresti ottenere il seguente output:

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.

Successivamente, inizializza il database eseguendo il seguente comando:

/opt/opennms/bin/install -dis

Successivamente, abilita OpenNMS per l'avvio al riavvio del sistema con il seguente comando:

systemctl enable --now opennms

Dovresti ottenere il seguente output:

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.

Ora puoi controllare lo stato del servizio OpenNMS con il seguente comando:

systemctl status opennms

Dovresti ottenere il seguente output:

? 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.

A questo punto, OpenNMS è avviato e in ascolto sulla porta 8980. Puoi verificarlo con il seguente comando:

ss -antpl | grep :8980

Dovresti ottenere il seguente output:

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

Una volta terminato, puoi procedere al passaggio successivo.

Configura SELinux e Firewall

Per impostazione predefinita, SELinux è abilitato nel server CentOS 8. Quindi dovrai prima disabilitarlo. Puoi disabilitarlo modificando il file /etc/selinux/config:

nano /etc/selinux/config

Trova la seguente riga:

SELINUX=enforcing

E sostituirlo con la seguente riga:

SELINUX=permissive

Salva e chiudi il file, quindi riavvia il sistema per applicare le modifiche.

Successivamente, consenti la porta 8980 tramite firewalld con il seguente comando:

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

Successivamente, ricarica il firewalld per applicare le modifiche:

firewall-cmd --reload

Una volta terminato, puoi procedere al passaggio successivo.

Accedi all'interfaccia Web di OpenNMS

Ora, apri il tuo browser web e accedi all'interfaccia web di OpenNMS usando l'URL http://your-server-ip:8980/opennms. Verrai reindirizzato alla pagina di accesso di OpenNMS:

Fornisci il nome utente amministratore predefinito come admin e la password come admin, quindi fai clic sul pulsante Accedi. Dovresti vedere la seguente pagina:

Fai clic su Opt-in per inviare statistiche di utilizzo anonime a OpenNMS. Dovresti vedere la dashboard di OpenNMS nella pagina seguente:

Fare clic su Admin => Cambia password per modificare la password predefinita. Dovresti vedere la seguente pagina:

Cambia la tua password predefinita e fai clic sul pulsante Invia. Dovresti vedere la seguente pagina:

Fare clic sull'icona + per aggiungere il nuovo host. Dovresti vedere la seguente pagina:

Fornire il nome della nuova richiesta e fare clic sul pulsante OK. Dovresti vedere la seguente pagina:

Fornisci i dettagli del tuo host remoto e fai clic sul pulsante Provisioning. Una volta aggiunto l'host, dovresti vedere la seguente pagina:

Ora, fai clic su Info => Nodi. Dovresti ottenere informazioni dettagliate sull'host remoto nella pagina seguente:

Conclusione

Congratulazioni! hai installato con successo OpenNMS sul server CentOS 8. Ora puoi aggiungere host e dispositivi di rete illimitati a OpenNMS e avviare il monitoraggio dalla posizione centrale.