Vigia
C#·.NET 10·ASP.NET Core·PostgreSQL·EF Core·Docker
- Rol
- Solo — diseño, backend y despliegue
- Problema
- Tengo varios servicios en un mismo servidor y ninguna forma de saber si están vivos ni cuándo dejaron de estarlo. Prometheus con Grafana son dos servicios más que operar, y su modelo de scrapeo asume que puede alcanzar la máquina: justo lo que falla cuando la máquina se cae.
- Decisión
- Motor de ingesta propio, push-first y dimensionado para un operador. El dominio no lee, no escribe, no duerme y no pregunta qué hora es —el instante entra siempre como parámetro—, y hay tests que rompen el build si algún archivo toca el reloj del sistema. La ruta caliente escribe con COPY binario en vez de EF Core, y la retención suelta particiones enteras en lugar de borrar filas.
- Resultado
- Ingesta, rollups y motor de alertas corren en producción sobre el servidor donde vive el bot de Discord de esta misma página, y las alertas entregan a Discord de verdad, no en un test. Falta el panel. Ninguna regla ha disparado todavía por una condición real —la única prueba fue provocada—, así que los umbrales están puestos con criterio y no calibrados contra lo que hace el servidor.
Último push: 7 sept 2026
Miguel Lucía