OpenNMS è un Open Network Management System gratuito e open source scritto in Java. È un'applicazione di monitoraggio della rete che raccoglie informazioni critiche da host locali e di rete utilizzando il protocollo SNMP. Può essere installato su sistemi operativi Linux e Windows e fornisce un'interfaccia web-based per monitorare il traffico di rete attraverso un browser web. Offre un ricco set di funzionalità tra cui provisioning, monitoraggio dei servizi, gestione degli eventi, supporto per la creazione di grafici e misurazione delle prestazioni.
In questo post, ti mostreremo come installare OpenNMS su Debian 11.
Prerequisiti
- Un server che esegue Debian 11.
- Sul server è configurata una password di root.
Installa le dipendenze richieste
Innanzitutto, aggiorna i pacchetti di sistema all'ultima versione utilizzando il comando seguente:
apt-get update -y
Una volta che tutti i pacchetti sono stati aggiornati, dovrai anche installare Java e altre dipendenze richieste sul tuo server. Puoi installarli tutti eseguendo il seguente comando:
apt-get install default-jdk gnupg2 curl wget -y
Una volta installati tutti i pacchetti, puoi verificare la versione Java con il seguente comando:
java -version
Dovresti vedere la versione Java nel seguente output:
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)
Una volta terminato, puoi procedere al passaggio successivo.
Aggiungi repository OpenNMS
Per impostazione predefinita, il pacchetto OpenNMS non è incluso nel repository predefinito di Debian 11. Quindi dovrai aggiungere il repository OpenNMS all'APT. Puoi aggiungerlo con il seguente comando:
nano /etc/apt/sources.list.d/opennms.list
Aggiungi le seguenti righe:
deb https://debian.opennms.org stable main deb-src https://debian.opennms.org stable main
Salva e chiudi il file, quindi aggiungi la chiave GPG con il seguente comando:
wget -O - https://debian.opennms.org/OPENNMS-GPG-KEY | apt-key add -
Una volta aggiunti il repository e la chiave, aggiorna la cache del repository con il seguente comando:
apt-get update -y
Una volta terminato, puoi procedere al passaggio successivo.
Installa OpenNMS su Debian 11
Ora, esegui il seguente comando per installare il pacchetto OpenNMS sul tuo sistema.
apt-get install opennms -y
Una volta installato OpenNMS, dovresti vedere il seguente output:
*** 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) ...
Il comando precedente installerà automaticamente anche il pacchetto del server PostgreSQL. Puoi avviarlo usando il seguente comando:
systemctl start postgresql
Quindi, controlla lo stato di PostgreSQL usando il seguente comando:
systemctl status postgresql
Otterrai il seguente output:,/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.
Una volta terminato, puoi procedere al passaggio successivo.
Crea un database e un utente per OpenNMS
Successivamente, dovrai creare un database e un utente per OpenNMS. Innanzitutto, accedi a PostgreSQL con il seguente comando:
su - postgres
Una volta effettuato l'accesso, crea un utente con il seguente comando:
createuser opennms
Quindi, imposta una password per l'utente opennms con il seguente comando:
psql -c "ALTER USER opennms WITH PASSWORD 'opennms';"
Quindi, crea un database per OpenNMS con il seguente comando:
createdb -O opennms opennms
Quindi, imposta una password per l'utente Postgres con il seguente comando:
psql -c "ALTER USER postgres WITH PASSWORD 'securepassword';"
Quindi, esci dalla shell di PostgreSQL usando il seguente comando:
exit
Una volta terminato, puoi procedere al passaggio successivo.
Configura OpenNMS
Successivamente, dovrai modificare il file di origine dati OpenNMS e definire le impostazioni del database.
nano /usr/share/opennms/etc/opennms-datasources.xml
Modifica le seguenti righe in base alle impostazioni del 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="securepassword" />
Salva e chiudi il file quando hai finito.
Inizializza e avvia OpenNMS
Innanzitutto, dovrai integrare OpenNMS con Java. Puoi farlo eseguendo il seguente comando:
/usr/share/opennms/bin/runjava -s
Otterrai 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-amd64/bin/java". runjava: Value of "/usr/lib/jvm/java-11-openjdk-amd64/bin/java" stored in configuration file.
Quindi, inizializza il database e rileva le librerie di sistema utilizzando il comando seguente:
/usr/share/opennms/bin/install -dis
Otterrai il seguente output:
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!
Infine, avvia OpenNMS e abilitalo all'avvio al riavvio del sistema:
systemctl start opennms
systemctl enable opennms
Puoi anche verificare lo stato di OpenNMS con il seguente comando:
systemctl status opennms
Dovresti vedere il seguente output:
? 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.
A questo punto OpenNMS viene avviato ed è in ascolto sulla porta 8980. Puoi verificarlo con il seguente comando:
ss -antpl | grep 8980
Otterrai il seguente output:
LISTEN 0 50 *:8980 *:* users:(("java",pid=23326,fd=815))
Accedi all'interfaccia Web OpenNMS
Ora apri il tuo browser web e accedi alla console web di OpenNMS utilizzando l'URL http://your-server-ip:8980/opennms . Dovresti vedere la pagina di accesso di OpenNMS:
Fornisci il nome utente e la password dell'amministratore predefiniti come amministratore/amministratore e fai clic su Accedi pulsante. Dovresti vedere la dashboard di OpenNMS nella pagina seguente:
Ora, fai clic su + icona per aggiungere il nuovo host. Dovresti vedere la seguente pagina:
Fornisci il nome della tua richiesta e fai clic su OK . Dovresti vedere la seguente pagina:
Fornisci il nome del tuo host remoto, IP, nome utente, password, metodo di accesso e fai clic su Fornitura pulsante. Una volta aggiunto l'host, apparirà la seguente schermata:
Fai clic su Ok pulsante. Dovresti vedere il tuo host appena aggiunto nella schermata seguente:
Conclusione
Congratulazioni! hai installato e configurato correttamente OpenNMS su Debian 11. Ora puoi aggiungere più host a OpenNMS e iniziare a monitorarli dall'interfaccia basata sul web.