Cómo Configurar Una Herramienta de Monitoreo de Uptime en Linux con Uptime Kuma

Una fotografía de un escritorio lleno de computadoras.

Uptime Kuma es una herramienta de monitoreo de uptime simple pero poderosa. Te permite hacer un seguimiento de cada servicio que estás alojando, ya sea en una red local o en internet.

Este artículo te mostrará cómo instalar y desplegar Uptime Kuma en una red local utilizando Ubuntu y Docker. También te mostraremos cómo personalizar la instancia de Uptime Kuma para enviar notificaciones de estado a Telegram.

Tabla de Contenidos

  • ¿Por qué usar Uptime Kuma?
  • Instalando Uptime Kuma
  • Creando un Proxy Inverso para Uptime Kuma usando Nginx
  • Configurando Uptime Kuma y Agregando Monitores
  • Configurando Notificaciones Externas para Uptime Kuma

¿Por qué usar Uptime Kuma?

Uptime Kuma puede rastrear y hacer ping a servidores web, así como verificar la salud de tus contenedores de Docker. Esto hace que Uptime Kuma sea el portal web todo en uno ideal para todos tus servicios de red.

Una de las mayores ventajas de Uptime Kuma es que viene con un sistema de notificaciones robusto por defecto. Esto significa que puedes configurar tu monitor de uptime para enviar automáticamente un mensaje a través de una variedad de canales cada vez que encuentra una anomalía.

Una captura de pantalla que muestra una instancia de Uptime Kuma en funcionamiento.

Instalando Uptime Kuma

Obteniendo Docker y Docker Compose

Primero, obtén la clave de firma GPG para los repositorios de Docker y Docker Compose:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg |sudo gpg --dearmor-o/etc/apt/keyrings/docker.gpg  
sudochmod a+r /etc/apt/keyrings/docker.gpg

Crea un nuevo archivo de repositorio para Docker en “/etc/apt/sources.list.d/”

sudonano/etc/apt/sources.list.d/docker.list

Pega la siguiente línea de código dentro de tu nuevo archivo de repositorio:

deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu jammy stable

Actualiza y mejora el repositorio de paquetes para tu sistema Ubuntu:

sudo apt update &&sudo apt upgrade

Instala el paquete de Docker y Docker Compose junto con sus dependencias:

sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-buildx-plugin nginx git

Asegúrate de que tu usuario actual tenga los privilegios adecuados para ejecutar Docker y Docker Compose:

sudo usermod -aGdocker ramces

Obteniendo y Construyendo Uptime Kuma

Crea un nuevo directorio para tu contenedor Docker de Uptime Kuma. Esto contendrá el archivo de receta para tu instancia:

mkdir uptime-kuma &&cd ./uptime-kuma

Una vez dentro, crea un nuevo “docker-compose.yml” usando tu editor de texto favorito:

nano ./docker-compose.yml

Pega el siguiente bloque de código dentro de tu nuevo archivo Compose:

---  
version: "3.8"  
services:  
  uptime-kuma:  
    image: louislam/uptime-kuma:1  
    container_name: uptime-kuma  
    volumes:  
      - uptime-kuma:/app/data  
    ports:  
      - 3001:3001  
    restart: always  
volumes:  
  uptime-kuma: null

Construye los contenedores de Docker para tu nueva instancia de Uptime Kuma:

sudodocker compose up -d

Creando un Proxy Inverso para Uptime Kuma usando Nginx

Crearemos un proxy inverso en Nginx para que puedas acceder a Uptime Kuma en una URL accesible públicamente.

Crea un nuevo archivo de configuración del sitio de Nginx usando tu editor de texto favorito:

sudonano/etc/nginx/sites-available/uptimekuma

Escribe el siguiente bloque de código dentro de tu nuevo archivo de configuración del sitio:

server {  
        server_name uptime.myvpsserver.top;  
        location /{  
                proxy_pass http://127.0.0.1:3001;  
                proxy_http_version 1.1;  
                proxy_set_header Upgrade $http_upgrade;  
                proxy_set_header Connection "upgrade";  
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;  
                proxy_set_header Host $host;  
}  
}

Enlaza tu archivo de configuración del sitio desde la carpeta “sites-available” de Nginx a su directorio “sites-enabled”:

sudoln-s/etc/nginx/sites-available/uptimekuma /etc/nginx/sites-enabled

Reinicia el demonio del servidor Nginx para aplicar tus nuevos ajustes:

sudo systemctl restart nginx

Instalando el Certificado SSL

Para comenzar, necesitas asegurarte de que tu sistema tenga el paquete snap core en funcionamiento:

sudo snap install core

Instala el snap para el certbot de la Electronic Frontier Foundation. Esta es una pequeña herramienta que puede solicitar y mantener automáticamente el certificado SSL de tu proxy inverso:

sudo snap install certbot --classic

