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:
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:
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:
- 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
http://IP_servidor:3001/setup
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.
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.
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”.
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.
- 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.