Saltar a contenido

Runbook: Servicio caído

🚧 En construcción — este procedimiento se documentará cuando la infraestructura esté desplegada y el escenario pueda probarse.

Gravedad 🟡 Media a 🔴 Crítica (según el Tier del servicio)
Tiempo de respuesta < 5 min (Tier A), < 30 min (Tier B), < 4h (Tier C)
Roles implicados Argos (detección), Terminus (remediación), Hefesto (si requiere reconstrucción)

Síntomas

  • Un servicio concreto no carga en el navegador
  • Uptime Kuma muestra el servicio en rojo
  • Los usuarios reportan que una aplicación específica no funciona
  • El resto de servicios funcionan con normalidad

Diagnóstico

flowchart TD
    A([Alerta: servicio caído]) --> B[Diagnóstico]
    B --> B1[Confirmar que es\nun solo servicio]
    B1 --> B2[Acceder desde\ndentro de la red]
    B2 --> B3[Verificar LXC:\npct status]
    B3 --> B4[Verificar contenedor:\ndocker ps]
    B4 --> B5[Revisar logs:\ndocker logs]
    B5 --> B6[Comprobar puerto:\ncurl IP:puerto]
    B6 --> B7[Verificar DNS:\nnslookup]
    B7 --> B8[Verificar Caddy\nenrutamiento]
    B8 --> C{¿Causa\nencontrada?}
    C -->|Sí| D[Resolución]
    C -->|No| B
    D --> D1[LXC parado:\npct start]
    D1 --> D2[Docker caído:\ndocker compose up -d]
    D2 --> D3[Contenedor no arranca:\nsnapshot ZFS]
    D3 --> D4[Problema de red:\nfirewall y conectividad]
    D4 --> D5[Último recurso:\nrestaurar PBS]
    D5 --> E[Verificación]
    E --> E1[Servicio responde\nen https]
    E1 --> E2[Uptime Kuma\nvuelve a verde]
    E2 --> E3[Usuarios\nconfirman]
    E3 --> F{¿Funciona?}
    F -->|Sí| G[Prevención]
    F -->|No| D
    G --> G1[Healthcheck LXC\nwatchdog systemd]
    G1 --> G2[Alerta Uptime Kuma\ntodos los servicios]
    G2 --> G3[Snapshot ZFS\nantes de actualizar]
    G3 --> G4[Plan de degradación\ndocumentado]
    G4 --> H([Fin])
  • [ ] Confirmar que el problema es de un solo servicio (los demás funcionan)
  • [ ] Intentar acceder desde dentro de la red (descartar problema de VPN (red privada virtual))
  • [ ] Verificar el LXC (contenedor ligero de Proxmox): pct status <ID> en Proxmox
  • [ ] Verificar el contenedor Docker: docker ps | grep <servicio> dentro del LXC (contenedor ligero de Proxmox)
  • [ ] Revisar logs: docker logs <servicio> --tail 50
  • [ ] Comprobar si el puerto responde: curl http://<IP>:<puerto>
  • [ ] Verificar que Pi-hole resuelve el nombre: nslookup <servicio>.sc
  • [ ] Verificar que Caddy enruta correctamente

Resolución

  • [ ] Si el LXC está parado: pct start <ID>
  • [ ] Si Docker está caído dentro del LXC: docker compose up -d
  • [ ] Si el contenedor no arranca: revisar logs, restaurar última snapshot ZFS (sistema de archivos con integridad de datos)
  • [ ] Si es un problema de red: verificar reglas de firewall y conectividad
  • [ ] Como último recurso: restaurar desde PBS (sistema de copias de seguridad de Proxmox)

Verificación

  • El servicio responde en https://<servicio>.sc
  • Uptime Kuma vuelve a verde
  • Los usuarios confirman que funciona

Prevención

  • Healthcheck configurado en el LXC (watchdog systemd o Docker)
  • Alerta en Uptime Kuma para todos los servicios
  • Snapshot ZFS (sistema de archivos con integridad de datos) antes de cada actualización
  • Plan de degradación documentado (qué apagar si faltan recursos)