OpenObserve Log Gateway
¿Alguna vez te has preguntado cómo los programadores sabemos qué está fallando en una aplicación cuando algo va mal? La respuesta son los logs (o registros de actividad): una especie de diario de a bordo donde la aplicación escribe todo lo que hace paso a paso (desde "Usuario ha iniciado sesión" hasta "Error al conectar con la base de datos").
Cuando desarrollamos software con la ayuda de agentes de Inteligencia Artificial (IA), nos enfrentamos a un reto fascinante: si la IA está programando o probando una aplicación por nosotros, ¿cómo puede saber qué está fallando bajo el capó? ¿Cómo podemos darle "ojos" para que entienda el comportamiento interno del servidor en tiempo real sin comprometer la seguridad?
Para solucionar esto, desarrollé OpenObserve Log Gateway.
¿Qué es y qué necesidad resuelve?
Es una API intermedia (un gateway o pasarela) que se sitúa entre mis aplicaciones y OpenObserve (una base de datos de logs moderna, ultra rápida y de bajo coste).
Sus funciones principales en el día a día son:
- Seguridad absoluta: Impide que las contraseñas de nuestra base de datos de logs estén expuestas en aplicaciones web públicas (frontend) o clientes. Las aplicaciones solo conocen una "llave de acceso rápida" gestionada por el Gateway, y este se encarga del almacenamiento seguro.
- Limpieza de datos: Si una aplicación envía por descuido información sensible (como una contraseña o un token de tarjeta de crédito) en sus registros, el Gateway la intercepta y la enmascara (
***redacted***) de forma automática antes de guardarla. - Rendimiento: Evita que el servidor se vuelva lento al enviar registros. Los recibe al instante, los encola en memoria y los envía en paquetes optimizados en segundo plano.
El ingrediente mágico: El auto-diagnóstico para Inteligencias Artificiales
Lo más innovador de este proyecto no es solo cómo protege y organiza los logs de usuarios humanos, sino cómo lo utilizan mis agentes de Inteligencia Artificial.
El flujo de trabajo automatizado funciona de la siguiente manera:
- Escritura inteligente: Al programar mis aplicaciones, configuro el sistema de logging estándar de Node.js (utilizando la librería
Pino.js). Utilizando su capacidad para conectarse a transportes externos, instruyo a los agentes de IA para que hagan que la aplicación envíe automáticamente sus trazas de depuración a nuestro Gateway en tiempo real. - Lectura y comprensión vía MCP (Model Context Protocol): A través de un servidor de integración MCP que desarrollé posteriormente, los agentes de IA tienen la capacidad de realizar consultas estructuradas y seguras a este Gateway.
- El círculo de la autonomía: Cuando ocurre un error en el código que estamos probando, el agente de IA no se queda a ciegas esperando que yo le copie y pegue la consola. Él mismo accede al Gateway, consulta los logs exactos del error de forma segura, comprende qué ha fallado (por ejemplo, una variable mal definida o una respuesta inesperada del servidor) y aplica la corrección en el código por sí mismo.
Beneficios obtenidos
Gracias a esta arquitectura, he logrado un entorno de desarrollo donde las IAs colaboradoras son increíblemente autosuficientes a la hora de depurar problemas. No solo he centralizado la observabilidad de mis proyectos de manera económica y robusta, sino que he creado un ecosistema donde el software es capaz de vigilarse, explicarse y corregirse a sí mismo con mínima intervención humana.
