1
Monitorización
groales edited this page 2025-12-05 11:04:10 +01:00

Monitorización

Guía completa para añadir diferentes tipos de monitores en Uptime Kuma.


Conceptos Básicos

Monitor: Configuración que verifica disponibilidad/rendimiento de un servicio.

Tipos soportados:

  • HTTP(s) / HTTP(s) Keyword / HTTP(s) Json Query
  • TCP Port
  • Ping / ICMP
  • DNS
  • Docker Container
  • MongoDB / PostgreSQL / MySQL / Redis
  • MQTT / gRPC / WebSocket
  • Steam Game Server

Monitor HTTP(s)

Para monitorizar sitios web, APIs REST, etc.

Configuración Básica

  1. Click en Add New Monitor
  2. Monitor Type: HTTP(s)
  3. Configurar:
    • Friendly Name: Web Producción
    • URL: https://example.com
    • Heartbeat Interval: 60 segundos
    • Retries: 3
  4. Notifications: Seleccionar canales configurados
  5. Save

Opciones Avanzadas

Method:

  • GET: Por defecto, verificar página
  • POST: Enviar datos (APIs)
  • HEAD: Solo headers (más rápido)

Expected Status Code: 200-299 (éxito), 200,301,302 (específicos)

Request Headers: JSON personalizado

{
  "Authorization": "Bearer token123",
  "User-Agent": "UptimeKuma/1.0"
}

Request Body: Para métodos POST/PUT (JSON/XML)

Timeout: 48 segundos por defecto (aumentar si respuesta lenta)

Monitor HTTP(s) Keyword

Verificar que la página contenga texto específico.

Uso: Detectar páginas de error que devuelven 200 OK.

Configuración:

  1. Monitor Type: HTTP(s) Keyword
  2. Keyword: Login successful (texto que DEBE aparecer)
  3. Si no encuentra el keyword → marca como down

Monitor HTTP(s) Json Query

Verificar respuesta JSON de API.

Ejemplo: API que devuelve {"status": "healthy"}

Configuración:

  1. Monitor Type: HTTP(s) Json Query
  2. Json Query: $.status
  3. Expected Value: healthy
  4. Si no coincide → marca como down

Monitor TCP Port

Para monitorizar puertos abiertos (SSH, bases de datos, etc.).

Ejemplos

SSH Server:

Monitor Type: TCP Port
Hostname: 192.168.1.100
Port: 22
Heartbeat Interval: 60

Base de datos PostgreSQL:

Monitor Type: TCP Port
Hostname: db.example.com
Port: 5432
Heartbeat Interval: 120

Redis:

Monitor Type: TCP Port
Hostname: redis
Port: 6379

Monitor Ping

Verificar disponibilidad de red con ICMP ping.

Configuración

Monitor Type: Ping
Hostname: 192.168.1.1
Heartbeat Interval: 60

Uso:

  • Routers / Switches
  • Servidores sin servicios HTTP
  • Verificar conectividad básica

⚠️ Nota: Algunos hosts bloquean ICMP → usar TCP Port en su lugar.


Monitor DNS

Verificar resolución DNS correcta.

Configuración

Monitor Type: DNS
Hostname: example.com
Resolver Server: 1.1.1.1
Resource Record Type: A
Expected Answer: 93.184.216.34

Tipos de registro:

  • A: IPv4
  • AAAA: IPv6
  • MX: Mail servers
  • TXT: Registros de texto (SPF, DMARC)
  • CNAME: Alias

Uso:

  • Monitorizar registros DNS críticos
  • Detectar hijacking de DNS
  • Verificar propagación de cambios

Monitor Docker Container

Monitorizar estado de contenedores Docker.

Requisitos

Uptime Kuma necesita acceso al socket Docker:

Editar docker-compose.yml:

services:
  uptime-kuma:
    volumes:
      - uptime-kuma_data:/app/data
      - /var/run/docker.sock:/var/run/docker.sock:ro  # ← Añadir esta línea

Recrear contenedor:

docker compose up -d uptime-kuma

Configuración

Monitor Type: Docker Container
Docker Daemon: unix:///var/run/docker.sock
Container Name: netbox
Heartbeat Interval: 60

Uso:

  • Detectar contenedores que se reinician constantemente
  • Verificar que servicios críticos siguen activos

Monitor de Base de Datos

PostgreSQL

Monitor Type: PostgreSQL
Connection String: postgres://user:password@host:5432/dbname
Query: SELECT 1
Expected Result: 1

MySQL/MariaDB

Monitor Type: MySQL/MariaDB
Hostname: db.example.com
Port: 3306
Username: monitor
Password: ********
Database: mysql
Query: SELECT 1

MongoDB

Monitor Type: MongoDB
Connection String: mongodb://user:password@host:27017/admin

Redis

Monitor Type: Redis
Connection String: redis://host:6379

Configuración de Monitores

Heartbeat Interval

Frecuencia de checks:

  • 30s: Servicios críticos (producción)
  • 60s: Servicios normales (recomendado)
  • 120s-300s: Servicios menos críticos

⚠️ Muchos monitores con interval bajo → alta carga CPU/red.

Retries

Reintentos antes de marcar como down:

  • 1: Servicios estables (pocos falsos positivos)
  • 3: Recomendado (balancea detección rápida vs falsos positivos)
  • 5: Redes inestables

Tags

Organizar monitores por categorías:

  1. SettingsTags
  2. Crear tags: producción, desarrollo, crítico, base-datos
  3. Al crear monitor, asignar tags

Filtrado: Click en tag para ver solo esos monitores.

Grupos

Agrupar monitores relacionados:

  1. Click en New Group
  2. Nombre: Aplicaciones Web, Infraestructura
  3. Arrastrar monitores al grupo

Umbrales y Alertas

Certificados SSL

Uptime Kuma monitoriza expiración de certificados automáticamente en monitores HTTPS.

Configurar alerta:

  1. Editar monitor HTTPS
  2. SSL Certificate Expiry Notification: 7 días (alerta 7 días antes)

Tiempo de Respuesta

Response Time: Uptime Kuma mide automáticamente.

No hay alertas nativas por tiempo de respuesta lento, pero se ve en gráficos.


Verificación y Testing

Probar Monitor

Antes de guardar:

  1. Configurar monitor
  2. Click en Test (esquina inferior)
  3. Ver resultado: Up / Down

Forzar Check Manual

  1. Ir al dashboard
  2. Click en monitor
  3. Click en Check Now

Siguiente Paso

Continúa con Status Pages para crear páginas públicas de estado.