Saltar a contenido

O1 - Plataforma de Observabilidad Fundacional

Arquitectura implementada y validada al 2026-06-01.

Estado

  • fase: implementada
  • implementacion: cerrada en verde
  • VPS: cambio controlado
  • Docker: stack O1 desplegado
  • produccion: sin impacto visible en OpenClaw, NPM ni Portainer

SAFE POINT

  • fecha: 2026-06-01T01:50:46-03:00
  • rama: main
  • commit base: 1dd9c8fd8867ead6158259add4b4160ea772a768
  • objetivo del safe point: congelar la base documental antes de abrir el frente de observabilidad

Decision rectora

La plataforma O1 corre como stack privado de observabilidad, desacoplado de la publicacion de OpenClaw y sin puertos publicos nuevos.

Objetivo de O1

  • observar salud del host, Docker y contenedores
  • detectar caidas publicas de OpenClaw
  • preparar dashboards y alertas sin mezclar todavia cambios de produccion
  • mantener el principio actual: todo acceso publico pasa por NPM y todo componente interno queda privado

Arquitectura implementada

Componentes

Componente Objetivo Dependencias Persistencia Volumen Docker requerido Red recomendada Puerto interno Puerto publico NPM Integracion OpenClaw CPU estimada RAM estimada
Prometheus recolectar metricas y ejecutar reglas node-exporter, cadvisor, blackbox-exporter, alertmanager si obs_prometheus_data obs-observability-internal 9090/tcp ninguno no directo scrapea host, contenedores y chequeos de OpenClaw 0.15-0.50 vCPU 300-600 MiB
Grafana visualizacion, dashboards y exploracion prometheus si obs_grafana_data obs-observability-internal 3000/tcp 127.0.0.1:3000 solo localhost no en O1 dashboards de disponibilidad y salud de OpenClaw 0.05-0.20 vCPU 150-250 MiB
Alertmanager ruteo, silencios y agrupacion de alertas prometheus si, liviana obs_alertmanager_data obs-observability-internal 9093/tcp ninguno no recibe alertas sobre OpenClaw y VPS 0.01-0.05 vCPU 30-80 MiB
Node Exporter metricas del host Linux host /proc, /sys, filesystem readonly no bind mounts readonly del host obs-observability-internal 9100/tcp ninguno no observa recursos que afectan a OpenClaw indirectamente 0.01-0.03 vCPU 20-40 MiB
cAdvisor metricas de contenedores Docker Docker runtime, cgroups, fs readonly no bind mounts readonly del host y Docker obs-observability-internal 8080/tcp ninguno no observa svc-openclaw, svc-nginx-proxy-manager y svc-portainer 0.03-0.10 vCPU 80-150 MiB
Blackbox Exporter probes HTTP/HTTPS/TCP externos e internos targets declarados por Prometheus no sin volumen obligatorio; opcional config readonly obs-observability-internal 9115/tcp ninguno no chequea https://openclaw.alpuntodeventa.com.ar/ y futuros endpoints 0.01-0.03 vCPU 20-60 MiB

Dependencias y flujo

Flujo principal

  1. node-exporter, cadvisor y blackbox-exporter exponen metricas en la red interna de observabilidad.
  2. Prometheus scrapea esos exporters y evalua reglas.
  3. Prometheus envia alertas a Alertmanager.
  4. Grafana consulta a Prometheus.
  5. Grafana puede publicarse despues por NPM si se aprueba acceso operador.

Dependencias por capa

  • capa host: node-exporter, cadvisor
  • capa observabilidad: prometheus, grafana, alertmanager, blackbox-exporter
  • capa publicacion: ninguna obligatoria en O1
  • capa OpenClaw: sin cambios en el contenedor ni en su compose para O1

Persistencia requerida

Persistencia obligatoria

  • Prometheus: base TSDB local, reglas y estado de retencion
  • Grafana: base SQLite interna, dashboards, data sources, usuarios y preferencias
  • Alertmanager: estado de silencios y agrupaciones

Persistencia no obligatoria

  • Node Exporter: no requiere persistencia
  • cAdvisor: no requiere persistencia
  • Blackbox Exporter: no requiere persistencia; configuracion puede quedar en bind mount readonly

Volumenes Docker requeridos

Volumenes nominados recomendados

  • obs_prometheus_data
  • obs_grafana_data
  • obs_alertmanager_data

