Cómo instalar la herramienta de monitoreo de red OpenNMS en CentOS 8

OpenNMS

OpenNMS es una plataforma de administraci√≥n de red y monitoreo de red gratuita y de c√≥digo abierto que se utiliza para administrar redes empresariales en todo el mundo. Se basa en Java y est√° dise√Īado para administrar miles de dispositivos desde una ubicaci√≥n central. Tiene la capacidad de descubrir y monitorear los servicios o nodos autom√°ticamente en su red.

Características

  • Soporta SNMP, JMX, WMI, NPRE, NSCLient++ y XMP
  • Arquitectura impulsada por eventos
  • Admite monitoreo de dispositivos y aplicaciones
  • Descubrimiento de tipolog√≠a y corte de ruta
  • Configurar y ejecutar monitores de servicio
  • Admite topolog√≠as de red de capa 2 y capa 3

En este tutorial, le mostraremos cómo instalar y configurar OpenNMS en el servidor CentOS 8.

requisitos previos

  • Un servidor que ejecuta CentOS 8.
  • Se configura una contrase√Īa de root en el servidor.

Empezando

OpenNMS es una aplicación basada en Java. Por lo tanto, deberá instalar Java en su sistema. Puede instalarlo con otros paquetes necesarios ejecutando el siguiente comando:

dnf install java-11-openjdk-devel curl unzip -y

Después de instalar Java, puede verificar la versión de Java con el siguiente comando:

java -version

Deberías obtener el siguiente resultado:

openjdk version "11.0.9" 2020-10-20 LTS
OpenJDK Runtime Environment 18.9 (build 11.0.9+11-LTS)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.9+11-LTS, mixed mode, sharing)

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

Instalar OpenNMS

De forma predeterminada, OpenNMS no est√° disponible en el repositorio predeterminado de CentOS 8. Por lo tanto, deber√° agregar el repositorio OpenNMS a su sistema.

Primero, agregue la clave GPG con el siguiente comando:

rpm --import https://yum.opennms.org/OPENNMS-GPG-KEY

Una vez que se agrega la clave GPG, ejecute el siguiente comando para agregar el repositorio de OpenNMS.

dnf install https://yum.opennms.org/repofiles/opennms-repo-stable-rhel8.noarch.rpm

A continuación, puede instalar OpenNMS ejecutando el siguiente comando:

dnf install opennms -y

Esto instalar√° OpenNMS, PostgreSQL y otros paquetes en su servidor.

Configurar PostgreSQL

OpenNMS utiliza PostgreSQL como base de datos. Puede inicializar la base de datos PostgreSQL con el siguiente comando:

postgresql-setup --initdb --unit postgresql

Deberías obtener el siguiente resultado:

 * Initializing database in '/var/lib/pgsql/data'
 * Initialized, logs are in /var/lib/pgsql/initdb_postgresql.log

A continuación, inicie el servicio PostgreSQL y habilítelo para que se inicie al reiniciar el sistema con el siguiente comando:

systemctl enable postgresql
systemctl start postgresql

A continuación, deberá crear una base de datos y un usuario para PostgreSQL.

Primero, inicie sesión en PostgreSQL con el siguiente comando:

su - postgres

Una vez que inicie sesión, cree un usuario con el siguiente comando:

[[email protected] ~]$ createuser -P opennms

Se le pedir√° que establezca una contrase√Īa como se muestra a continuaci√≥n:

Enter password for new role: 
Enter it again: 

A continuación, cree una base de datos con el siguiente comando:

[[email protected] ~]$ createdb -O opennms opennms

A continuaci√≥n, establezca la contrase√Īa para el usuario de PostgreSQL con el siguiente comando;

[[email protected] ~]$ psql -c "ALTER USER postgres WITH PASSWORD 'password';"

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

[[email protected] ~]$ exit;

A continuación, deberá modificar la política de acceso para PostgreSQL. Puede hacerlo editando el archivo /var/lib/pgsql/data/pg_hba.conf:

nano /var/lib/pgsql/data/pg_hba.conf

Encuentra las siguientes líneas:

# IPv4 local connections:
host    all             all             127.0.0.1/32            ident
# IPv6 local connections:
host    all             all             ::1/128                 ident

Y las reemplazó con las siguientes líneas: Anuncio

host    all             all             127.0.0.1/32            md5 
host    all             all             ::1/128                 md5

Guarde y cierre el archivo, luego reinicie el servicio PostgreSQL para aplicar los cambios:

systemctl restart postgresql

A continuación, deberá definir su base de datos en el archivo /opt/opennms/etc/opennms-datasources.xml.

nano /opt/opennms/etc/opennms-datasources.xml

Cambie las siguientes líneas que coincidan con su 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="password" />

Guarde y cierre el archivo cuando haya terminado.

Inicializar e iniciar OpenNMS

A continuación, deberá inicializar OpenNMS. Primero, agregue la configuración de Java con el siguiente comando:

/opt/opennms/bin/runjava -s

Deberías obtener 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-11.0.9.11-0.el8_2.x86_64/bin/java".
runjava: Value of "/usr/lib/jvm/java-11-openjdk-11.0.9.11-0.el8_2.x86_64/bin/java" stored in configuration file.

A continuación, inicialice la base de datos ejecutando el siguiente comando:

/opt/opennms/bin/install -dis

A continuación, habilite OpenNMS para que se inicie al reiniciar el sistema con el siguiente comando:

systemctl enable --now opennms

Deberías obtener el siguiente resultado:

