Skip to main content

Manual de despliegue 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.

Instalación de Docker Compose en el servidor

Ejecuta las siguientes órdenes para preparar el entorno:

sudo apt update
sudo apt upgrade -y

Página oficial de Dockerinstalación parade Docker, caso Ubuntu.

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

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

Instalación de uptime Kuma con servicio docker.
  • Clonar el repositorio de Uptime Kuma
git clone https://github.com/louislam/uptime-kuma.git

Respuesta esperada del terminal:

image.png

  • Desplegar Uptime Kuma en Docker
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

  • Acceso desde el navegador

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

http://IP_servidor:3001/setup 

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.

Primeros pasos

Verificamos la pantalla de inicio.

image.png

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

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.

  1. Monitor Tipo General

Entre los más utilizados podemos destacar:

  • Group: Agrupa varios monitores en una sola categoría para organizarlos y ver su estado de forma conjunta.
  • HTTP(s): Comprueba si un sitio web responde correctamente mediante HTTP o HTTPS.
  • DNS: Revisa la resolución de un dominio, confirmando que el servidor DNS responda correctamente.
  • Contenedor de Docker: Supervisa el estado de un contenedor Docker específico.

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

  • TCP Port: Verifica que un puerto TCP específico de un host esté abierto y aceptando conexiones.
  • Ping: Envía paquetes ICMP para medir la latencia y disponibilidad de un host.
  • HTTP(s) – Palabra clave: Valida que una palabra o frase aparezca en el contenido de una página web.
  • HTTP(s) – Consulta JSON: Analiza una respuesta en formato JSON y evalúa valores clave.
  • gRPC(s) – Palabra clave: Comprueba servicios gRPC y busca una cadena de texto en la respuesta.
  • HTTP(s) – Browser Engine (Chrome/Chromium) (Beta): Realiza una prueba con un motor de navegador real para verificar la carga de una página (útil para sitios dinámicos con JavaScript).

2. Monitor Tipo Pasivo

  • Push: El servidor monitoreado envía (“push”) una señal a Uptime Kuma en intervalos establecidos. Ideal para sistemas que no permiten consultas externas.

3. Monitor Tipo Específico

Entre los más utilizados podemos destacar:

  • PostgreSQL: Verifica la conexión a una base de datos PostgreSQL.
  • MySQL/MariaDB: Controla la disponibilidad de servidores MySQL o MariaDB.
  • MongoDB: Monitorea el acceso a una base de datos MongoDB.
  • Radius: Comprueba la autenticación a través del protocolo RADIUS.
  • Redis: Controla el estado de un servidor de base de datos en memoria Redis.

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

  • Servidor de Juegos de Steam: Monitorea la disponibilidad de servidores de juegos que utilizan el protocolo Steam.
  • GameDig: Compatible con múltiples motores de juego; verifica que un servidor de juegos esté en línea.
  • MQTT: Supervisa brokers del protocolo MQTT, común en IoT.
  • Kafka Producer: Comprueba la conectividad y funcionamiento de productores Kafka.
  • Microsoft SQL Server: Evalúa la disponibilidad de una base de datos MS SQL.
Procedimiento Básico
  • Inicia sesión en Uptime Kuma.
  • Haz clic en “Nuevo Monitor”.
  • Selecciona el Tipo de Monitor de la lista.
  • Completa los campos solicitados (URL, host, puerto, credenciales, etc.).
  • Guarda la configuración para comenzar la supervisión.