Observabilidad¶
Mínima y suficiente. Sin Prometheus, sin Grafana, sin stack de observabilidad. La tabla
ingestas más tres alertas.
Lo que hay que ver¶
Salud por fuente¶
Una fila en ingestas por corrida por fuente: cuándo arrancó, estado, cuántos registros,
error si hubo.
fuentes.ultimo_ok guarda la última corrida con resultados, no la última corrida sin
excepción. La distinción importa.
Fallo parcial¶
Una fuente caída no debe matar la corrida
Si UNGM cae, el resto tiene que seguir. Cada fuente se ingiere en su propio bloque con
manejo de excepciones, y el fallo se registra en ingestas sin abortar el bucle.
Las tres alertas¶
1. Fuente en silencio. Si una fuente lleva N corridas devolviendo cero registros, alertar. Umbral inicial: 3 corridas para diarias, 2 para semanales.
Esta es la alerta más importante del sistema. Detecta el modo de fallo silencioso.
2. Fuente en error. Excepción en la ingesta de una fuente. Alertar a la primera, no acumular.
3. Alerta de negocio. Aviso que pasa filtros duros con ventana corta. No es una alerta técnica pero usa el mismo canal.
Presupuesto de ruido
Entre las tres, no deberían sumar más de cinco o seis mensajes al mes en estado normal. Si superan eso, alguien va a dejar de mirarlas, y entonces el sistema entero deja de funcionar sin que nadie lo note.
Métricas de calibración¶
No son alertas. Se revisan en el panel del admin cuando se ajusta algo.
| Métrica | Para qué |
|---|---|
| Descartes por código de razón, por mes | Detectar un filtro duro que descarta de más |
| Ítems por edición del reporte | Criterio de aceptación 1: máximo cinco |
| Proporción bid / no_bid / ignorar en la tabla de decisiones | Criterio 2: precisión |
| Mediana de días entre detección y fecha límite | Criterio 4: anticipación |
| Registros nuevos por fuente por semana | Detectar deriva antes de que sea silencio |
Logs¶
Logs estructurados de Django a archivo, rotados. No hace falta más a este volumen.
Toda excepción de red lleva en el log: fuente, endpoint, parámetros, código de respuesta y los primeros caracteres del cuerpo. Sin eso, depurar un cambio de contrato es adivinanza.