Seguimiento de solicitudes entre servicios con OpenTelemetry

Descubre cómo seguí una solicitud entre dos servicios usando OpenTelemetry, desde NestJS hasta piper-tts-rest-api, y visualicé todo en un solo trace con Jaeger.

29 jun 2026 • 4 min de lectura • Equipo Q2BSTUDIO

Implementación práctica de tracing distribuido

En el desarrollo de sistemas distribuidos, una de las preguntas más difíciles de responder en producción es: '¿qué hizo realmente esta petición?' No basta con revisar los logs de cada microservicio por separado; se necesita una visión unificada que muestre el recorrido completo de una solicitud a través de todos los servicios implicados. Aquí es donde entra la trazabilidad distribuida (distributed tracing) y herramientas como OpenTelemetry, que permiten reconstruir el viaje de una petición desde el frontend hasta el último backend, con una única línea de tiempo. Este concepto es esencial para equipos que desarrollan software a medida, ya que suele implicar arquitecturas complejas con múltiples componentes.

OpenTelemetry estandariza un pequeño encabezado HTTP llamado traceparent. Cuando un servicio A (por ejemplo, una API NestJS) realiza una petición HTTP a un servicio B (un servicio Node plano), el SDK de OpenTelemetry en A inyecta ese encabezado en la solicitud saliente. El servicio B, al recibirla, extrae el encabezado y así ambos servicios emiten spans que comparten el mismo trace_id. Herramientas como Jaeger pueden entonces dibujar un árbol de spans donde los spans del servicio B aparecen como hijos del span del servicio A, incluso saltando una frontera de red. Esa relación padre-hijo es la clave de la trazabilidad distribuida.

La implementación práctica requiere arrancar el SDK de OpenTelemetry antes de que se carguen los módulos de Node.js, porque la auto-instrumentación funciona parcheando (monkey-patching) las librerías. Si el SDK se inicia después de que node:http ya se haya resuelto, los hooks de instrumentación no se activan. Por eso en aplicaciones NestJS se suele colocar import './instrumentation' como primera línea del entrypoint, mientras que en módulos ESM es necesario usar --import en el script de inicio, ya que los imports se elevan al principio de la evaluación. Configurar correctamente el BatchSpanProcessor con colas y tiempos de expiración, así como los propagadores que serializan y deserializan el contexto, es fundamental para que la trazabilidad cruce servicios de manera fiable.

Una práctica recomendada es renombrar los spans raíz de GraphQL: por defecto, @opentelemetry/instrumentation-http nombra todos los spans como POST /graphql, lo que resulta inútil cuando se tienen decenas de mutaciones y queries. Un pequeño plugin en Apollo que detecte el nombre de la operación y renombre el span activo puede transformar la visualización en Jaeger, mostrando mutation GenerateChapterAudio en lugar de un genérico POST. Además, añadir el x-trace-id como cabecera de respuesta ayuda enormemente en la depuración: este ID está separado del traceparent (que es para propagación entre servicios) y permite a los desarrolladores rastrear una petición concreta desde el cliente.

Otra optimización clave es el muestreo en el colector de OpenTelemetry. Configurar un tail_sampling (muestreo condicional) permite conservar siempre los traces de errores, descartar operaciones ruidosas como health checks o queries de introspect, y muestrear probabilísticamente el resto. En entornos de desarrollo se puede muestrear al 100%, pero en producción se reduce para controlar costes y volumen de datos. Este tipo de configuraciones avanzadas forman parte de las soluciones que ofrecemos en Q2BSTUDIO, donde ayudamos a empresas a implementar servicios cloud AWS y Azure con observabilidad de primera clase.