Bind mounts readonly recomendados

  • para node-exporter: /proc, /sys, / con exclusion de paths no necesarios
  • para cadvisor: /, /var/run, /sys, /var/lib/docker
  • para blackbox-exporter: archivo de config readonly si se personalizan modulos

Redes Docker recomendadas

Red nueva obligatoria en fase de implementacion

  • obs-observability-internal
  • tipo: red bridge privada dedicada
  • miembros: prometheus, grafana, alertmanager, node-exporter, cadvisor, blackbox-exporter
  • objetivo: aislar trafico de metricas y administracion del resto del VPS

Red compartida opcional

  • proxy-network
  • uso: conectar solo grafana a NPM si se aprueba publicacion futura
  • regla: Prometheus, Alertmanager, Node Exporter, cAdvisor y Blackbox Exporter no deben unirse a proxy-network

Puertos internos

Componente Puerto
Prometheus 9090/tcp
Grafana 3000/tcp
Alertmanager 9093/tcp
Node Exporter 9100/tcp
cAdvisor 8080/tcp
Blackbox Exporter 9115/tcp

Puertos publicos

  • recomendacion O1: ninguno
  • excepcion futura controlada: publicar solo Grafana por 443 detras de NPM
  • prohibiciones iniciales: no exponer 9090, 9093, 9100, 8080 ni 9115 al host ni a Internet

Integracion con NPM

O1

  • no requerida para funcionamiento base
  • no crear Proxy Host todavia

Futuro controlado

  • si se habilita acceso humano, publicar solo Grafana
  • dominio recomendado: grafana.alpuntodeventa.com.ar o subdominio dedicado equivalente
  • requisitos previos: auth fuerte en Grafana allowlist si aplica decision documental en governance update de catalogos de dominios, puertos, servicios y regresion

Integracion con OpenClaw

O1 sin tocar OpenClaw

  • Blackbox Exporter monitorea disponibilidad HTTPS publica de https://openclaw.alpuntodeventa.com.ar/
  • cAdvisor monitorea consumo del contenedor svc-openclaw
  • Node Exporter monitorea CPU, RAM, disco y load del host que sostiene OpenClaw

O4 futuro

  • agregar jobs o exporters especificos solo si OpenClaw expone metricas compatibles o si se define un endpoint de salud tecnico adicional
  • no asumir hoy cambios de codigo ni puertos nuevos en OpenClaw

Consumo estimado de recursos

Consumo por componente

  • Prometheus: 300-600 MiB, pico mayor en scrapes y reglas
  • Grafana: 150-250 MiB
  • Alertmanager: 30-80 MiB
  • Node Exporter: 20-40 MiB
  • cAdvisor: 80-150 MiB
  • Blackbox Exporter: 20-60 MiB

Consumo agregado estimado

  • RAM total: 600 MiB minima razonable a 1.18 GiB conservadora
  • CPU sostenida: 0.25-0.90 vCPU en operacion normal
  • almacenamiento: Prometheus entre 5 y 20 GiB segun retencion y frecuencia de scrape inicial Grafana menos de 2 GiB Alertmanager menor a 500 MiB

Lectura sobre el VPS actual

Con 7.8 GiB totales y 6.6 GiB disponibles observados al 2026-06-01, O1 es viable, pero Prometheus debe nacer con retencion conservadora y sin cardinalidad alta.

Estrategia de backup

O1

  • incluir obs_prometheus_data, obs_grafana_data y obs_alertmanager_data en el esquema de backup VPS
  • exportar tambien: archivos de configuracion de Prometheus reglas de alertas provisioning de Grafana configuracion de Blackbox Exporter
  • frecuencia recomendada: diaria
  • copia externa: si O1 pasa a produccion, heredar la misma politica de copia externa validada para OpenClaw, NPM y Portainer

Prioridad por criticidad

  • critica: Grafana y configs de Prometheus
  • media: TSDB de Prometheus
  • baja: Alertmanager silencios temporales

Estrategia de actualizacion

Principios

  • actualizar por componente, nunca todo junto
  • backup previo obligatorio de persistencia y configs
  • validar primero exporters, despues Prometheus, despues Alertmanager y por ultimo Grafana

Orden recomendado

  1. Node Exporter
  2. Blackbox Exporter
  3. cAdvisor
  4. Prometheus
  5. Alertmanager
  6. Grafana

