Cómo instalar la solución de monitorización de red OpenNMS en Debian 11

OpenNMS es un sistema de gestión de red abierto, gratuito y de código abierto, escrito en Java. Es una aplicación de monitorización de red que recoge información crítica de los hosts locales y de red mediante el protocolo SNMP. Puede instalarse en sistemas operativos Linux y Windows y proporciona una interfaz basada en la web para supervisar el tráfico de la red a través de un navegador web. Ofrece un amplio conjunto de funciones, como el aprovisionamiento, la supervisión de servicios, la gestión de eventos, el soporte de gráficos y la medición del rendimiento.

En este post, te mostraremos cómo instalar OpenNMS en Debian 11.

Requisitos previos

  • Un servidor con Debian 11.
  • Una contraseña de root configurada en el servidor.

Instalar las dependencias necesarias

En primer lugar, actualiza los paquetes de tu sistema a la última versión utilizando el siguiente comando:

apt-get update -y

Una vez actualizados todos los paquetes, también tendrás que instalar Java y otras dependencias necesarias en tu servidor. Puedes instalarlos todos ejecutando el siguiente comando:

apt-get install default-jdk gnupg2 curl wget -y

Una vez instalados todos los paquetes, puedes verificar la versión de Java con el siguiente comando:

java -version

Deberías ver la versión de Java en la siguiente salida:

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 vez que hayas terminado, puedes pasar al siguiente paso.

Añadir el repositorio de OpenNMS

Por defecto, el paquete OpenNMS no está incluido en el repositorio por defecto de Debian 11. Así que tendrás que añadir el repositorio de OpenNMS a la APT. Puedes añadirlo con el siguiente comando:

nano /etc/apt/sources.list.d/opennms.list

Añade las siguientes líneas:

deb https://debian.opennms.org stable main
deb-src https://debian.opennms.org stable main

Guarda y cierra el archivo y luego añade la clave GPG con el siguiente comando:

wget -O - https://debian.opennms.org/OPENNMS-GPG-KEY | apt-key add -

Una vez añadidos el repositorio y la clave, actualiza la caché del repositorio con el siguiente comando:

apt-get update -y

Una vez que hayas terminado, puedes pasar al siguiente paso.

Instalar OpenNMS en Debian 11

Ahora, ejecuta el siguiente comando para instalar el paquete OpenNMS en tu sistema.

apt-get install opennms -y

Una vez instalado el OpenNMS, deberías ver la siguiente salida:

 *** 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) ...

El comando anterior también instalará automáticamente el paquete del servidor PostgreSQL. Puedes iniciarlo con el siguiente comando:

systemctl start postgresql

A continuación, comprueba el estado del PostgreSQL utilizando el siguiente comando:

systemctl status postgresql

Obtendrás la siguiente salida:,/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 vez que hayas terminado, puedes pasar al siguiente paso.

Crear una base de datos y un usuario para OpenNMS

A continuación, tendrás que crear una base de datos y un usuario para OpenNMS. En primer lugar, inicia sesión en PostgreSQL con el siguiente comando:

su - postgres

Una vez que hayas iniciado la sesión, crea un usuario con el siguiente comando:

createuser opennms

A continuación, establece una contraseña para el usuario opennms con el siguiente comando

psql -c "ALTER USER opennms WITH PASSWORD 'opennms';"

A continuación, crea una base de datos para OpenNMS con el siguiente comando

createdb -O opennms opennms

A continuación, establece una contraseña para el usuario Postgres con el siguiente comando

psql -c "ALTER USER postgres WITH PASSWORD 'securepassword';"

A continuación, sal del shell de PostgreSQL con el siguiente comando

exit

Una vez que hayas terminado, puedes pasar al siguiente paso.

Configurar OpenNMS

A continuación, tendrás que editar el archivo de origen de datos de OpenNMS y definir la configuración de tu base de datos.

nano /usr/share/opennms/etc/opennms-datasources.xml

Cambia las siguientes líneas según la configuración de tu base de datos:

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

Guarda y cierra el archivo cuando hayas terminado.

Inicializar e iniciar OpenNMS

En primer lugar, tendrás que integrar OpenNMS con Java. Puedes hacerlo ejecutando el siguiente comando:

/usr/share/opennms/bin/runjava -s

Obtendrás la siguiente salida:

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.

A continuación, inicializa la base de datos y detecta las bibliotecas del sistema mediante el siguiente comando:

/usr/share/opennms/bin/install -dis

Obtendrás la siguiente salida:

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!

Por último, inicia el OpenNMS y permite que se inicie al reiniciar el sistema:

systemctl start opennms
systemctl enable opennms

También puedes verificar el estado del OpenNMS con el siguiente comando:

systemctl status opennms

Deberías ver la siguiente salida:

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

En este punto, OpenNMS está iniciado y escucha en el puerto 8980. Puedes comprobarlo con el siguiente comando:

ss -antpl | grep 8980

Obtendrás la siguiente salida:

LISTEN 0      50                      *:8980             *:*    users:(("java",pid=23326,fd=815)) 

Accede a la interfaz web de OpenNMS

Ahora, abre tu navegador web y accede a la consola web de OpenNMS utilizando la URL http://your-server-ip:8980/opennms. Deberías ver la página de acceso a OpenNMS:

Inicio de sesión en OpenNMS

Proporciona el nombre de usuario y la contraseña de administrador por defecto como admin/admin y haz clic en el botón de inicio de sesión. Deberías ver el panel de control de OpenNMS en la siguiente página:

Panel de control de OpenNMS

Ahora, haz clic en el icono + para añadir el nuevo host. Deberías ver la siguiente página:

Añadir un nuevo nodo

Proporciona el nombre de tu solicitud y haz clic en el botón Aceptar. Deberías ver la siguiente página:

Ajustes del nodo

Ajustes del dispositivo

Proporciona el nombre de tu host remoto, la IP, el nombre de usuario, la contraseña, el método de acceso y haz clic en el botón Aprovisionar. Una vez añadido el host, obtendrás la siguiente pantalla:

Nodo añadido con éxito

Haz clic en el botón Aceptar. Deberías ver tu nuevo host añadido en la siguiente pantalla:

Monitorización de la red OpenNMS

Conclusión

Enhorabuena! has instalado y configurado con éxito OpenNMS en Debian 11. Ahora puedes añadir más hosts a OpenNMS y empezar a monitorizarlos desde la interfaz basada en la web.

También te podría gustar...