Uptime Kuma

Manual de despliegue
herramienta Uptime Kuma

Este manual sirve como una guía paso a paso para la instalación y configuración de Uptime Kuma, una herramienta de monitoreo de código abierto. A lo largo de este manual, exploraremos cómo implementar esta solución para supervisar la disponibilidad de servicios y sitios web, permitiéndote recibir alertas en tiempo real sobre cualquier interrupción.

Con Uptime Kuma, obtendrás una visión clara y proactiva del estado de tus sistemas, garantizando la estabilidad y el rendimiento que tus proyectos y clientes merecen.

1. Instalación de Docker Compose y dependencias en el servidor.

Ejecuta las siguientes órdenes para preparar el entorno:

sudo apt update
sudo apt upgrade -y

Página oficial de instalación de Docker, caso Ubuntu. En caso de instalación mediante los pasos de la página, en el manual se tiene un resumen con los comandos a utilizar para la instalación mediante el repositorio de Docker de fuentes APT.

Agregar la clave GPG oficial de Docker

sudo apt-get update
sudo apt-get install -y ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

Añadir el repositorio de Docker a las fuentes de APT

echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

Instalar Docker y complementos en su versión actual.

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

Probar la instalación de Docker.

sudo docker run hello-world

Respuesta esperada del terminal:

image.png

1.1. Configuración de docker post instalación.

Agregar el usuario actual al grupo docker:

sudo usermod -aG docker $USER

Habilitar el inicio automático de Docker con systemd.

sudo systemctl enable docker.service
sudo systemctl enable containerd.service

Respuesta esperada del terminal:

image.png

2. Instalación de uptime Kuma con servicio docker.

git clone https://github.com/louislam/uptime-kuma.git

Respuesta esperada del terminal:

image.png

docker run -d --restart=always -p 3001:3001 -v uptime-kuma:/app/data --name laboratorio-kuma louislam/uptime-kuma:1

Verifica que el contenedor esté en ejecución

docker ps

image.png

Abre en tu navegador en el siguiente enlace y selecciona el idioma Español antes de continuar.

http://IP_servidor:3001/setup 

Observará la siguiente página de inicio una vez desplegado el docker:

image.png

Es fundamental crear un usuario y una contraseña robustos para proteger tu información. Elige un nombre de usuario que no revele datos personales y combina caracteres alfanuméricos, símbolos y mayúsculas/minúsculas en tu contraseña.

3. Primeros pasos post instalación

Verificamos la pantalla de inicio.

image.png

3.1. Doble factor de autenticación (2FA).

Para comenzar, usa la aplicación de autenticación de tu preferencia en tu dispositivo móvil y escanea el código QR que se presenta a continuación. Esta acción activará una capa de seguridad esencial que requiere un código único y temporal en cada inicio de sesión, lo cual es fundamental para proteger tu información.

image.png

Una vez escaneado el token, la aplicación proporcionará un código de 6 dígitos y se debe colocar para verificar el token y presionar el botón “Verificar token”.

image.png

3.2. Añadir Nuevos Monitores en Uptime Kuma

Uptime Kuma permite crear distintos tipos de monitores para supervisar servicios, aplicaciones y recursos de red.
Al agregar un monitor, se despliega una lista con varias categorías y parámetros, cada una enfocada en un tipo específico de verificación.

Primeramente verificaremos que tipos de monitores existen para uptime Kuma.

Entre los más utilizados podemos destacar:

También tenemos la opción de utilizar para monitorear lo siguiente:

Entre los más utilizados podemos destacar:

También tenemos la opción de utilizar para monitorear lo siguiente:

3.3. Procedimiento Básico

En resumen para poder añadir un nuevo monitor deben seguirse los pasos generales:

Ejemplo 1. Monitor HTTPs.

image.png

image.png

Identificación de parámetros importantes:
Ejemplo 2. Monitor DNS.

image.png

image.png

Identificación de parámetros importantes:
Ejemplo 3. Grupo de monitores.

Una vez que tengas tus primeros monitores configurados, puedes organizarlos en grupos para estructurar la Uptime Kuma según la organización interna de la institución. Los parámetros de configuración para los grupos son similares a los de los monitores individuales:

image.png

Una vez creado un grupo, puedes asignar un monitor a él. Simplemente, edita el monitor que deseas y selecciona el grupo correspondiente en el campo "Grupo de monitoreo"

image.png

4. Configurar notificaciones por Telegram.

4.1. Crear el bot de Telegram

Abrir Telegram en la versión web, y buscar el usuario @BotFather. Inicia una conversación con el comando /start.

image.png

Usa el siguiente comando para crear un nuevo bot para este caso específico.

/newbot

BotFather solicitara los siguientes datos:

BotFather te enviará un token de la API, similar a: 1234567890:ABC-DEF1234ghIkl...

image.png

Para fines prácticos de monitoreo, se utilizará la opción de notificación a un grupo de Telegram. De esta manera, más de un usuario podrá recibir las alertas en caso de caída de servicios. Sigue estos pasos:

Crear un grupo en Telegram y agregar al nuevo bot. Busca el bot por el nombre asignado, en este caso: @kuma_taller_bot.

image.png

4.2. Integración con Uptime Kuma

Accede al panel de Uptime Kuma en el servidor desplegado: https://localhost:3001 o el dominio configurado

Completa los campos solicitados:

image.png  image.png

Verifica que el mensaje haya sido enviado correctamente al grupo, y presiona Guardar.

image.png

Con la integración de notificaciones vía Telegram, se garantiza que múltiples miembros del equipo estén informados en tiempo real ante cualquier caída o interrupción del servicio. Esta capacidad mejora la velocidad de respuesta al contar con un canal de comunicación ágil y automatizado.


Revision #25
Created 17 septiembre 2025 16:44:45 by Ricardo Alberto
Updated 26 septiembre 2025 17:42:08 by Ricardo Alberto