Todas las notas

Armando los colectores del HUD del studio: 26 monitores, una caida falsa y una trampa de scopes de token

2026-07-15

El HUD del studio vigila 26 monitores de uptime y junta metricas de varios servicios, y los dos bugs que mas horas se comieron no fueron caidas. Uno fue un estado que mentia, y otro un token que era valido e inutil al mismo tiempo.

El HUD es lo que me dice si el pipeline detras de Particular Labs de verdad esta corriendo. Armar los colectores fue en su mayoria plomeria aburrida. Lo interesante fueron las dos fallas que no se parecian en nada a su causa.

Por que el tablero mostraba unhealthy si nada estaba caido?

Porque el unhealthy era cosmetico. Un colector reportaba estado desde un campo que se seteo una vez y nunca se refresco, asi que seguia insistiendo en que un servicio estaba degradado mucho despues de que el servicio estaba bien. Nada estaba caido. El tablero solo estaba equivocado con seguridad, que es peor que estar en blanco, porque una luz roja en la que no puedes confiar te entrena a ignorar las luces rojas.

El arreglo no estaba en el servicio. Estaba en hacer que el estado reflejara una prueba en vivo en vez de un valor en cache sin vencimiento. La leccion es vieja y la volvi a aprender igual: un health check que lee un campo guardado no es un health check, es el recuerdo de uno.

Cual era la trampa de scopes de token?

Esta me costo una tarde. Tenia un token que era dueno del recurso que intentaba leer. Era la cuenta correcta, el recurso correcto, un token valido. Aun asi recibia un rechazo.

La trampa es que en este proveedor los scopes del token quedan congelados en el momento en que lo generas. El scope es un eje aparte del acceso. Ser dueno del recurso no significa que el token que tienes en la mano se acuno con permiso para tocarlo. Segui revisando los permisos del recurso, que estaban correctos, cuando el problema real era que el scope que necesitaba no existia en ese token y nunca existiria, porque no puedes agregar un scope a un token despues de emitirlo. Regeneras.

Perdi el tiempo porque asumi que acceso y scope eran lo mismo. Son dos cerraduras en la misma puerta, y yo seguia probando la llave que abria la equivocada.

Que le diria a alguien que arma su propio HUD de operaciones?

Dos cosas. Primero, que cada estado se gane su color con una verificacion real, porque un tablero que miente es un pasivo sobre el que vas a actuar. Segundo, cuando un token es rechazado pero todo en la cuenta se ve bien, revisa si el proveedor congela los scopes al generar antes de gastar una hora auditando permisos que estaban bien desde el principio.

Los 26 monitores son la parte facil. La parte dificil es que cada uno es una promesa de que le vas a creer.

Si estas armando la capa de observabilidad de tus propios sistemas y quieres que diga la verdad, yo hago esto para vivir.

Trabaja conmigo

Si esto te suena a tu martes, yo monto estas cosas para vivir. Trabaja conmigo

Recibe la nota semanal

Un correo a la semana: qué construí, qué costó, qué devolvió. Recibos reales. Date de baja cuando quieras.