Estado Global¶
Centro de operaciones documental de SmallCountry. Estado en tiempo real de la infraestructura, servicios, backups, sensores y alertas.
-
Infraestructura
Estado de los cuatro nodos físicos: Ra, Horus, Geb, Thoth. Carga, uptime y salud del hardware.
-
Servicios Críticos
Tier 1 y Tier S. Qué funciona, qué está degradado y qué necesita atención inmediata.
-
Backups
Salud del sistema de backup 3-2-1. Última copia, verificación y estado de cada dataset.
-
Estado VPN
Conectividad WireGuard y NetBird entre nodos. Quién alcanza a quién.
-
Sensores
Flota IoT de campo: ESP32, Shelly, estaciones meteorológicas. Latido de la finca.
-
Alertas Abiertas
Incidencias activas. Severidad, servicio afectado y tiempo desde la apertura.
-
:fontawesome-solid-island-tropical: Modo Isla
Porcentaje de servicios que sobreviven sin internet. Desglose por categoría.
-
Incidentes Recientes
Últimos 5 eventos del diario de operaciones. Lo que pasó y cómo se resolvió.
-
Últimos Despliegues
Cambios recientes en la infraestructura. Qué se movió, cuándo y quién.
Infraestructura¶
| Nodo | Rol | Estado | Uptime | Carga CPU | RAM usada | Disco |
|---|---|---|---|---|---|---|
| Ra | Servidor principal — Proxmox, LXC, ZFS | ✅ Operativo | 34d 12h | 22% | 14/32 GB | 68% |
| Horus | IA y GPU — Ollama, Whisper, RAG | ✅ Operativo | 34d 08h | 31% | 18/64 GB | 41% |
| Geb | Gateway energético — Victron, Shelly, sensores | ✅ Operativo | 120d 03h | 8% | 2/8 GB | 35% |
| Thoth | Backup offsite — Raspberry Pi, Restic, PBS | ⚠️ Degradado | 15d 22h | 12% | 3/4 GB | 72% |
flowchart LR
Ra["🖥️ Ra<br/>servidor principal<br/>Proxmox + ZFS"]
Horus["🧠 Horus<br/>servidor IA<br/>Ollama + GPU"]
Geb["⚡ Geb<br/>gateway solar<br/>Victron Cerbo GX"]
Thoth["🗄️ Thoth<br/>backup offsite<br/>Raspberry Pi"]
Ra <-->|"WireGuard<br/>10.10.1.0/24"| Horus
Ra <-->|"WireGuard<br/>10.10.2.0/24"| Geb
Ra -->|"PBS + Restic<br/>backup push"| Thoth
Horus -->|"Restic<br/>backup secundario"| Thoth
Geb <-->|"MQTT<br/>sensor data"| Ra
Horus <-->|"API Ollama<br/>inferencia IA"| Ra
style Ra fill:#a5d6a7,stroke:#2e7d32,color:#000
style Horus fill:#90caf9,stroke:#1565c0,color:#000
style Geb fill:#ffe082,stroke:#f57f17,color:#000
style Thoth fill:#ef9a9a,stroke:#c62828,color:#000
Servicios Críticos¶
| Servicio | Tier | Estado | Modo Isla | Backup | Último healthcheck |
|---|---|---|---|---|---|
| Authentik | A | ✅ Operativo | ✅ Compatible | ✅ Verificado | Hace 2 min |
| Caddy | A | ✅ Operativo | ✅ Compatible | ✅ Verificado | Hace 2 min |
| Pi-hole | A | ✅ Operativo | ✅ Compatible | ✅ Verificado | Hace 2 min |
| NetBird | A | ✅ Operativo | ⚠️ Degradado | ✅ Verificado | Hace 2 min |
| WireGuard | A | ✅ Operativo | ✅ Compatible | ✅ Verificado | Hace 2 min |
| Mosquitto | A | ✅ Operativo | ✅ Compatible | ✅ Verificado | Hace 3 min |
| Proxmox | A | ✅ Operativo | ✅ Compatible | ✅ Verificado | Hace 1 min |
| ZFS | A | ✅ Operativo | ✅ Compatible | ✅ Verificado | Hace 1 min |
| PostgreSQL | A | ✅ Operativo | ✅ Compatible | ✅ Verificado | Hace 2 min |
| VictoriaMetrics | B | ✅ Operativo | ✅ Compatible | ✅ Verificado | Hace 2 min |
| Grafana | B | ✅ Operativo | ✅ Compatible | ✅ Verificado | Hace 2 min |
| Geb (Cerbo GX) | S | ✅ Operativo | ✅ Compatible | ✅ Verificado | Hace 5 min |
| Node-RED | B | ✅ Operativo | ✅ Compatible | ✅ Verificado | Hace 3 min |
Estado de Backups¶
| Dataset | Último backup | Tamaño | Verificación | Estado |
|---|---|---|---|---|
rpool/datos/authentik |
Hoy 08:15 UTC | 2.3 GB | ✅ Válido | ✅ |
rpool/datos/nextcloud |
Hoy 08:15 UTC | 45.1 GB | ✅ Válido | ✅ |
rpool/datos/immich |
Hoy 08:15 UTC | 128.7 GB | ✅ Válido | ✅ |
rpool/datos/postgresql |
Hoy 08:15 UTC | 4.2 GB | ✅ Válido | ✅ |
rpool/datos/matrix |
Hoy 08:15 UTC | 3.8 GB | ✅ Válido | ✅ |
rpool/datos/farmos |
Hoy 08:15 UTC | 0.9 GB | ✅ Válido | ✅ |
rpool/datos/ollama |
Hoy 04:00 UTC | 32.0 GB | ✅ Válido | ✅ |
rpool/datos/victoria |
Hoy 08:15 UTC | 18.2 GB | ✅ Válido | ✅ |
rpool/datos/forgejo |
Hoy 08:15 UTC | 1.1 GB | ✅ Válido | ✅ |
thoth/backup/restic |
Ayer 23:00 UTC | 312 GB | ⚠️ Pendiente | ⚠️ |
Destino offsite (Thoth): La verificación del snapshot de Restic de las 23:00 UTC está pendiente. Se espera completar en la próxima ventana de mantenimiento. El snapshot anterior (ayer 11:00 UTC) verificó correctamente.
Estado VPN¶
| Origen | Destino Ra | Destino Horus | Destino Geb | Destino Thoth |
|---|---|---|---|---|
| Ra | — | ✅ WireGuard | ✅ WireGuard | ✅ NetBird |
| Horus | ✅ WireGuard | — | ⚠️ Latencia alta | ✅ NetBird |
| Geb | ✅ WireGuard | ⚠️ Intermitente | — | ❌ Sin acceso |
| Thoth | ✅ NetBird | ✅ NetBird | ❌ Sin acceso | — |
La conectividad Geb→Horus presenta latencia elevada (>200ms) por saturación del enlace 4G en la finca. La conectividad con Thoth usa NetBird como túnel principal con WireGuard como respaldo.
Estado Sensores¶
| Dispositivo | Tipo | Ubicación | Último dato | Batería | Estado |
|---|---|---|---|---|---|
| ESP32-colmena-01 | Báscula + temp/hum | Corral del Viento | Hace 2 min | 78% | ✅ |
| ESP32-colmena-02 | Báscula + temp/hum | Corral del Viento | Hace 2 min | 81% | ✅ |
| ESP32-gallinero | Temp/hum + RFID | Gallinero | Hace 3 min | 65% | ✅ |
| ESP32-clima-01 | BME280 + pluviómetro | Bancal norte | Hace 1 min | 92% | ✅ |
| ESP32-clima-02 | BME280 + anemómetro | Bancal sur | Hace 1 min | 88% | ✅ |
| Shelly-riego | Actuador bomba | Huerto | Hace 30 min | Red | ✅ |
| Shelly-sotano | Actuador bomba | Sótano Ra | Hace 5 min | Red | ✅ |
| Geb-Victron | MPPT + batería + inversor | Caseta solar | Hace 1 min | Sistema | ✅ |
| ESP32-LoRa-01 | RFM95 gateway | Punto alto | Hace 10 min | 94% | ✅ |
Alertas Abiertas¶
| ID | Severidad | Servicio | Descripción | Abierta desde |
|---|---|---|---|---|
| ALT-042 | ⚠️ Media | Thoth | Verificación Restic pendiente desde las 23:00 UTC | Hoy 08:00 |
| ALT-041 | ⚡ Baja | VPN Geb→Horus | Latencia elevada en enlace 4G | Ayer 14:30 |
| ALT-040 | ⚡ Baja | ESP32-colmena-03 | Sin datos desde hace 2 días (posible desconexión de batería) | Hace 2 días |
Alertas cerradas recientemente
| ID | Severidad | Servicio | Descripción | Cerrada |
|---|---|---|---|---|
| ALT-039 | 🔴 Alta | Authenik | Proveedor OAuth2 no respondía | Ayer 09:15 |
| ALT-038 | ⚠️ Media | Nextcloud | Disco al 92% — liberado con poda de versiones | Hace 3 días |
Compatibilidad Modo Isla¶
| Categoría | Total servicios | Compatibles | % |
|---|---|---|---|
| Infraestructura | 14 | 14 | 100% |
| Seguridad y red | 14 | 12 | 86% |
| Observabilidad | 10 | 9 | 90% |
| IoT y finca | 9 | 9 | 100% |
| IA y voz | 6 | 6 | 100% |
| Usuario | 13 | 11 | 85% |
| Media | 6 | 5 | 83% |
| Empresa | 4 | 3 | 75% |
| Conocimiento | 6 | 5 | 83% |
| Total | 82 | 74 | 90% |
Los servicios con incompatibilidad en modo isla dependen de APIs externas (Jellyfin metadata, Searxng, FreshRSS feeds) o de validación en línea (FacturaScripts Verifactu). Todos los servicios críticos (Tier S y A) son 100% compatibles con modo isla.
flowchart TD
subgraph Tier1["Servicios Tier S/A — Modo Isla"]
Authentik["✅ Authentik"]
Caddy["✅ Caddy"]
PiHole["✅ Pi-hole"]
Mosquitto["✅ Mosquitto"]
Proxmox["✅ Proxmox"]
ZFS["✅ ZFS"]
PostgreSQL["✅ PostgreSQL"]
Geb["✅ Geb Cerbo GX"]
NetBird["⚠️ NetBird"]
WireGuard["✅ WireGuard"]
end
subgraph Dependencias["Dependencias externas"]
Internet["❌ Internet"]
DNS_Ext["❌ DNS externo"]
NTP["⚠️ NTP externo"]
end
Tier1 -->|"no depende de"| Internet
Tier1 -->|"no depende de"| DNS_Ext
Tier1 -.->|"degradación menor sin"| NTP
style Authentik fill:#a5d6a7,stroke:#2e7d32,color:#000
style Caddy fill:#a5d6a7,stroke:#2e7d32,color:#000
style PiHole fill:#a5d6a7,stroke:#2e7d32,color:#000
style Mosquitto fill:#a5d6a7,stroke:#2e7d32,color:#000
style Proxmox fill:#a5d6a7,stroke:#2e7d32,color:#000
style ZFS fill:#a5d6a7,stroke:#2e7d32,color:#000
style PostgreSQL fill:#a5d6a7,stroke:#2e7d32,color:#000
style Geb fill:#ffe082,stroke:#f57f17,color:#000
style NetBird fill:#ffe082,stroke:#f57f17,color:#000
style WireGuard fill:#a5d6a7,stroke:#2e7d32,color:#000
style Internet fill:#ef9a9a,stroke:#c62828,color:#000
style DNS_Ext fill:#ef9a9a,stroke:#c62828,color:#000
style NTP fill:#ffe082,stroke:#f57f17,color:#000
Incidentes Recientes¶
| Fecha | Servicio | Severidad | Resumen | Resolución |
|---|---|---|---|---|
| Ayer 09:00 | Authentik | 🔴 Alta | Proveedor OAuth2 no respondía. Usuarios sin acceso a ningún servicio con SSO. | Reinicio del worker de Authentik. Recuperado en 4 min. |
| Hace 3 días | Nextcloud | ⚠️ Media | Disco de datos al 92%. Alertmanager disparó aviso. | Poda de versiones automática. Liberados 22 GB. |
| Hace 5 días | Geb | ⚠️ Media | Inversor Victron en modo passthrough. Batería no cargaba. | Reinicio del MPPT. Causa: pico de tensión por tormenta. |
| Hace 7 días | WireGuard | ⚡ Baja | Túnel Ra↔Horus caído durante 12 minutos. | Rekey automático de WireGuard. Sin intervención. |
| Hace 8 días | Ollama | ⚡ Baja | Modelo llama3.1 no cargaba tras update. | Rollback a versión anterior. Corregido en playbook de Ansible. |
Últimos Despliegues¶
| Fecha | Servicio | Tipo | Descripción | Resultado |
|---|---|---|---|---|
| Hoy 08:30 | Matrix | Actualización | Synapse v1.120 → v1.121 | ✅ |
| Ayer 14:00 | Grafana | Configuración | Nuevo dashboard: Modo Isla Overview | ✅ |
| Ayer 11:00 | Forgejo Actions | CI/CD | Workflow de backup pre-despliegue para todos los LXC | ✅ |
| Hace 2 días | Immich | Actualización | v1.124 → v1.125 | ✅ |
| Hace 3 días | Authenik | Actualización | v2024.8 → v2024.10 | ⚠️ Migración de blueprint manual |
| Hace 4 días | Node-RED | Flujo | Automatización de riego con umbral de humedad del suelo | ✅ |
Secciones relacionadas¶
- Runbooks de Emergencia — Procedimientos para caídas de VPN, servicios y otros incidentes
- ADRs — Decisiones de arquitectura documentadas
- Sistemas — Visión global de los 7 subsistemas