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:
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:
Ahora, haz clic en el icono + para añadir el nuevo host. Deberías ver la siguiente página:
Proporciona el nombre de tu solicitud y haz clic en el botón Aceptar. Deberías ver la siguiente página:
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:
Haz clic en el botón Aceptar. Deberías ver tu nuevo host añadido en la siguiente pantalla:
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.