Monitoreo de disponibilidad en Go que cabe en un binario y muestra latencia junto al estado. La interfaz viene embebida en el ejecutable, así que no hay nginx al lado ni carpeta de estáticos que quede desfasada. Proyecto mío, open source bajo AGPL-3.0.
Case Study
Problema
Casi todo incidente empieza con el servicio poniéndose lento, no cayéndose, y un monitor que solo sabe decir arriba o abajo llega tarde a esa historia. Buena parte de las opciones además pide nginx al lado y una carpeta de archivos estáticos, volviéndose más pieza para mantener que el servicio monitoreado.
Decisión Técnica
Un solo binario, con la interfaz embebida por go:embed. Almacenamiento enchufable entre SQLite y PostgreSQL, con la misma batería de conformidad corriendo idéntica en los dos para impedir que base enchufable se vuelva fachada. Los latidos crudos se agregan por hora y por día, y el percentil sale siempre del dato crudo, nunca percentil de percentil. Una sonda independiente separa la caída del objetivo de la caída de la propia red, y solo gana el poder de silenciar una alerta después de probar que funciona, porque una sonda bloqueada por firewall callaría todo para siempre.
Resultado
27 mil líneas de Go, 12 mil de ellas de prueba, en 651 funciones de test. La única superficie sin credencial, la página pública de estado, recibe una batería de intrusión con travesía de ruta, inyección en el slug y cabecera Host forjada. Imagen en GHCR, sitio del proyecto en el aire y licencia AGPL-3.0.