Saltar a contenido

Gatus

Health check tool open-source para HTTP / TCP / DNS endpoints, declarado por config YAML. En la reference architecture de madebynathan es la primera capa de detección: cuando un check de Gatus falla, dispara la investigación del AI agent. Liviano, sin dependencias pesadas, fit con la consigna "without too much extra complexity".

Contexto

Para Q5 (observabilidad) en el setup del usuario, Gatus es candidato a "primer línea": no reemplaza a Prometheus + Grafana + Loki, complementa — Gatus chequea "el servicio responde" en términos binarios; Prometheus mide métricas continuas. Es low-overhead: una página status y un health check loop. Ideal para essentials del setup (luces críticas, cerraduras, calefacción).

Contenido

Modelo

  • Servicio standalone (binario Go o container Docker).
  • Config YAML declarativa: lista de endpoints + condiciones de "healthy".
  • Soporta HTTP, TCP, ICMP, DNS, gRPC.
  • Tipos de conditions: status code, response body content, latency, etc.
  • Alerting integrado: Slack, Discord, Telegram, email, PagerDuty, webhook.

Uso en self-healing infrastructure

Citado por madebynathan como primera capa de detección: - Si un check falla → trigger investigation por OpenClaw. - OpenClaw lee Loki para entender qué pasó → diagnose → fix → verify.

Por qué fit con el constraint "sin complejidad extra"

  • Sin schema declaration tipo Prometheus.
  • Sin storage time-series.
  • Un solo proceso, una sola config.
  • Footprint mínimo (puede correr en una RPi o un LXC chico).

Posicionamiento vs alternativas

Tool Modelo Cuándo elegir
Gatus Pull, health checks declarativos Essentials, simple alerting
Prometheus + Alertmanager Pull, métricas continuas + reglas PromQL Métricas detalladas, multi-dimensional
Uptime Kuma UI-driven, health checks Quieren UI bonita, menos código
Healthchecks.io Cron-style, push Cuando los workers reportan ellos

Relaciones

Citas / evidencia

Abierto / gaps

  • Ingerir el README del repo TwiN/gatus para tener config canónica.
  • Cómo se integra Gatus con MQTT (publicar checks de devices Zigbee/BLE que no tienen HTTP endpoint propio).
  • Patrón concreto: Gatus chequeando los essentials del usuario (light.cocina, lock.entrada, climate.living). Definir cuando se llegue a Q1 final.