Monitoreo de Red · 7 min read · Dec 07, 2025
Cómo instalar el sistema de monitoreo de red OpenNMS Horizon en Debian 11

OpenNMS es una plataforma de monitoreo y gestión de red gratuita, de código abierto y una de las más poderosas utilizadas para monitorear dispositivos remotos desde una ubicación central. Soporta muchas funcionalidades incluyendo, aprovisionamiento, monitoreo de servicios, gestión de eventos, soporte de gráficos y más. OpenNMS utiliza SNMP y JMX y recopila información de sistemas remotos. Funciona en sistemas operativos Linux y Windows y proporciona una interfaz web para un monitoreo fácil.
En este tutorial, te mostraré cómo instalar OpenNMS en Debian 11.
Prerequisitos
- Un servidor que ejecute Debian 11.
- Un nombre de dominio válido apuntado a la IP de tu servidor.
- Una contraseña de root configurada en el servidor.
Instalar Java en Debian 11
OpenNMS es una aplicación basada en Java. Por lo tanto, Java debe estar instalado en tu servidor. Si no está instalado, puedes instalarlo ejecutando el siguiente comando:
apt-get install default-jdk -yUna vez que Java esté instalado, verifica la versión de Java usando el siguiente comando:
java --versionObtendrás la versión de Java en la siguiente salida:
openjdk 11.0.13 2021-10-19
OpenJDK Runtime Environment (build 11.0.13+8-post-Debian-1deb11u1)
OpenJDK 64-Bit Server VM (build 11.0.13+8-post-Debian-1deb11u1, mixed mode, sharing)
Instalar OpenNMS en Debian 11
Por defecto, OpenNMS no está incluido en el repositorio principal de Debian 11. Por lo tanto, necesitarás agregar el repositorio oficial de OpenNMS al APT.
Primero, instala todas las dependencias requeridas usando el siguiente comando:
apt-get install curl gnupg2 wget -yUna vez que todos los paquetes estén instalados, crea un archivo de repositorio de OpenNMS usando el siguiente comando:
nano /etc/apt/sources.list.d/opennms.listAgrega las siguientes líneas:
deb https://debian.opennms.org stable main
deb-src https://debian.opennms.org stable main
Guarda y cierra el archivo, luego importa la clave GPG con el siguiente comando:
wget -O - https://debian.opennms.org/OPENNMS-GPG-KEY | apt-key add -Obtendrás la siguiente salida:
Connecting to debian.opennms.org (debian.opennms.org)|3.214.84.83|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1335 (1.3K)
Saving to: ‘STDOUT’
- 100%[=================================================================>] 1.30K --.-KB/s in 0s
2021-11-28 07:58:07 (16.0 MB/s) - written to stdout [1335/1335]
OK
A continuación, actualiza la caché del repositorio e instala OpenNMS con el siguiente comando:
apt-get update -y
apt-get install opennms -yObtendrás el siguiente error durante la instalación:
Failed to install iplike into the template1 or opennms databases. See /tmp/install_iplike.log for details. To skip this step and install manually, set the
environment variable SKIP_IPLIKE_INSTALL before installing this package. To install iplike into your database, use the /usr/sbin/install_iplike.sh script. See
`install_iplike.sh -h` for more details.
Para resolver este error, necesitarás crear una base de datos y un usuario para OpenNMS en PostgreSQL.
Crear una base de datos en PostgreSQL
El servidor PostgreSQL se instala automáticamente durante el proceso de instalación de OpenNMS.
Primero, inicia el servicio de PostgreSQL usando el siguiente comando:
systemctl start postgresqlA continuación, conéctate a la instancia de PostgreSQL usando el siguiente comando:
su - postgresUna vez que estés conectado, crea un usuario para OpenNMS y establece una contraseña usando el siguiente comando:
createuser opennms
psql -c "ALTER USER opennms WITH PASSWORD 'opennms';"A continuación, crea una base de datos para OpenNMS y establece una contraseña para el usuario postgres:
createdb -O opennms opennms
psql -c "ALTER USER postgres WITH PASSWORD 'securepassword';"A continuación, sal del shell de PostgreSQL con el siguiente comando:
exitUna vez que hayas terminado, puedes proceder al siguiente paso.
Configurar OpenNMS
A continuación, necesitarás editar el archivo de origen de datos de OpenNMS y definir tus credenciales de base de datos:
nano /usr/share/opennms/etc/opennms-datasources.xmlDefine tus credenciales de base de datos como se muestra a continuación:
Guarda y cierra el archivo cuando hayas terminado, luego ejecuta el siguiente comando para detectar el entorno de Java:
sudo -u opennms /usr/share/opennms/bin/runjava -sObtendrá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, ejecuta el siguiente comando para completar la configuración de OpenNMS:
sudo -u opennms /usr/share/opennms/bin/install -disObtendrás la siguiente salida:
Finished in 0 seconds
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!
Iniciar el servicio OpenNMS
Después de configurar OpenNMS, inicia el servicio OpenNMS y habilítalo para que se inicie en el reinicio del sistema usando el siguiente comando:
systemctl start opennms
systemctl enable opennmsPuedes verificar el estado de OpenNMS usando el siguiente comando:
systemctl status opennmsObtendrás la siguiente salida:
? opennms.service - OpenNMS server
Loaded: loaded (/lib/systemd/system/opennms.service; disabled; vendor preset: enabled)
Active: active (running) since Sun 2021-11-28 08:10:51 UTC; 16s ago
Process: 22990 ExecStart=/usr/share/opennms/bin/opennms -s start (code=exited, status=0/SUCCESS)
Main PID: 24106 (java)
Tasks: 68 (limit: 4679)
Memory: 559.2M
CPU: 48.083s
CGroup: /system.slice/opennms.service
??24105 bash /usr/share/opennms/bin/opennms -s start
??24106 /usr/lib/jvm/java-11-openjdk-amd64/bin/java --add-modules=java.base,java.compiler,java.datatransfer,java.desktop,java.in>
Nov 28 08:11:02 debian11 opennms[24106]: [DEBUG] System property 'opennms.library.jicmp' set to '/usr/lib/jni/libjicmp.so. Attempting to loa>
Nov 28 08:11:02 debian11 opennms[24106]: [INFO] Successfully loaded jicmp library.
Nov 28 08:11:02 debian11 opennms[24106]: [DEBUG] System property 'opennms.library.jicmp6' set to '/usr/lib/jni/libjicmp6.so. Attempting to l>
Nov 28 08:11:02 debian11 opennms[24106]: [INFO] Successfully loaded jicmp6 library.
Nov 28 08:11:02 debian11 opennms[24106]: [DEBUG] System property 'opennms.library.jicmp' set to '/usr/lib/jni/libjicmp.so. Attempting to loa>
Nov 28 08:11:02 debian11 opennms[24106]: [INFO] Successfully loaded jicmp library.
Nov 28 08:11:02 debian11 opennms[24106]: [DEBUG] System property 'opennms.library.jicmp6' set to '/usr/lib/jni/libjicmp6.so. Attempting to l>
Nov 28 08:11:02 debian11 opennms[24106]: [INFO] Successfully loaded jicmp6 library.
Nov 28 08:11:07 debian11 opennms[24106]: Nov 28, 2021 8:11:07 AM org.hibernate.validator.internal.util.Version
Nov 28 08:11:07 debian11 opennms[24106]: INFO: HV000001: Hibernate Validator 4.3.2.Final
En este punto, OpenNMS está iniciado y escucha en el puerto 8980. Puedes verificarlo con el siguiente comando:
ss -antpl | grep 8980Obtendrás la siguiente salida:
LISTEN 0 50 *:8980 *:* users:(("java",pid=24106,fd=1046))
Configurar Nginx como un proxy inverso para OpenNMS
A continuación, se recomienda instalar y configurar Nginx como un proxy inverso para OpenNMS. Primero, instala el servidor Nginx con el siguiente comando:
apt-get install nginx -yUna vez que Nginx esté instalado, crea un archivo de configuración de host virtual de Nginx:
nano /etc/nginx/conf.d/opennms.confAgrega la siguiente configuración:
server {
listen 80;
server_name opennms.example.com;
access_log /var/log/nginx/opennms.access.log;
error_log /var/log/nginx/opennms.error.log;
location /
{
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-OpenNMS-Server-URL https://nms.hacc.edu/;
proxy_pass http://server-ip:8980;
}
}
Guarda y cierra el archivo, luego verifica la configuración de Nginx en busca de errores de sintaxis:
ginx -tObtendrás la siguiente salida:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
A continuación, reinicia el servicio Nginx para aplicar los cambios:
systemctl restart nginxPara verificar el estado de Nginx en ejecución, ejecuta el siguiente comando:
systemctl status nginxDeberías ver la siguiente salida:
? nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
Active: active (running) since Sun 2021-11-28 08:17:14 UTC; 6s ago
Docs: man:nginx(8)
Process: 25964 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Process: 25965 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Main PID: 25967 (nginx)
Tasks: 3 (limit: 4679)
Memory: 3.2M
CPU: 53ms
CGroup: /system.slice/nginx.service
??25967 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
??25968 nginx: worker process
??25969 nginx: worker process
Nov 28 08:17:14 debian11 systemd[1]: Starting A high performance web server and a reverse proxy server...
Nov 28 08:17:14 debian11 systemd[1]: Started A high performance web server and a reverse proxy server.
Acceder al panel de OpenNMS
Ahora, abre tu navegador web y accede a la interfaz web de OpenNMS usando la URL http://opennms.example.com. Deberías ver la página de inicio de sesión de OpenNMS:

Proporciona el nombre de usuario y la contraseña predeterminados como admin y haz clic en el botón Iniciar sesión. Deberías ver el panel de OpenNMS en la siguiente pantalla:

Ahora, haz clic en admin > Cambiar contraseña para cambiar la contraseña predeterminada de admin como se muestra a continuación:

Cambia tu contraseña predeterminada y haz clic en el botón Enviar. Deberías ver la siguiente pantalla:

Conclusión
¡Felicidades! has instalado con éxito OpenNMS con Nginx como un proxy inverso en el servidor Debian 11. Ahora puedes agregar los dispositivos remotos a OpenNMS y comenzar a monitorearlos desde el navegador web. No dudes en preguntarme si tienes alguna pregunta.
Recibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.