Saltar a contenido

O5 - Data Sources Inventory

Fecha: 2026-06-01

Objetivo

Inventariar las fuentes de datos actuales y potenciales que podran alimentar Grafana para observabilidad de negocio, sin implementar dashboards todavia.

Alcance y criterio

  • Este repo contiene principalmente operacion, gobierno y observabilidad del runtime OpenClaw, no el codigo aplicativo de negocio.
  • Por eso este inventario separa:
  • actual: fuente evidenciada en el estado operativo vigente.
  • potencial: fuente prevista por arquitectura, roadmap o placeholders O4, pero no implementada aun en el estado actual.
  • La clasificacion usa las carpetas permanentes de Grafana 01 a 10.

SAFE POINT inicial

  • git status -sb -> ## main...origin/main
  • git rev-parse HEAD -> 92ed8d4e042af5f191f931bb0af9648fcf790fb4

Resumen ejecutivo

  • Hoy existe una base solida de observabilidad tecnica: Prometheus, Thanos, Grafana, Alertmanager, Node Exporter, cAdvisor, Blackbox Exporter.
  • Las fuentes de negocio actuales mas reales estan dentro de OpenClaw: config/flows/registry.sqlite, config/memory/main.sqlite, config/tasks/runs.sqlite, openclaw health --json, models status, eventos de pairing y logs del gateway.
  • No existe aun una capa BI/financiera dedicada ni una base compartida tipo PostgreSQL o Redis.
  • WooCommerce, Orchestrator, BI, Financial Control y Executive Board ya tienen carpeta reservada en Grafana, pero todavia no tienen fuente productiva materializada en este repo.
  • Recomendacion rectora O5: conservar Prometheus para series temporales, mover negocio e historico analitico a PostgreSQL, y dejar en Grafana solo consultas directas de bajo volumen o lectura puntual desde APIs.

01 Infrastructure

