comparativa de herramientas autoalojadas
Uptime Kuma vs. Gatus: ¿clics o YAML?
Los dos monitores autoalojados más queridos responden de forma distinta a la misma pregunta: ¿el monitoreo debe montarse a clics en un panel, o declararse en un archivo y revisarse en un pull request? Todo lo demás se deriva de esa división.
La tabla de abajo es la comparación completa, sin editar. Léala primero si lo prefiere: es la misma que le enviaríamos.
AGPL-3.0 · un solo binario · plan gratuito · sin tarjeta
cat gatus.yaml
- endpoints:
- - name: api
- url: "https://api.acme.dev/health"
- interval: 60s
- conditions:
- - "[STATUS] == 200"
- - "[RESPONSE_TIME] < 300"
- # redeploy the config to apply
SOLO YAMLgatus no tiene interfaz de edición, así que cada cambio implica volver a desplegar
cat uptimepage.tf
- resource "uptimepage_target" "api" {
- name = "api"
- interval = 60
- check = {
- type = "http"
- http = { url = "https://api.acme.dev/health" }
- }
- }
CONFIGURACIÓN COMO CÓDIGOel mismo monitor, declarado, o montado a clics en la interfaz
history | tail -1
- curl -X POST https://app.uptimepage.dev/api/v1/targets \
- -H "Authorization: Bearer $UPTIMEPAGE_TOKEN" \
- -d '{"name":"api","interval":60,
- "check":{"type":"http",
- "http":{"url":"https://api.acme.dev/health"}}}'
201 CREATEDmonitor activo, y su primera comprobación se ejecuta de inmediato
elija uptime kuma si
Es su homelab, quiere la lista de comprobaciones más amplia e intervalos de un segundo, y un único inicio de sesión compartido le basta.
elija gatus si
Cada comprobación debe estar en Git, el panel es para usted y su equipo, y nadie de fuera necesita verlo.
elija uptimepage si
Sus clientes necesitan una página de estado a la que puedan suscribirse, sus compañeros de equipo necesitan cuentas propias y usted sigue queriendo la configuración en Git.
Empezar gratis →Los datos, frente a frente
| Uptime Kuma | Gatus | Uptimepage | |
|---|---|---|---|
| licencia | MIT | Apache-2.0 | AGPL-3.0 |
| configuración | solo la interfaz | solo YAML, interfaz de solo lectura | interfaz + Terraform + REST + MCP |
| ejecutarlo usted mismo | un contenedor (Node) | diminuto binario estático | un binario + compose |
| opción alojada | no | gatus.io, de pago | sí, plan gratuito |
| tipos de comprobación | 31, incl. BD · MQTT · navegador | 11 protocolos, incl. gRPC · SSH · WebSocket | HTTP · TCP · DNS · TLS · dominio · ping · heartbeat · flow · manual |
| intervalo más corto | 1 s | sin mínimo documentado, 60 s por defecto | 60 s gratis · 30 s Team · 10 s autoalojado |
| página de estado | sí, dominios propios | el panel hace de página | con su marca, dominio propio en Pro |
| suscriptores de la página | solo RSS | ninguno | correo · webhook |
| incidentes | publicados a mano | ninguno | abiertos automáticamente por las comprobaciones |
| equipos y roles | un solo inicio de sesión | una única barrera basic auth u OIDC | organizaciones + roles |
| canales de alerta | 94 servicios | 41 proveedores | Slack · Telegram · PagerDuty · SMS + más |
| comunidad (estrellas en GitHub) | ~89k | ~11,4k | joven |
Las cifras de Kuma incluyen el metaproveedor Apprise y tipos implementados fuera de su módulo de tipos de monitor; el número de proveedores de Gatus procede de su README.
Estrellas redondeadas a partir de GitHub, julio de 2026.
Verificado en julio de 2026 con ambos repositorios. Conviene actualizarlo cuando un proyecto publique una versión nueva.
La división que lo decide
Uptime Kuma es un panel que se maneja con clics: añada un monitor, elija un tipo, conecte una notificación, y todo queda guardado en su base de datos. Gatus no tiene interfaz de edición: cada endpoint es YAML bajo control de versiones, la interfaz web es de solo lectura y un cambio implica volver a desplegar la configuración. Ninguno de los dos está equivocado. Uno encaja con un homelab y con una persona que piensa en navegadores; el otro encaja con un ingeniero que piensa en Git y quiere que el monitoreo se revise como código.
Qué hace bien cada uno
Kuma gana en amplitud: 31 tipos de monitor, incluidas bases de datos, MQTT, SNMP y una comprobación con un navegador real, 94 servicios de notificación, intervalos de un segundo desde la línea 2.x y la comunidad más grande de la categoría. Gatus gana en disciplina: once protocolos de endpoint, incluidos gRPC, SSH, WebSocket y UDP, un lenguaje de condiciones que verifica el estado, el tiempo de respuesta, rutas del cuerpo JSON, la caducidad del certificado y la caducidad del dominio, y un diminuto binario estático de Go que incluso puede funcionar sin base de datos.
Lo que no le da ninguno de los dos
Una página de estado para clientes con suscriptores, y un equipo. Las páginas de estado de Kuma son reales, pero nadie puede suscribirse a ellas, y toda la aplicación usa un único inicio de sesión compartido. El panel de Gatus hace también de página de estado: sirve como panel interno, no es algo que se muestre a los clientes, y su control de acceso es una única barrera de basic auth u OIDC. Los dos comprueban desde donde usted los ejecute, salvo que monte más instancias usted mismo o use el tipo de monitor Globalping de Kuma.
Dónde encaja Uptimepage
Si el debate entre YAML y clics termina con «en realidad necesitamos que los clientes vean una página de estado y que los compañeros de equipo tengan cuentas», ese es el hueco que cubre Uptimepage. Comprobaciones HTTP, TCP, DNS, TLS, de dominio, ping, heartbeat y de flujo, configuradas en la interfaz o declaradas con el proveedor de Terraform y la API REST, organizaciones con roles, sondas multirregión que puede ejecutar usted mismo y una página de estado con su marca, con suscriptores por correo y webhook, donde los incidentes se abren automáticamente. Un solo binario, alojado gratis o autoalojado bajo AGPL.
- 01Inicie sesión con GitHub o Google. Sin tarjeta, sin llamada comercial.
- 02Pegue una URL. La primera comprobación se ejecuta antes de que termine de leer esto.
- 03Publique la página de estado, o expórtela a Terraform y guárdela en Git.
api99,98 %
p95 142 ms · un incidente en 45 días
dashboard99,91 %
p95 318 ms · dos días degradados
webhooks99,99 %
p95 88 ms · sin incidentes
RESUELTO14 min
Latencia elevada en la API del panel
14:22 resuelto, latencia de nuevo por debajo de 300 ms
14:08 abierto automáticamente por la comprobación del panel
activo degradado caído 45 días · suscriptores por correo y webhook