Open Telemetry

Por Ildefonso Gómez 

05/03/2024

De un tiempo a esta parte, cualquiera que esté en temas de monitorización y observabilidad, tanto infraestructuras como de aplicaciones, está oyendo hablar de forma continua de OpenTelemetry.

Si te vas a buscarlo a internet, enseguida llegas a una página web un poco sosa que puedes leer «OpenTelemetry is a CNFC incubating Project» …espera, un proyecto de la Cloud Native Computing Foundation. Pues va a ser que es importante, ¿no?

El caso es que recientemente, todos los fabricantes de observabilidad quieren ser los mayores contribuidores a este proyecto open source, y efectivamente eso es lo que parece si miramos a la siguiente estadística (1):

 

 

todos, incluidos nuestros partners están contriubuyendo intensamente al proyecto, algunos con temas tan importantes como Elastic, que contribuye con su proyecto open source Elastic Common Schema (2)
 

Pero ¿qué es OpenTelemetry?

La definición oficial de OpenTelemetry es «OpenTelemetry is a collection of APls, SDKs, and tools. Use it to instrument, generate, collect, and export telemetry data». Es decir, OpenTelemetry permite recolectar, generar y exportar datos de tus aplicaciones e infraestructura a los sistemas de observabilidad, en otras palabras, hace posible la observabilidad de sistemas y aplicaciones.

¿Pero eso no lo hace ya un sistema de monitorización? 

Bueno, la principal diferencia es que OpenTelemetry ha introducido un marco de referencia común para todos los sistemas de observabilidad. Esto permite, entre otras cosas, desarrollar aplicaciones que usando las APls de OpenTelemetry pueden enviar sus logs y trazas a cualquier sistema de observabilidad.

¿Y qué es un sistema de observabilidad?

Aha! Has llegado al punto importante. OpenTelemetry nace con la observabilidad. Hay dos diferencias fundamentales entre observabilidad y monitorización tradicional.

  • Los sistemas de monitorización tradicionales detectaban errores, mientras que los de observabilidad determinan la causa raíz de los errores.
  • Los sistemas de monitorización eran reactivos (te avisaban cuando había un error) mientras que los de observabilidad son proactivos (te previenen de posibles errores a futuro) usando herramientas de Machine Learning.
Para conseguir esto, se necesita una visibilidad completa de la infraestructura (ya sea onPremise o Cloud) y las aplicaciones y eso se consigue fundamentalmente con tres tipos de datos: métricas de los sistemas, trazas de las aplicaciones y logs de todo lo anterior.
 
Lo importante, si eres desarrollador empieza a utilizar las APls de OpenTelemetry en tus aplicaciones y lo agradecerás a futuro.