Estado Fuente de datos Ubicacion Responsable Frecuencia Historico Integracion
actual metricas host Node Exporter infra/observability/docker-compose.yml, scrape job=node-exporter Gabi cada 30s si, via Prometheus + Thanos baja
actual capacidad y salud Prometheus obs_prometheus_data, reglas y API Gabi cada 30s si baja
actual probes HTTP/HTTPS Blackbox Exporter infra/observability/prometheus/targets/*.json Gabi cada 30s si baja
actual baseline operativa documental docs/governance/operations/PERFORMANCE-BASELINE.md y OPERATIONS-CONTROL-TOWER.md Gabi manual por revision parcial media

KPIs propuestos:

  • disponibilidad del VPS
  • uso de CPU
  • uso de RAM
  • uso de disco
  • crecimiento de series activas en Prometheus
  • exito de probes externos

02 Containers

Estado Fuente de datos Ubicacion Responsable Frecuencia Historico Integracion
actual metricas Docker cAdvisor infra/observability/docker-compose.yml, scrape job=cadvisor Gabi cada 30s si baja
actual estado de contenedores clave docker ps, alertas O3/O4, Prometheus up{job=...} Gabi cada 30s si baja
actual logs de contenedores runtime Docker y evidencia documental Gabi event-driven no centralizado media
potencial eventos Docker formales docker events via exporter o collector dedicado Gabi tiempo real si, si se persiste media

KPIs propuestos:

  • contenedores up por stack
  • reinicios por contenedor
  • CPU por contenedor
  • RAM por contenedor
  • uso de filesystem por contenedor
  • tasa de caidas por servicio

03 Databases

Estado Fuente de datos Ubicacion Responsable Frecuencia Historico Integracion
actual registry.sqlite de flows /opt/stacks/openclaw/config/flows/registry.sqlite Gabi por cambio de flows si, mientras se conserve archivo o se extraiga a analitica media
actual main.sqlite de memoria /opt/stacks/openclaw/config/memory/main.sqlite Gabi por actividad del agente si media
actual runs.sqlite de tareas /opt/stacks/openclaw/config/tasks/runs.sqlite Gabi por ejecucion de tareas/runs si media
actual database.sqlite de NPM /docker/nginx-proxy-manager/data/database.sqlite Gabi por cambio administrativo si media
actual portainer.db binario volumen portainer_data_new Gabi por actividad operativa si, pero de lectura menos directa alta
potencial PostgreSQL compartido no existe aun; previsto por USAGE-TEMPLATE.md pendiente designar near real time si media
potencial Redis compartido no existe aun; previsto en alertas futuras O4 pendiente designar near real time muy limitado nativamente media

KPIs propuestos:

  • cantidad de flows registrados
  • ejecuciones por hora
  • ejecuciones fallidas por hora
  • latencia media de runs
  • crecimiento diario de tablas SQLite
  • locks, conexiones y saturacion cuando exista PostgreSQL

04 OpenClaw

Estado Fuente de datos Ubicacion Responsable Frecuencia Historico Integracion
actual openclaw health --json CLI dentro de openclaw-openclaw-gateway-1 Gabi a demanda o por smoke test parcial si se persiste baja
actual openclaw models status CLI dentro del contenedor Gabi a demanda parcial si se persiste baja
actual auth state y usageStats /opt/stacks/openclaw/config/agents/main/agent/auth-state.json Gabi por uso del provider si media
actual perfiles de auth /opt/stacks/openclaw/config/agents/main/agent/auth-profiles.json Gabi por cambio administrativo si media
actual device auth y pairing /opt/stacks/openclaw/config/identity/device-auth.json y logs gateway Gabi event-driven si media
actual availability publica probe HTTPS a https://openclaw.alpuntodeventa.com.ar/ Gabi cada 30s si baja
actual eventos de workflow/run config/tasks/runs.sqlite y config/flows/registry.sqlite Gabi por ejecucion si media
potencial metricas nativas de negocio OpenClaw exporter custom o endpoint interno Gabi tiempo real si media-alta

KPIs propuestos:

  • workflows ejecutados por hora
  • workflows exitosos vs fallidos
  • tiempo medio por run
  • sesiones activas
  • pairing requests pendientes
  • errores por tipo
  • consumo por provider/modelo

05 Orchestrator

Estado Fuente de datos Ubicacion Responsable Frecuencia Historico Integracion
potencial core states del orquestador base compartida recomendada PostgreSQL pendiente designar near real time si media
potencial cola/event bus Redis, NATS, RabbitMQ o equivalente aun no definido pendiente designar tiempo real segun tecnologia media-alta
potencial ejecuciones de automatizacion tablas orchestrator_core o n8n previstas en USAGE-TEMPLATE.md pendiente designar por ejecucion si media
potencial webhooks entrantes/salientes logs estructurados o tabla de eventos pendiente designar event-driven si media

KPIs propuestos:

  • jobs disparados por hora
  • jobs exitosos vs fallidos
  • backlog de cola
  • retries por workflow
  • SLA de procesamiento
  • latencia webhook a webhook

06 WooCommerce

Estado Fuente de datos Ubicacion Responsable Frecuencia Historico Integracion
potencial API REST WooCommerce tienda productiva externa, no conectada aun owner ecommerce pendiente near real time si, si se persiste en BI media
potencial webhooks WooCommerce endpoint receptor futuro en Orchestrator/OpenClaw owner ecommerce pendiente event-driven si media
potencial base operativa WooCommerce fuera de este repo owner ecommerce pendiente transaccional si alta
potencial disponibilidad storefront y checkout Blackbox Exporter con nuevos targets Gabi + owner ecommerce cada 30s si baja

KPIs propuestos:

  • pedidos por hora
  • ventas por dia
  • ticket promedio
  • conversion checkout
  • errores de checkout
  • pedidos por estado
  • ventas por marca
  • ventas por canal

07 Business Intelligence

Estado Fuente de datos Ubicacion Responsable Frecuencia Historico Integracion
potencial mart analitico PostgreSQL servicio futuro compartido recomendado pendiente designar negocio/BI batch o near real time si media
potencial snapshots/exportaciones CSV exports/ o pipeline futuro fuera del repo pendiente designar negocio/BI diario o intradiario si baja-media
potencial consolidacion WooCommerce + OpenClaw + finanzas tablas BI derivadas pendiente designar negocio/BI batch si media-alta
potencial reportes programados mail platform o jobs futuros pendiente designar negocio/BI diario/semanal si media

KPIs propuestos:

  • ventas por hora
  • ventas por dia
  • ventas por marca
  • ventas por canal
  • margen bruto
  • crecimiento semanal
  • clientes nuevos vs recurrentes
  • top productos o marcas

08 Financial Control

Estado Fuente de datos Ubicacion Responsable Frecuencia Historico Integracion
potencial ledger/caja operativa base o planilla consolidada aun no definida pendiente designar finanzas diario si media
potencial deuda y cuentas por pagar/cobrar ERP, planilla o DB futura pendiente designar finanzas diario si media
potencial costos IA y consumo proveedor auth-state.json, APIs de provider o ETL dedicado pendiente designar finanzas + Gabi diario si media-alta
potencial conciliacion ventas/caja BI o base financiera derivada pendiente designar finanzas diario si media

KPIs propuestos:

  • capital disponible
  • caja diaria
  • deuda total
  • cuentas por cobrar
  • cuentas por pagar
  • rotacion
  • costo IA por dia
  • margen neto estimado

09 Security

Estado Fuente de datos Ubicacion Responsable Frecuencia Historico Integracion
actual alertas Prometheus de superficie y disponibilidad reglas O3/O4 Gabi cada 30s si baja
actual evidencias de exposicion y puertos docs/governance/security/*, EXPOSED-SERVICES.md Gabi manual por cambio parcial media
actual eventos de pairing/device auth logs OpenClaw y device-auth.json Gabi event-driven si media
actual logs NPM y metadata proxy /docker/nginx-proxy-manager/data, contenedor NPM Gabi event-driven parcial media
potencial fail2ban, ufw, auth logs SSH host Ubuntu, no scrapeado aun Gabi event-driven si media
potencial exportador de seguridad exporter custom o collector de logs Gabi tiempo real si media-alta

KPIs propuestos:

  • intentos de acceso fallidos
  • eventos de pairing por periodo
  • cambios en superficie expuesta
  • certificados por vencer
  • endpoints caidos por seguridad/TLS
  • bans fail2ban

10 Executive Board

Estado Fuente de datos Ubicacion Responsable Frecuencia Historico Integracion
actual resumen ejecutivo tecnico dashboard 10 - Executive Board ya provisionado Gabi cada 30s si baja
potencial agregados BI PostgreSQL BI recomendado pendiente designar direccion/BI diario o intradiario si media
potencial agregados financieros base financiera futura pendiente designar direccion/finanzas diario si media
potencial SLA OpenClaw y Orchestrator tablas analiticas derivadas + Prometheus Gabi + owner negocio horario/diario si media

KPIs propuestos:

  • ventas del dia
  • disponibilidad de servicios criticos
  • workflows procesados hoy
  • incidentes criticos abiertos
  • capital disponible
  • costo IA acumulado
  • tendencia semanal consolidada

Fuentes actuales inventariadas

Bases de datos actuales

  • OpenClaw:
  • config/flows/registry.sqlite
  • config/memory/main.sqlite
  • config/tasks/runs.sqlite
  • NPM:
  • data/database.sqlite
  • Portainer:
  • portainer.db como binario propio
  • Observabilidad:
  • TSDB Prometheus en obs_prometheus_data
  • historico Thanos en obs_thanos_objectstore_data

Archivos actuales

  • auth-state.json
  • auth-profiles.json
  • device-auth.json
  • manifest.txt y SHA256SUMS de backups
  • targets JSON de blackbox
  • reglas Prometheus
  • dashboards Grafana versionados

APIs actuales

  • Prometheus API
  • Alertmanager API
  • Thanos Query API
  • Grafana /metrics
  • endpoint OpenClaw /healthz
  • CLI OpenClaw con salida JSON (health --json)

Logs estructurados y eventos actuales

  • logs del contenedor OpenClaw
  • logs del contenedor NPM
  • logs del contenedor Portainer
  • logs de backup en /root/openclaw-backups/logs/
  • eventos de pairing, device identity y auth del gateway

Workflows y metricas actuales

  • workflows/runs persistidos en runs.sqlite
  • flows registrados en registry.sqlite
  • sesiones visibles por health --json
  • metricas host, Docker, probes y Prometheus/Thanos

Arquitectura recomendada O5

1. Que debe ir a Prometheus

  • disponibilidad y latencia de endpoints
  • salud de exporters y jobs
  • contadores y duraciones de workflows expuestos como metricas
  • colas, retries, throughput y errores tecnicos
  • metricas de runtime OpenClaw y Orchestrator
  • metricas de seguridad de alta frecuencia

Regla:

  • mandar a Prometheus solo series temporales compactas, de alta frecuencia y agregables.
  • evitar guardar en Prometheus eventos detallados, payloads o datos de negocio con cardinalidad alta.

2. Que debe quedar en PostgreSQL

  • historico analitico de workflows
  • eventos de negocio normalizados
  • hechos de WooCommerce
  • hechos financieros
  • costos de IA y conciliacion
  • tablas BI y Executive Board
  • auditoria de integraciones

Regla:

  • PostgreSQL debe ser la verdad de negocio y reporting historico.
  • OpenClaw no deberia usarse como data warehouse; sus SQLite actuales deben considerarse fuente primaria chica o fuente de staging.

3. Que puede consultar Grafana directamente

  • Thanos Query para metricas Prometheus
  • PostgreSQL para BI, finanzas y executive summaries
  • WooCommerce REST API solo para validaciones puntuales o panels de bajo volumen
  • archivos CSV/exports solo como transicion, no como estado final

Regla:

  • Grafana no deberia depender de consultas directas a multiples APIs externas para dashboards ejecutivos criticos.
  • para negocio recurrente conviene ETL hacia PostgreSQL.

4. Que conviene exponer mediante exporters

  • OpenClaw custom exporter:
  • runs por estado
  • duracion de runs
  • sesiones activas
  • pairing pendiente
  • errores por tipo
  • PostgreSQL exporter:
  • disponibilidad, conexiones, locks, bloat, replication si aparece
  • Redis exporter:
  • memoria, ops, evictions, hit rate
  • Docker events/log exporter:
  • reinicios y eventos de contenedores
  • Security/log exporter:
  • fail2ban, SSH, ufw, eventos NPM
  • WooCommerce synthetic exporter:
  • probes de storefront, checkout y API

Prioridades de integracion

Fase A - lo que ya puede aprovecharse

  • leer runs.sqlite, registry.sqlite y auth-state.json
  • definir modelo minimo de eventos OpenClaw
  • exponer metricas compactas desde exporter custom
  • mantener Grafana consultando Thanos para lo tecnico

Fase B - capa analitica real

  • crear PostgreSQL compartido
  • replicar o extraer datos de OpenClaw hacia tablas analiticas
  • preparar esquema para Orchestrator, WooCommerce y finanzas

Fase C - negocio consolidado

  • integrar WooCommerce
  • integrar costos IA
  • integrar caja/deuda/capital
  • construir vistas ejecutivas

Roadmap O5 propuesto

O5.1 - OpenClaw Analytics Foundation

  • inventario real de tablas SQLite
  • diccionario de eventos OpenClaw
  • exporter custom OpenClaw
  • primeros KPIs de runs, errores y sesiones

O5.2 - Shared Data Platform

  • provision de PostgreSQL
  • esquema analitico comun
  • ETL desde SQLite OpenClaw
  • definicion de ownership por dominio

O5.3 - Business Intelligence

  • integracion WooCommerce
  • hechos de ventas
  • dimensiones de marca, canal y fecha
  • dashboards BI en carpeta 07

O5.4 - Financial Control

  • costos IA
  • caja, capital, deuda y rotacion
  • vistas de control financiero en carpeta 08

O5.5 - Orchestrator Analytics

  • eventos de automatizacion
  • throughput, backlog, retries y SLA
  • dashboards en carpeta 05

O5.6 - Security Analytics

  • fail2ban, SSH, NPM y device auth
  • metricas y alertas de seguridad operativa
  • dashboards en carpeta 09

O5.7 - Executive Board

  • consolidado diario
  • KPIs de negocio + operacion + finanzas
  • dashboards 10 - Executive Board

Decisiones recomendadas

  • no usar Prometheus como almacen principal de negocio
  • no consultar SQLite directo desde Grafana como solucion final
  • usar SQLite actual de OpenClaw como fuente inicial para discovery y ETL
  • introducir PostgreSQL antes de BI/finanzas de verdad
  • construir exporters para OpenClaw y seguridad antes de multiplicar consultas
  • mantener Grafana -> Thanos Query como regla tecnica cerrada

Riesgos y gaps

  • no hay aun diccionario formal de tablas SQLite de OpenClaw
  • no hay ownership de negocio/finanzas definido en el repo actual
  • no existe servicio compartido PostgreSQL ni Redis
  • WooCommerce todavia no aparece conectado ni documentado como servicio real
  • los logs no estan centralizados en una plataforma de log analytics
  • portainer.db no es una fuente amigable para observabilidad de negocio

Cierre de esta etapa

  • SAFE POINT inicial: SI
  • documento creado: SI
  • clasificacion completa 01-10: SI
  • roadmap propuesto: SI
  • implementacion de dashboards: NO, fuera de alcance O5.0