Saltar a contenido

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.