La trazabilidad distribuida no es solo una moda técnica: es una necesidad para cualquier arquitectura de microservicios que maneje aplicaciones a medida con múltiples puntos de integración. Cuando una petición falla, saber exactamente qué servicios tocó y en qué orden permite reducir el tiempo de diagnóstico de horas a minutos. Además, combinada con herramientas de inteligencia artificial y agentes IA, la información de los traces puede alimentar modelos predictivos que anticipen cuellos de botella o degradaciones. En Q2BSTUDIO integramos servicios inteligencia de negocio y Power BI para que los datos de trazabilidad se conviertan en dashboards accionables, y también aplicamos ciberseguridad para proteger los endpoints expuestos a través de los propagadores.

En resumen, implementar OpenTelemetry en un ecosistema de servicios requiere planificar el arranque del SDK, configurar propagadores coherentes, evitar instrumentar todo de forma acrítica (como módulos del sistema de archivos o DNS), y añadir pequeños toques ergonómicos como el renombrado de spans o el x-trace-id. El resultado es una visibilidad total del ciclo de vida de cada petición, indispensable para el mantenimiento y evolución de sistemas complejos. Si tu organización busca dominar la observabilidad distribuida, en Q2BSTUDIO ofrecemos consultoría y desarrollo especializado en ia para empresas y automatización de procesos, siempre con un enfoque práctico y orientado a resultados.

¿UNA PAUSA?

Juega un momento antes de irte

NUESTROS SERVICIOS

Cómo podemos ayudarte

Inteligencia artificial

Agentes de IA, chatbots y asistentes inteligentes que automatizan tareas y atienden a tus clientes 24/7 para mejorar la eficiencia de tu negocio.

Más info

Desarrollo de software

Aplicaciones web, móviles y de escritorio, intranets, e-commerce, SaaS y plataformas de gestión diseñadas para las necesidades concretas de tu empresa.

Más info

Servicios cloud

Migración, infraestructura, hosting gestionado, alta disponibilidad y seguridad en Microsoft Azure y Amazon Web Services para que tu negocio escale sin límites.

Más info

Ciberseguridad y pentesting

Auditorías de seguridad, test de intrusión (pentesting) y protección de aplicaciones, datos e infraestructura on-premise y cloud, con hacking ético y cumplimiento normativo.

Más info

Business Intelligence

Cuadros de mando y análisis de datos con Power BI: integramos tus fuentes, diseñamos dashboards y KPIs y convertimos tus datos en decisiones.

Más info

Automatización de procesos

Automatizamos tareas repetitivas y conectamos tus aplicaciones con n8n, Power Automate, Make y RPA, eliminando trabajo manual y aumentando la productividad.

Más info

Formación para empresas

Formamos a tus equipos en tecnología con criterio: desarrollo web, bases de datos, Git, buenas prácticas y seguridad, automatización con n8n, inteligencia artificial para empresas y creación de soluciones de IA con Azure AI Foundry.

Más info

Auditoría de código

Auditamos el código que creas tú, tu equipo o una IA: te decimos qué está bien y qué mejorar, lo securizamos y lo dejamos listo para producción, web o app.

Más info

Generación de imágenes con IA

Creamos por ti las imágenes que necesita tu negocio con inteligencia artificial: producto, redes, publicidad, ilustración y avatares. Tú nos dices qué quieres y te lo entregamos listo para usar.

Más info

Generación de vídeos con IA

Creamos por ti vídeos con inteligencia artificial: promocionales, para redes, presentadores virtuales, doblaje y animaciones. Nos cuentas la idea y te lo entregamos montado y listo para publicar.

Más info

Avatares conversacionales con IA

Creamos avatares conversacionales con IA —humanos digitales con cara y voz— que atienden a tus clientes y equipos con el conocimiento de tu empresa, en tu web, monitores interactivos, WhatsApp o Teams.

Más info

Marketing Online e IA

Google Ads, Meta Ads, LinkedIn Ads y posicionamiento en motores de IA (GEO/AEO): captamos clientes y hacemos que tu marca aparezca donde te buscan, también en ChatGPT, Gemini y Perplexity.

Más info

¿Tienes un proyecto en mente?

Cuéntanos tu visión y la convertimos en una solución de software. Sea cual sea el alcance, hacemos realidad tu idea.

Live Chat