Cómo configurar la solución de monitorización de red OpenNMS en Ubuntu 20.04 LTS

OpenNMS es un sistema de gestión de redes gratuito, de código abierto y de nivel empresarial que se utiliza para supervisar un número ilimitado de dispositivos desde la ubicación central. Funciona descubriendo todos los dispositivos de la red y supervisando los servicios automáticamente. Está basado en Java y diseñado para supervisar servicios críticos en máquinas remotas mediante SNMP y JMX. Se puede instalar en los principales sistemas operativos, como Windows, Linux/Unix, Mac y Solaris. 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.

Actualmente, OpenNMS está disponible en dos ediciones Horizon y Meridian. Horizon está diseñada para la monitorización y gestión de entornos informáticos, mientras que Meridian está pensada para empresas que buscan estabilidad y soporte a largo plazo.

En este tutorial, explicaremos cómo instalar OpenNMS con Docker en Ubuntu 20.04.

Requisitos previos

  • Un servidor con Ubuntu 20.04.
  • Una contraseña de root configurada en tu servidor.

Cómo empezar

Antes de empezar, siempre es una buena idea actualizar los paquetes del sistema a la última versión. Puedes actualizarlos con el siguiente comando:

apt-get update -y
apt-get upgrade -y

Después de actualizar todos los paquetes, instala otras dependencias necesarias con el siguiente comando:

apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common -y

Una vez instaladas todas las dependencias, puedes pasar al siguiente paso.

Instalar Docker y Docker Compose

Por defecto, la última versión de Docker no está disponible en el repositorio por defecto de Ubuntu 20.04. Así que se recomienda instalar Docker desde el repositorio oficial de Docker.

Primero, descarga y añade la clave GPT con el siguiente comando:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -

A continuación, añade el repositorio de Docker a tu sistema con el siguiente comando:

add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

Una vez añadido el repositorio, instala el Docker y el Docker compose ejecutando el siguiente comando:

apt-get install docker-ce docker-ce-cli containerd.io docker-compose -y

Una vez instalados ambos, verifica el estado del Docker mediante el siguiente comando:

systemctl status docker

Deberías obtener la siguiente salida:

? docker.service - Docker Application Container Engine
     Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
     Active: active (running) since Sat 2020-07-04 04:43:52 UTC; 19s ago
TriggeredBy: ? docker.socket
       Docs: https://docs.docker.com
   Main PID: 38468 (dockerd)
      Tasks: 10
     Memory: 36.3M
     CGroup: /system.slice/docker.service
             ??38468 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

Para comprobar la versión de Docker, ejecuta el siguiente comando:

docker -v

Deberías ver la siguiente salida:

Docker version 19.03.12, build 48a66213fe

Para comprobar la versión de Docker compose, ejecuta el siguiente comando:

docker-compose -v

Deberías ver la siguiente salida:

docker-compose version 1.25.0, build unknown

Instalar OpenNMS

A continuación, crea un directorio de proyecto para OpenNMS con el siguiente comando

mkdir opennms

A continuación, cambia el directorio a opennms y crea un nuevo archivo docker-compose.yml para instalar OpenNMS.

cd opennms
nano docker-compose.yml

Añade las siguientes líneas:

version: '3'

volumes:
  data-postgres: {}
  data-opennms: {}

services:
  database:
    image: postgres:12
    container_name: database
    environment:
      - TZ=Europe/Berlin
      - POSTGRES_USER=postgres
      - POSTGRES_PASSWORD=postgres
    volumes:
      - data-postgres:/var/lib/postgresql/data
    healthcheck:
      test: [ "CMD-SHELL", "pg_isready -U postgres" ]
      interval: 10s
      timeout: 30s
      retries: 3

  horizon:
    image: opennms/horizon:26.1.1
    container_name: horizon
    environment:
      - TZ=Europe/Berlin
      - POSTGRES_HOST=database
      - POSTGRES_PORT=5432
      - POSTGRES_USER=postgres
      - POSTGRES_PASSWORD=postgres
      - OPENNMS_DBNAME=opennms
      - OPENNMS_DBUSER=opennms
      - OPENNMS_DBPASS=opennms
    volumes:
      - data-opennms:/opt/opennms/share/rrd
      - ./overlay:/opt/opennms-overlay
    command: ["-s"]
    ports:
      - "8980:8980/tcp"
      - "8101:8101/tcp"
      - "61616:61616/tcp"
    healthcheck:
      test: [ "CMD", "curl", "-f", "-I", "http://localhost:8980/opennms/login.jsp" ]
      interval: 1m
      timeout: 5s
      retries: 3

Guarda y cierra el archivo cuando hayas terminado. A continuación, descarga y construye el contenedor para OpenNMS con el siguiente comando:

docker-compose up -d

Una vez descargado el contenedor de OpenNMS, puedes verificar el contenedor en ejecución con el siguiente comando:

docker ps -a

Deberías ver la siguiente salida:

CONTAINER ID        IMAGE                    COMMAND                  CREATED             STATUS                            PORTS                                                                                           NAMES
1537b3a43c92        postgres:12              "docker-entrypoint.s…"   9 seconds ago       Up 6 seconds (health: starting)   5432/tcp                                                                                        database
7e00f3877d13        opennms/horizon:26.1.1   "/entrypoint.sh -s"      9 seconds ago       Up 6 seconds (health: starting)   0.0.0.0:8101->8101/tcp, 1162/udp, 0.0.0.0:8980->8980/tcp, 10514/udp, 0.0.0.0:61616->61616/tcp   horizon

Accede a la interfaz web de OpenNMS

En este punto, OpenNMS se está ejecutando y escuchando en el puerto 8980. Puedes acceder a él utilizando la URL http://your-server-ip:8980. Se te redirigirá a la página de acceso a OpenNMS, como se muestra a continuación:

Interfaz web de OpenNMS

Proporciona el nombre de usuario y la contraseña 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 pantalla:

Panel de control de OpenNMS

Ahora, haz clic en el icono + del panel derecho para añadir un nuevo nodo de servidor para su monitorización. Deberías ver la siguiente pantalla:

Añadir un nodo a OpenNMS

Proporciona un nombre y haz clic en el botón Aceptar. Deberías ver la siguiente pantalla:

Atributos del nodo

Configuración de la autenticación del nodo

Ahora, proporciona la dirección IP del servidor que quieres monitorizar, la cadena de comunidad, el nombre de usuario y la contraseña del servidor, el método de acceso y haz clic en el botón Aprovisionar. Una vez que el aprovisionamiento sea exitoso, deberías ver la siguiente pantalla:

Se ha aprovisionado con éxito un nodo

Haz clic en el botón Aceptar para continuar, luego ve a Información => Nodos, deberías ver el estado del nodo cliente1, la notificación y los eventos en la siguiente pantalla:

Monitorización del servidor OpenNMS

Conclusión

Enhorabuena! has instalado con éxito OpenNMS en el servidor de Ubuntu 20.04. Ahora puedes añadir más dispositivos a OpenNMS y empezar a monitorizar a través del navegador web. No dudes en preguntarme si tienes alguna duda.

También te podría gustar...