Come installare lo strumento di monitoraggio della rete OpenNMS in CentOS 8
Su questa pagina
- Prerequisiti
- Per iniziare
- Installa OpenNMS
- Configura PostgreSQL
- Inizializza e avvia OpenNMS
- Configura SELinux e Firewall
- Accedi all'interfaccia web di OpenNMS
- 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.