System health
Vista umbrella de salud de la plataforma: budget engine, commission parity, data pipelines y control center.
System health
La pagina System health (/v2/system) es el paraguas donde viven las herramientas internas de monitoreo de Relo. Reune cuatro tabs que antes eran paginas separadas:
| Tab | Para que sirve |
|---|---|
| Budget engine | Telemetria del cron que auto-pausa y cascadas presupuestos. |
| Commission parity | Deteccion de drift entre el motor SQL y el motor Go de comisiones. |
| Data pipelines | Salud de ingestas, pipelines, DLQs y componentes de backend. |
| Control center | Feed unificado de propuestas de IA, reglas, acciones manuales y errores. |
Acceso La pagina esta bajo "More" en el sidebar; tambien se llega desde deep-links de admin-fraud y org settings.
Budget engine
Este tab muestra la telemetria del cron BUDGET_ENGINE, que corre cada cierto tiempo para:
- Auto-pause: pausar partners que ya alcanzaron su cap presupuestal.
- Cascade: propagar cambios de presupuesto a subsecuentes periodos/meses.
Que ves
- Ticks: cuantas veces corrio el cron.
- Mutated: cuantos registros cambio.
- Errors: cuantos fallos hubo.
- Duration: cuanto tardo cada corrida.
- Parity drift: diferencias entre el runner Worker y el runner Go (durante
BUDGET_ENGINE=parity).
Estados saludables
- Go corre primero y muta la DB.
- Worker corre segundo y tipicamente ve 0 candidatos (eso es esperado, no es drift).
- Si ves mutaciones diferentes entre Go y Worker en el mismo tick, hay que investigar.
Commission parity
Durante COMMISSION_ENGINE=parity, el API Worker ejecuta tanto la funcion SQL como el pipeline Go en cada lectura de comision, usa SQL como canonico y loguea cualquier drift mayor a la tolerancia.
KPIs
| KPI | Significado |
|---|---|
| Drifts last 24h | Cuantas veces Go y SQL discreparon en las ultimas 24 horas. |
| Drifts last 7d | Ventana de 7 dias. |
| Drifts last 30d | Ventana de 30 dias. |
Cuando es seguro cambiar a Go
Regla de oro: 0 drifts en 24h durante 7 dias consecutivos. Si ves un drift, expande el row para ver el detalle por segmento y partner antes de considerar el cambio.
Causas comunes de drift
- Diferencia en redondeo entre SQL y Go.
- Tiered rates aplicados en orden distinto.
- Cache stale en uno de los motores.
- Datos de presupuesto leidos en momentos distintos.
Data pipelines
Este tab consolida la salud de la ingesta de datos.
Health banner
Estado general de la plataforma:
- All systems operational: todo verde.
- Operational with degraded checks: algo no responde bien pero la plataforma sigue.
- Backbone unreachable: no hay conexion con el backbone.
Muestra:
- Ultimo AF pull (compras).
- Ultima corrida del aggregator (filas).
- Profundidad de DLQ (dead letter queue).
Tracking sources
Lista las fuentes configuradas para el cliente activo: AppsFlyer, pixel, webhooks, Stripe, Shopify, etc. Cada una muestra:
- Status:
active,degraded,paused,error. - Eventos de hoy.
- Ultima sincronizacion.
Processing pipeline
Visualiza las etapas por las que pasa cada evento:
Ingest → Enrich (geo · device) → Rules (243ms · 17 rules) → Persist (CH + R2 WAL) → Aggregate
Ingest filters
Eventos que se mantienen segun filtros configurados:
- Pais:
MX only. - Moneda:
MXN only. - Revenue minimo:
$0.01.
Fraud guards
Condiciones que marcan o rechazan eventos:
- Velocity: max 10 ordenes por dispositivo por dia.
- New device spike: compra de alto valor en primer evento.
- Currency mismatch: rechazar si la moneda no coincide.
- IP reputation: bloquear IPs conocidas como bots.
Dead letter queues (DLQ)
Eventos que fallaron al procesarse:
- Clicks DLQ
- S2S DLQ
- Pixel DLQ
Tambien muestra el buffer de eventos/clicks pendientes.
Component health
Chequeos de subsistemas del backbone:
| Componente | Que es |
|---|---|
| ClickHouse | Motor analitico en Hetzner. |
| DragonflyDB | Redis-compatible para identity graph y cache de fraude. |
| R2 WAL | Write-ahead log en Cloudflare R2. |
| Supabase | Postgres + auth. |
Recent imports
Ultimos CSV uploads y backfills del cliente activo, con:
- Nombre de archivo.
- Filas totales.
- % atribuido.
- Status:
completed,failed,processing.
Control center
Feed unificado de todo lo que el sistema hace (y esta por hacer). Es util para ver propuestas de la IA, reglas disparadas, acciones manuales y errores en un solo lugar.
Filtros
- All: todo.
- Pending: propuestas esperando aprobacion/rechazo.
- AI proposals: propuestas generadas por Relo AI.
- Rules: reglas que se dispararon.
- Manual: cambios hechos por admins.
- Errors: errores del sistema.
Acciones inline
- Approve: aceptar una propuesta de IA.
- Reject: rechazarla. Al rechazar se abre un modal para capturar el motivo y que la IA aprenda.
Razones de rechazo
| Razon | Cuando usar |
|---|---|
| Wrong timing | No es el momento para la accion propuesta. |
| Wrong segment | El segmento no es el correcto. |
| Amount too high | El monto/cambio es muy agresivo. |
| Amount too low | El monto/cambio es muy conservador. |
| Missing context | Falta contexto de negocio. |
| Partner issue | Problema de fraude, pausa, etc. |
| Other | Otro (escribir abajo). |
Detalle de una entrada
Al hacer clic en una entrada se abre un drawer con:
- Actor y timestamp.
- Razonamiento de la IA.
- Efecto que vera el partner.
- Payload completo.
- Enlace al audit event relacionado.
Promote to rule
Cuando una propuesta detecta un patron, puede promoverse a una regla draft. Despues de aprobarla, debes revisarla y activarla en el Rule Builder.
Relacion con otras guias
- Organization settings — Punto de entrada a configuracion global.
- Admin Data — Fuentes de datos y tracking sources.
- Admin Rules — Reglas, tiers y presupuestos.
- Admin Fraud Quality — Fraude review y RQI.
- API REST reference — Endpoints internos de control center.
Troubleshooting
| Problema | Donde revisar | Accion |
|---|---|---|
| Comisiones raras | Commission parity | Revisar drifts y comparar SQL vs Go. |
| Presupuestos no pausan | Budget engine | Revisar ticks, errors y duracion. |
| No llegan eventos | Data pipelines → Tracking sources | Verificar status y ultima sync. |
| DLQ alto | Data pipelines → DLQ | Investigar causa y re-procesar si aplica. |
| IA propone tonteras | Control center → Reject con razon | El feedback mejora las proximas propuestas. |
Necesitas ayuda?
Para cambios sensibles (rotacion de API keys, failover, restore de backups) o si un componente aparece como DOWN, contacta al equipo de infraestructura de Relo.