GNU/Linux >> Tutoriales Linux >  >> Debian

Cómo instalar el sistema de monitoreo de red OpenNMS Horizon en Debian 11

OpenNMS es una plataforma gratuita, de código abierto y una de las más poderosas de monitoreo y administración de redes que se utiliza para monitorear dispositivos remotos desde una ubicación central. Admite muchas funcionalidades, incluido el aprovisionamiento, la supervisión de servicios, la gestión de eventos, el soporte de gráficos y más. OpenNMS usa SNMP y JMX y recopila información de sistemas remotos. Se ejecuta en los sistemas operativos Linux y Windows y proporciona una interfaz basada en web para facilitar la supervisión.

En este tutorial, le mostraré cómo instalar OpenNMS en Debian 11.

Requisitos

  • Un servidor que ejecuta Debian 11.
  • Un nombre de dominio válido apuntado con la IP de su servidor.
  • Se configura una contraseña raíz en el servidor.

Instalar Java en Debian 11

OpenNMS es una aplicación basada en Java. Entonces Java debe estar instalado en su servidor. Si no está instalado, puede instalarlo ejecutando el siguiente comando:

apt-get install default-jdk -y

Una vez que Java esté instalado, verifique la versión de Java usando el siguiente comando:

java --version

Obtendrá la versión de Java en el siguiente resultado:

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

De forma predeterminada, OpenNMS no está incluido en el repositorio principal de Debian 11. Por lo tanto, deberá agregar el repositorio oficial de OpenNMS a la APT.

Primero, instale todas las dependencias requeridas usando el siguiente comando:

apt-get install curl gnupg2 wget -y

Una vez que todos los paquetes estén instalados, cree un archivo de repositorio de OpenNMS usando el siguiente comando:

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

Agregue las siguientes líneas:

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

Guarde y cierre el archivo, luego importe la clave GPG con el siguiente comando:

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

Obtendrá el siguiente resultado:

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, actualice la memoria caché del repositorio e instale OpenNMS con el siguiente comando:

apt-get update -y
apt-get install opennms -y

Obtendrá 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, deberá crear una base de datos y un usuario para OpenNMS en PostgreSQL.

Crear una base de datos en PostgreSQL

El servidor PostgreSQL se instaló automáticamente durante el proceso de instalación de OpenNMS.

Primero, inicie el servicio PostgreSQL usando el siguiente comando:

systemctl start postgresql

Luego, conéctese a la instancia de PostgreSQL usando el siguiente comando:

su - postgres

Una vez que esté conectado, cree un usuario para OpenNMS y establezca una contraseña con el siguiente comando:

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

A continuación, cree una base de datos para OpenNMS y establezca una contraseña para el usuario de postgres:

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

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

exit

Una vez que haya terminado, puede continuar con el siguiente paso.

Configurar OpenNMS

A continuación, deberá editar el archivo de origen de datos de OpenNMS y definir las credenciales de su base de datos:

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

Defina las credenciales de su base de datos como se muestra a continuación:

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

Guarde y cierre el archivo cuando haya terminado, luego ejecute el siguiente comando para detectar el entorno Java:

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

Obtendrá el siguiente resultado:

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, ejecute el siguiente comando para completar la configuración de OpenNMS:

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

Obtendrá el siguiente resultado:

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 servicio OpenNMS

Después de configurar OpenNMS, inicie el servicio OpenNMS y habilítelo para que se inicie al reiniciar el sistema con el siguiente comando:

systemctl start opennms
systemctl enable opennms

Puede verificar el estado de OpenNMS usando el siguiente comando:

systemctl status opennms

Obtendrá el siguiente resultado:

? 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 se inicia y escucha en el puerto 8980. Puede verificarlo con el siguiente comando:

ss -antpl | grep 8980

Obtendrá el siguiente resultado:

LISTEN 0      50                      *:8980             *:*    users:(("java",pid=24106,fd=1046))     

Configure Nginx como proxy inverso para OpenNMS

A continuación, se recomienda instalar y configurar Nginx como proxy inverso para OpenNMS. Primero, instale el servidor Nginx con el siguiente comando:

apt-get install nginx -y

Una vez que Nginx esté instalado, cree un archivo de configuración de host virtual de Nginx:

nano /etc/nginx/conf.d/opennms.conf

Agregue 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;

  }
}

Guarde y cierre el archivo, luego verifique el Nginx para cualquier error de configuración de sintaxis:

nginx -t

Obtendrá el siguiente resultado:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

A continuación, reinicie el servicio Nginx para aplicar los cambios:

systemctl restart nginx

Para verificar el estado de ejecución de Nginx, ejecute el siguiente comando:

systemctl status nginx

Debería ver el siguiente resultado:

? 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, abra su navegador web y acceda a la interfaz web de OpenNMS usando la URL http://opennms.example.com . Debería ver la página de inicio de sesión de OpenNMS:

Proporcione el nombre de usuario y la contraseña predeterminados como administrador y haga clic en Iniciar sesión botón. Debería ver el panel de OpenNMS en la siguiente pantalla:

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

Cambie su contraseña predeterminada y haga clic en Enviar botón. Debería ver la siguiente pantalla:

Conclusión

¡Felicidades! Ha instalado correctamente OpenNMS con Nginx como proxy inverso en el servidor Debian 11. Ahora puede agregar los dispositivos remotos a OpenNMS y comenzar a monitorearlos desde el navegador web. Siéntase libre de preguntarme si tiene alguna pregunta.


Debian
  1. Cómo instalar la herramienta de monitoreo Cacti SNMP en Debian 9

  2. Cómo instalar la herramienta de monitoreo Nagios 4.3.x en Debian 9

  3. Instale Observium Network Monitoring en Debian 9

  4. Cómo instalar Gradle en Debian 10

  5. Cómo instalar AnyDesk en Debian 10

Cómo instalar LibreNMS en Debian 11

Cómo instalar PostgreSQL 14 en Debian 11

Cómo instalar webmin en Debian 11

Cómo instalar Cacti Monitoring en Debian 9

Cómo instalar Cacti Monitoring en Debian 10

Cómo instalar OpenNMS en Debian 11