Prueba si certbot está funcionando correctamente registrando tu nueva instalación de certbot con la EFF:

sudo certbot register --agree-tos-m [email protected]

Solicita un nuevo certificado SSL para tu nuevo proxy inverso:

sudo certbot --nginx-d uptime.myvpsserver.top

Configurando Uptime Kuma y Agregando Monitores

Verifica si tu instalación de Uptime Kuma está funcionando correctamente en su proxy inverso navegando a su dirección en un navegador web.

Una captura de pantalla que muestra la página de inicio predeterminada de Uptime Kuma.

Completa el formulario con los detalles que deseas para tu nueva cuenta de administrador, luego haz clic en “Crear” para continuar a tu instancia.

Una captura de pantalla que muestra los detalles del administrador para la nueva instancia.

Haz clic en el botón “Agregar Nuevo Monitor” en la esquina superior izquierda de la página.

Una captura de pantalla que resalta el botón

Esto abrirá una nueva subventana en la página actual donde puedes especificar el tipo de servicio que deseas monitorear. Por ejemplo, cambiar el valor de “Tipo de Monitor” de “HTTP(S)” a “Puerto TCP” creará un monitor que verificará si un puerto particular en la máquina está actualmente abierto.

Una captura de pantalla que muestra los diferentes tipos de monitor disponibles.

Completa los detalles de la máquina que deseas monitorear.

Desplázate hacia abajo hasta la parte inferior de la página, luego haz clic en “Guardar” para iniciar tu nuevo monitor.

Una captura de pantalla que muestra los detalles completos de un monitor de verificación de puerto simple.

Configurando Notificaciones Externas para Uptime Kuma

Ve a la página principal de tu instancia de Uptime Kuma y haz clic en el ícono de usuario en la esquina superior derecha de la página.

Una captura de pantalla que resalta la insignia del ícono de usuario en la esquina superior derecha de la pantalla.

Haz clic en la opción “Configuraciones” en el menú desplegable de la página.

Selecciona la categoría “Notificaciones” en la nueva subventana de la página.

Una captura de pantalla que resalta la categoría de Notificaciones.

Creando un Servicio de Notificaciones de Telegram

Haz clic en el botón “Configurar Notificación”. Por defecto, esto abrirá una pequeña ventana donde puedes vincular y crear un bot de notificación usando tu cuenta de Telegram.

Proporciona un nombre para tu nueva alerta de notificación, luego haz clic en el enlace de BotFather debajo del cuadro de texto “Token del Bot”.

Una captura de pantalla que resalta el enlace de Telegram BotFather.

Haz clic en el botón “Enviar Mensaje” en la página de Telegram del BotFather.

Una captura de pantalla que muestra el aviso inicial para el BotFather.

Nota: El botón “Enviar Mensaje” es un enlace específico de Telegram que solo funcionará si Telegram está ejecutándose en tu máquina. Aprende cómo instalar Telegram en tu máquina Linux.

Esto abrirá una nueva ventana de chat donde puedes usar el BotFather para crear tu bot de notificación. Escribe “/newbot” en el aviso, luego presiona Enter.

Proporciona un nombre para el bot que estás vinculando a tu instancia de Uptime Kuma.

Escribe un nombre de usuario apropiado para tu nuevo bot de notificación. Ten en cuenta que para esto, el BotFather no aceptará ningún carácter especial aparte del guion bajo (_).

Haz clic en el texto que el BotFather resaltó para copiarlo en tu portapapeles.

Una captura de pantalla que resalta el token único para tu nuevo bot de notificación.

Prueba si tu nuevo bot está funcionando correctamente buscando su nombre de usuario y comenzando una conversación con él.

Una captura de pantalla que muestra el historial de conversación inicial con el nuevo bot.

Regresa a tu instancia de Uptime Kuma, luego pega el token privado del bot dentro del cuadro de texto “Token del Bot”.

Haz clic en el botón “Obtener Automáticamente” debajo del cuadro de texto “ID de Chat”.

Una captura de pantalla que resalta el botón Obtener Automáticamente.

Desplázate hacia abajo hasta la parte inferior de la ventana de Uptime Kuma, luego haz clic en “Probar” para verificar si Uptime Kuma puede comunicarse con tu nuevo bot.

Una captura de pantalla que muestra un bot de Telegram de Uptime Kuma en funcionamiento.

Haz clic en “Guardar” para confirmar tus cambios en Uptime Kuma.

Alojar un simple servicio de estado sobre Docker es solo la punta del iceberg cuando se trata de desplegar servicios web en contenedores. Aprende cómo puedes alojar tu propia oficina en la nube con ownCloud, así como ejecutar tu propio Pastebin con Stikked.

Crédito de la imagen: Boitulmelo a través de Unsplash (Fondo) Github (Logo). Todas las alteraciones y capturas de pantalla por Ramces Red.