Gate documental previo

  • registrar versiones objetivo
  • registrar rollback
  • registrar pruebas de scrape, dashboards y alertas
  • extender la matriz de regresion cuando O1 se implemente

Estrategia de recuperacion

Escenario 1 - falla de un exporter

  • recrear contenedor
  • validar reachability desde Prometheus
  • no deberia requerir restore de datos

Escenario 2 - perdida de Prometheus

  • restaurar config y volumen obs_prometheus_data
  • si la TSDB se pierde pero configs sobreviven: la plataforma recupera monitoreo, pero pierde historia local reciente

Escenario 3 - perdida de Grafana

  • restaurar obs_grafana_data
  • revalidar dashboards, data sources y credenciales locales

Escenario 4 - perdida de Alertmanager

  • restaurar obs_alertmanager_data
  • revalidar rutas de notificacion y silencios

RTO y RPO objetivo inicial

  • RTO O1: 30-60 minutos
  • RPO O1: 24 horas con backup diario

Riesgos

  • Prometheus puede crecer rapido si se configura retencion alta o scrapes muy frecuentes
  • cAdvisor agrega visibilidad util, pero requiere mounts sensibles del host; debe correr con permisos minimos y solo en red privada
  • publicar Grafana sin SSO, MFA o allowlist ampliaria superficie
  • mezclar O1 con la red actual sin aislamiento aumentaria el riesgo de drift
  • alertas tempranas mal calibradas pueden generar ruido y fatiga operativa
  • no hay hoy metricas nativas confirmadas de OpenClaw; O1 arranca con observabilidad de host, contenedor y disponibilidad externa

Recomendacion final

Implementar O1 como stack privado y conservador, sin puertos publicos nuevos y sin tocar OpenClaw en la primera iteracion. La unica publicacion futura que hoy vale la pena evaluar es Grafana detras de NPM, y solo despues de cerrar dashboards, auth y backup.

Roadmap propuesto

O1 - Infraestructura base

  • crear red privada obs-observability-internal
  • desplegar Prometheus, Grafana, Alertmanager, Node Exporter, cAdvisor y Blackbox Exporter
  • configurar retencion corta y scrape conservador
  • registrar catalogos, tests y runbooks

O2 - Dashboards operativos

  • estado: implementado al 2026-06-01
  • dashboards: Executive Overview, Infrastructure Health, Docker Operations, Service Availability, Capacity Planning
  • datasource: Prometheus
  • catalogo rector: O2-DASHBOARDS-CATALOG.md

O3 - Alertas

  • estado: implementado al 2026-06-01
  • alcance: caida HTTPS OpenClaw, RAM alta, disco alto, CPU y load sostenidos, contenedor clave caido, exporters sin datos, targets caidos y crecimiento fuerte de TSDB
  • catalogo rector: O3-ALERTS-CATALOG.md

O4 - Monitoreo OpenClaw

  • evaluar metricas nativas o endpoint tecnico adicional
  • agregar paneles de sesiones, latencia y salud propia de la app

O5 - Monitoreo futuro Gestor AI Orchestrator

  • diseno de jobs, labels y dashboards dedicados
  • comparacion cruzada con OpenClaw y recursos compartidos

O6 - Retencion historica avanzada y evaluacion de Thanos

  • revisar si el VPS justifica almacenamiento historico prolongado
  • evaluar Thanos solo si hay necesidad real de retencion larga, compaction externa o crecimiento multi-servicio

Despliegue ejecutado

  1. se aprobo la arquitectura O1 privada
  2. se creo infra/observability/ con compose, configs y dashboards
  3. se desplego el stack en /opt/stacks/observability
  4. se creo la red obs-observability-internal
  5. se publicaron solo 127.0.0.1:3000 para Grafana
  6. se validaron scrapes, datasource, dashboards y probes
  7. se extendio backup y restore documental para O1
  8. se cargaron reglas O3 y Alertmanager quedo en modo local sin spam externo

Checklist de cierre

  • VPS tocado: si
  • Docker tocado: si
  • contenedores desplegados: si
  • puertos abiertos: solo 127.0.0.1:3000
  • produccion modificada: si, sin impacto visible en OpenClaw/NPM/Portainer
  • alertas O3 activas falsas: no
  • documentacion generada: si