El popular software de monitorización de código abierto para servidores y servicios Uptime Kuma, acaba de sufrir su mayor actualización hasta la fecha, y trae muchas novedades y cambios. Este programa se puede instalar fácilmente en cualquier equipo que tenga Docker, su despliegue y configuración hacen que este sistema de monitorización lo pueda usar casi todo el mundo. En RedesZone tenemos un completo tutorial de configuración de Uptime Kuma, donde os enseñamos cómo instalarlo y también cómo configurar algunos monitores de ejemplo. Si quieres conocer todas las novedades de esta nueva versión, a continuación, tenéis todos los detalles.
El pasado 20 de octubre, el equipo de desarrollo anunció el lanzamiento oficial de la versión Uptime Kuma 2.0, tras meses de desarrollo y pasar por diferentes versiones beta, por fin tenemos la versión «estable» de este popular software, hay algunos cambios que «rompen» cosas de la versión anterior por la actualización, además, es obligatorio migrar la base de datos a una nueva base de datos, por lo que el arranque del programa tardará más de lo habitual.
Principales cambios
Esta nueva versión V2.0 supone un gran cambio respecto a la versión V1.0 que teníamos hasta el momento, el motivo principal es que ahora tenemos soporte para la base de datos de MariaDB, la cual es mucho más robusta que la anterior base de datos que se utilizaba. Esta nueva base de datos soluciona limitaciones de concurrencia en la anterior SQlite, y es que cuando teníamos más de 50 monitores había problemas para escribir en la base de datos, ahora tendremos hasta un 300% más de solicitudes simultáneas. Otro cambio muy importante es que ahora tenemos una imagen de Docker en modo «rootless», pero esta imagen no es recomendable si vas a realizar la migración de la versión V1 a V2 porque dará errores y perderás la configuración que tuvieras.
Algunas novedades interesantes son que ahora podemos configurar el tiempo de duración de las notificaciones, para que nos vaya recordando que hay algo caído o no. Han mejorado enormemente las notificaciones añadiendo nuevas integraciones y características, por ejemplo, ahora tenemos la posibilidad de realizar una plantilla para los avisos mediante SMTP (por correo electrónico) usando LiquidJS, también tenemos el proveedor de notificaciones Grafana OnCall así como muchos otros (Heii On-Call, gtxmessaging, CallMeBot, y muchos otros).
Algunas características incorporadas son que han añadido soporte para x-www-form-urlencoded para ciertas integraciones, también permite el monitor del navegador «real» usando Microsoft Edge, tenemos persistencia de reintentos para ciertos monitores, soporte para monitor remoto del navegador, así como monitores de MQTT que permitirá una consulta mediante json-query. Si usas RabbitMQ, también podrás monitorizarlo gracias al nuevo monitor incorporado. También tenemos opción de método HTTP para los monitores tipo Push, además, tenemos lógica para realizar monitorización a DNS, así como un RSS básico agregado.
Otras mejoras que tenemos en esta versión 2.0 y siguientes, es que ahora tenemos un cálculo del «uptime» mejorado y nos permitirá mostrar hasta 1 año de histórico. La interfaz de usuario se ha mejorado, ahora nos avisará cuando no haya etiquetas, tenemos mejoras visuales en el diseño del «mantenimiento», así como el ajuste de colores, mostrar el ID del monitor en detalles etc. Es decir, han realizado una mejora visual total respecto a la versión anterior, eso sí, sin perder su esencia de sencillez de los monitores. Por supuesto, también se han mejorado algunos fallos de seguridad relacionado con el manejo de la base de datos, filtros de monitor, valores erróneos de pings y más.
En el listado de versiones de Uptime Kuma en GitHub tenéis un completo listado de cambios entre versiones, las más destacables son las versiones 2.0.0-beta.0 en adelante.
Versión «Slim» o «Full»
Con el lanzamiento de la nueva versión V2, tenemos dos versiones posibles para su descarga y utilización, la versión slim y la versión full. A continuación, tenéis las diferencias:
- Versión full: incorpora la base de datos de MariaDB para almacenar todos los monitores e histórico. Tiene muy bajo mantenimiento y gran rendimiento. Incorpora por defecto Chromium como navegador por defecto cuando elegimos «Motor de navegación» en el tipo de monitor.
- Versión slim: no viene con MariaDB integrada, pero puedes conectar Uptime Kuma a una base de datos externa de MariaDB o MySQL. Tampoco viene con Chromium integrado, tendrás que instalar una instancia por separado. Esta imagen es unos 300MB o 400MB más pequeña que la versión full.
| Característica | Versión Full | Versión Slim |
|---|---|---|
| Base de datos integrada | MariaDB incluida y preconfigurada en la imagen Docker. | Requiere configuración manual con MariaDB externo o separado. |
| Navegador integrado | Chromium y Microsoft Edge integrados para monitorización real del navegador. | Sin navegador integrado; requiere configuración externa para monitorización del navegador. |
| Tamaño aproximado de la imagen | Mayor (incluye dependencias completas: MariaDB + Chromium). | Reducido significativamente (sin dependencias pesadas integradas). |
| Instalación y despliegue | Instalación única con un comando Docker; todo preconfigurado. | Requiere pasos adicionales de configuración manual. |
| Recursos del sistema | Mayor consumo de CPU, RAM y almacenamiento. | Menor consumo; ideal para entornos con recursos limitados. |
| Caso de uso recomendado | Instalaciones independientes, usuarios sin experiencia, laboratorios o demostraciones rápidas. | Entornos de producción con infraestructura existente, servidores con recursos limitados. |
Nuestra recomendación es que uses la versión full porque ya viene con todo integrado, y es mucho más fácil de mantener.
Cómo migrar de la versión V1 a la versión V2
El equipo de desarrollo de Uptime Kuma ha creado un tutorial paso a paso de migración, ya que el cambio entre V1 y V2 es demasiado importante. Algunos problemas que han reportado diferentes usuarios al migrar, es que tienen la pantalla totalmente en blanco, corrupción de la base de datos con monitores complejos si el proceso se interrumpe por algún motivo, y fallos en entornos que están fuera de Docker.
En nuestro caso, la migración ha sido un completo éxito a las versiones beta, ya que llevamos probando la rama V2 durante varios meses. Los pasos que tendrás que realizar para hacer una migración con garantías son los siguientes:
- Hacer una copia de seguridad del directorio /data/ de tu contenedor Docker.
- No uses la imagen de Docker rootless para realizar la migración, porque no saldrá bien y podrías perder todo (de ahí que nos recomienden hacer copia de seguridad con tanta insistencia).
- Desplegar la nueva imagen de Docker de la rama V2, es decir, tienes que usar uptime-kuma:2 y te descargará la última versión de la rama V2.
Algunas consideraciones antes de migrar son las siguientes:
- Verifica que uses Node.js 18 o superior si lo instalas sin Docker.
- Si usas SQlite la migración es automática, aunque tardará algo de tiempo en migrar, podrás ver el proceso al meterte vía web a Uptime Kuma.
- Los scripts antiguos que tuvieras en install.sh y las copias de seguridad internas no estarán disponibles, no existirán. A partir de ahora, tendrás que usar tus propios métodos de backup y restauración.
- Revisa las notificaciones y monitores después de la migración.
Os recomendamos acceder a la web oficial de la guía de migración de Uptime Kuma de V1 a V2.
En nuestro caso personal, tenemos este Docker Compose y la migración es automática:
uptime-kuma:
image: louislam/uptime-kuma:2.0.2
container_name: uptime-kuma
restart: unless-stopped
volumes:
- /share/MaquinasVirtuales/Docker/uptimekuma:/app/data
networks:
dockerbron:
ipv4_address: 172.30.1.9
ports:
- '192.168.10.2:3001:3001/tcp'
Recordad que la primera vez tardará más de lo normal en funcionar, ya que realizará la migración automáticamente.