Synchronizing state of opennms.service with SysV service script with /usr/lib/systemd/systemd-sysv-install.
Executing: /usr/lib/systemd/systemd-sysv-install enable opennms
Created symlink /etc/systemd/system/multi-user.target.wants/opennms.service ‚Üí /usr/lib/systemd/system/opennms.service.

Ahora, puede verificar el estado del servicio OpenNMS con el siguiente comando:

systemctl status opennms

Deberías obtener el siguiente resultado:

? opennms.service - OpenNMS server
   Loaded: loaded (/usr/lib/systemd/system/opennms.service; enabled; vendor preset: disabled)
   Active: active (running) since Wed 2020-11-25 09:21:32 EST; 13s ago
  Process: 26880 ExecStart=/etc/init.d/opennms -s start (code=exited, status=0/SUCCESS)
 Main PID: 27928 (java)
    Tasks: 67 (limit: 12523)
   Memory: 555.6M
   CGroup: /system.slice/opennms.service
           ??27927 bash /etc/init.d/opennms -s start
           ??27928 /usr/lib/jvm/java-11-openjdk-11.0.9.11-0.el8_2.x86_64/bin/java --add-modules=java.base,java.compiler,java.datatransfer,java>

Nov 25 09:21:42 centos8 opennms[26880]: [DEBUG] System property 'opennms.library.jicmp' set to '/usr/lib64/libjicmp.so.  Attempting to load ji>
Nov 25 09:21:42 centos8 opennms[26880]: [INFO] Successfully loaded jicmp library.
Nov 25 09:21:42 centos8 opennms[26880]: [DEBUG] System property 'opennms.library.jicmp' set to '/usr/lib64/libjicmp.so.  Attempting to load ji>
Nov 25 09:21:42 centos8 opennms[26880]: [INFO] Successfully loaded jicmp library.
Nov 25 09:21:42 centos8 opennms[26880]: [DEBUG] System property 'opennms.library.jicmp6' set to '/usr/lib64/libjicmp6.so.  Attempting to load >
Nov 25 09:21:42 centos8 opennms[26880]: [INFO] Successfully loaded jicmp6 library.
Nov 25 09:21:42 centos8 opennms[26880]: [DEBUG] System property 'opennms.library.jicmp' set to '/usr/lib64/libjicmp.so.  Attempting to load ji>
Nov 25 09:21:42 centos8 opennms[26880]: [INFO] Successfully loaded jicmp library.
Nov 25 09:21:42 centos8 opennms[26880]: [DEBUG] System property 'opennms.library.jicmp6' set to '/usr/lib64/libjicmp6.so.  Attempting to load >
Nov 25 09:21:42 centos8 opennms[26880]: [INFO] Successfully loaded jicmp6 library.

En este punto, OpenNMS se inicia y escucha en el puerto 8980. Puede verificarlo con el siguiente comando:

ss -antpl | grep :8980

Deberías obtener el siguiente resultado:

LISTEN   0        50                          *:8980                   *:*       users:(("java",pid=27928,fd=988)) 

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

Configurar SELinux y Firewall

De manera predeterminada, SELinux est√° habilitado en el servidor CentOS 8. Por lo tanto, deber√° desactivarlo primero. Puede desactivarlo editando el archivo /etc/selinux/config:

nano /etc/selinux/config

Encuentra la siguiente línea:

SELINUX=enforcing

Y, reemplácelo con la siguiente línea:

SELINUX=permissive

Guarde y cierre el archivo y luego reinicie el sistema para aplicar los cambios.

A continuación, permita el puerto 8980 a través de firewalld con el siguiente comando:

firewall-cmd --permanent --add-port=8980/tcp

A continuación, vuelva a cargar el firewalld para aplicar los cambios:

firewall-cmd --reload

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

Acceder a la interfaz web de OpenNMS

Ahora, abra su navegador web y acceda a la interfaz web de OpenNMS usando la URL http://su-servidor-ip:8980/opennms. Será redirigido a la página de inicio de sesión de OpenNMS:

OpenNMS

Proporcione el nombre de usuario de administrador predeterminado como administrador y la contrase√Īa como administrador y luego haga clic en el Acceso bot√≥n. Deber√≠as ver la siguiente p√°gina:

Iniciar sesión en OpenNMS

Haga clic en el Optar en para enviar estadísticas de uso anónimas a OpenNMS. Debería ver el panel de control de OpenNMS en la siguiente página:

Panel de control de OpenNMS

Haga clic en el Administrador => Cambiar contrase√Īa para cambiar la contrase√Īa predeterminada. Deber√≠as ver la siguiente p√°gina:

Cambiar contrase√Īa de administrador

Cambie su contrase√Īa predeterminada y haga clic en el Enviar bot√≥n. Deber√≠as ver la siguiente p√°gina:

Contrase√Īa cambiada con √©xito

Haga clic en el + icono para agregar el nuevo host. Deberías ver la siguiente página:

Agregar nuevo host a la supervisión de openNMS

Proporcione el nombre de la nueva solicitud y haga clic en el OK botón. Deberías ver la siguiente página:

Agregar nodo

Detalles del dispositivo

Proporcione los detalles de su host remoto y haga clic en el Disposición botón. Una vez que se agrega el host, debería ver la siguiente página:

Nuevo nodo agregado con éxito

Ahora, haga clic en el Información => Nodos. Debe obtener información detallada del host remoto en la siguiente página:

Nodo de supervisión de OpenNMS

Conclusión

¡Felicidades! ha instalado con éxito OpenNMS en el servidor CentOS 8. Ahora puede agregar hosts y dispositivos de red ilimitados a OpenNMS y comenzar a monitorear desde la ubicación central.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *