Cómo instalar Kuvasz en Docker- Monitoreo de uptime y SSL en Docker
Kuvasz: Monitoreo de uptime y SSL autohospedado en Docker
Monitorea la disponibilidad de tus sitios, APIs y certificados SSL. Notificaciones en tiempo real, páginas de estado públicas y API REST completa. Alternativa open source a Pingdom y StatusCake.
¿Qué es Kuvasz?
Kuvasz es un servicio de monitoreo de uptime y SSL open source construido en Kotlin. Monitorea la disponibilidad de tus sitios web, APIs y servicios, verifica el estado de tus certificados SSL, y te notifica en tiempo real cuando algo falla. Es una alternativa autohospedada, gratuita y de código abierto a servicios comerciales como Pingdom, StatusCake o UptimeRobot.
El nombre "Kuvasz" viene de una antigua raza húngara de perros guardianes, lo cual es perfecto: Kuvasz es como un perro guardián para tu infraestructura, vigilando 24/7 que todos tus servicios sigan funcionando. Con monitoreo HTTP(S), verificación de certificados SSL, notificaciones en múltiples canales (Email, Slack, Discord, Telegram), y páginas de estado públicas para mantener a tus usuarios informados.
Características principales
Monitoreo HTTP(S)
Controla disponibilidad de sitios web, APIs y servicios con peticiones HTTP configurables.
Monitoreo SSL
Verifica certificados SSL diariamente. Alertas antes de que expiren.
Monitores push (cron/heartbeat)
Monitorea trabajos cron, backups y tareas programadas con heartbeat.
Notificaciones multi-canal
Email, Slack, Discord, Telegram, PagerDuty. Configurable por monitor.
Páginas de estado
Crea páginas públicas o privadas para mantener usuarios/equipo informados.
API REST completa
Gestiona monitores y obtén datos via API documentada.
Monitoreo geo-distribuido
Deploy múltiples instancias para monitorear desde diferentes ubicaciones.
Integración Prometheus
Exporta métricas a Prometheus y OpenTelemetry.
IaC con YAML
Configura monitores via archivo YAML para reproducibilidad.
Interfaz moderna
UI responsive con modo oscuro, accesible desde desktop y móvil.
Headers y body personalizados
Configura headers HTTP, JSON body y status codes esperados.
Open Source
100% código abierto bajo Apache 2.0. Completamente auditable.
Requisitos del sistema
- Docker y Docker Compose instalados
- PostgreSQL 12+ (en contenedor)
- 512 MB de RAM mínimo (1+ GB recomendado)
- 100 MB de espacio en disco mínimo
- Puerto 8080 disponible (configurable)
- Opcional: servidor SMTP para notificaciones por email
Instalación rápida
Opción 1: Docker Run (30 segundos)
Opción 2: Docker Compose (recomendado)
Accede a http://localhost:8080 y comienza a crear monitores.
Crear tu primer monitor
Monitor HTTP básico
- Abre
http://localhost:8080en tu navegador - Haz clic en Create Monitor
- Configura:
- Name: Mi sitio web
- URL: https://midominio.com
- Method: GET
- Check interval: 60 segundos
- Expected status code: 200
- Haz clic en Save
Monitor SSL
- Ve a Monitors → New Monitor
- Selecciona SSL Monitor
- Introduce el hostname:
midominio.com - Puerto: 443 (por defecto)
- Alert threshold: 30 días (antes de expirar)
Monitor push (heartbeat)
- Crea un Push Monitor
- Kuvasz genera una URL única
- En tu cron job:
curl https://kuvasz.tudominio.com/api/push/{monitor_id} - Si no llama en el timeout, Kuvasz alerta
Configurar notificaciones
Email (SMTP)
Slack
- Crea una aplicación Slack en tu workspace
- Genera un Webhook URL
- En Kuvasz, ve a Integrations → Add
- Selecciona Slack y pega el Webhook
- Asigna a cada monitor
Discord
- En Discord, crea un Webhook en tu canal
- Copia la URL
- En Kuvasz, crea integración Discord
Configurar monitores con YAML (IaC)
Kuvasz soporta Infrastructure as Code con YAML:
Crear página de estado pública
- Ve a Status Pages → Create
- Configura:
- Name: Status page
- Path: /status
- Public: True
- Selecciona monitores: Los que quieras mostrar
- La página se actualiza automáticamente
Configurar HTTPS con Caddy
Caddy genera automáticamente certificados Let's Encrypt.
Monitoreo avanzado
Headers personalizados
Configura headers HTTP para cada monitor:
Body JSON personalizado
Envía payload JSON en monitores POST/PUT:
Validación de respuesta
- Status code esperado: 200, 201, etc.
- Timeout: Configurable en segundos
- Palabra clave en respuesta: Busca texto en el body
Gestión y mantenimiento
Ver logs
Reiniciar Kuvasz
Detener todo
Backup de base de datos
Actualizar a la última versión
Usar API REST
Casos de uso
- Hosting/ISP: Monitoreo de uptime para clientes con páginas de estado
- SaaS: Alertas internas de disponibilidad de servicios
- Agencias: Monitoreo de sitios de múltiples clientes en una sola instancia
- Empresas: Monitoreo interno de APIs y servicios
- Freelancers: Notificaciones de fallos en sus propios proyectos
- DevOps: Integración con Prometheus y alertas automáticas
- E-commerce: Monitoreo de checkout, APIs de pagos, SSL certificates
Comentarios
Publicar un comentario