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
01a10.
SAFE POINT inicial¶
git status -sb->## main...origin/maingit 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
PostgreSQLoRedis. - 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
Prometheuspara series temporales, mover negocio e historico analitico aPostgreSQL, 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.sqliteconfig/memory/main.sqliteconfig/tasks/runs.sqlite- NPM:
data/database.sqlite- Portainer:
portainer.dbcomo binario propio- Observabilidad:
- TSDB
Prometheusenobs_prometheus_data - historico
Thanosenobs_thanos_objectstore_data
Archivos actuales¶
auth-state.jsonauth-profiles.jsondevice-auth.jsonmanifest.txtySHA256SUMSde backups- targets JSON de blackbox
- reglas Prometheus
- dashboards Grafana versionados
APIs actuales¶
Prometheus APIAlertmanager APIThanos Query APIGrafana /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
Prometheussolo series temporales compactas, de alta frecuencia y agregables. - evitar guardar en
Prometheuseventos 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:
PostgreSQLdebe 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 Querypara metricas PrometheusPostgreSQLpara 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.sqliteyauth-state.json - definir modelo minimo de eventos OpenClaw
- exponer metricas compactas desde exporter custom
- mantener Grafana consultando
Thanospara lo tecnico
Fase B - capa analitica real¶
- crear
PostgreSQLcompartido - 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
Prometheuscomo almacen principal de negocio - no consultar
SQLitedirecto desde Grafana como solucion final - usar
SQLiteactual de OpenClaw como fuente inicial para discovery y ETL - introducir
PostgreSQLantes de BI/finanzas de verdad - construir exporters para OpenClaw y seguridad antes de multiplicar consultas
- mantener
Grafana -> Thanos Querycomo 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
PostgreSQLniRedis - WooCommerce todavia no aparece conectado ni documentado como servicio real
- los logs no estan centralizados en una plataforma de log analytics
portainer.dbno 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