Introducción

Recientemente, anunciamos el lanzamiento general (GA) de APM + OpenTelemetry Convergence de New Relic, lo que significa que nuestra plataforma ahora ofrece una experiencia de observabilidad de primer nivel para tus datos de OpenTelemetry (OTel).

Dado que OTel es en sí un framework de recopilación de datos y no un backend de observabilidad, la instrumentación es solo el primer paso en el proceso de adopción. El proyecto se centra en la cuestión de cómo generar telemetría, pero no en qué hacer con ella: para obtener información valiosa de los flujos de datos sin procesar producidos por OTel, se necesita una plataforma sofisticada, escalable e inteligente para ingerir, almacenar, correlacionar y visualizar estos datos. 

Es ahí donde New Relic entra en acción. En esta publicación del blog, utilizaremos la bifurcación de New Relic de la aplicación de demostración de la comunidad OpenTelemetry, Astroshop, para mostrar cómo New Relic te ayuda a obtener valor de tus datos de OTel. 

Despliegue de Astroshop

Astroshop es un sistema distribuido basado en microservicios, creado por la comunidad de OTel en varios lenguajes de programación para demostrar la implementación de OTel en un entorno casi real. New Relic mantiene una bifurcación de esta aplicación de demostración; para cerrar la brecha entre la instrumentación y la información valiosa, hemos preconfigurado nuestra bifurcación para agilizar el proceso de configuración y permitirte enviar datos a tu cuenta de New Relic casi de inmediato.

Astroshop también incluye banderas de características, que puedes activar o desactivar para simular distintos problemas de software del mundo real. En el ejemplo que usamos en esta publicación, se habilitó la característica productcatalogfailure, lo que significa que se generará un error para las solicitudes GetProduct con un ID de producto específico. 

Desplegar la aplicación de demostración es sencillo. Confirma que tu entorno cumple con los requisitos previosclona la bifurcación, y luego despliega Astroshop localmente usando KubernetesDocker. A continuación, valida tu despliegue y, finalmente, exploremos tus datos.

Visualizar datos en la UI de New Relic

Una vez que los distintos microservicios de Astroshop comiencen a reportar datos (espera unos minutos luego del despliegue para que se sinteticen las entidades), podrás verlos todos en tu vista Entidades. En tu cuenta de New Relic, ve a APM y servicios, haz clic en Servicios - OpenTelemetry y luego en “Ver todo”.

Nota: Notarás que no todos los servicios reportan datos de tiempo de respuesta, rendimiento y tasa de errores; esto se debe a dos razones:

  • APM + OTel Convergence se basa en datos de métricas, que todavía no todos los servicios reportan.
  • El proyecto OTel tiene distintos niveles de implementación en los SDK y API del lenguaje, lo que afectó la instrumentación de métricas en algunos de los servicios. 

APM + OTel UI Convergence está diseñada para llevar la experiencia de APM de primer nivel de New Relic a las fuentes de datos de OTel. El mecanismo central de esta convergencia es un proceso de normalización de datos inteligente: cuando se envían datos estándar de OTel al extremo OTLP de New Relic, la plataforma genera automáticamente una copia normalizada de esos datos, adaptándolos a nuestras convenciones semánticas de APM, que son sólidas y maduras. Este proceso se realiza sin alterar los datos originales: la fuente OTel se conserva íntegra y está disponible para consultas, lo que garantiza una fidelidad total de los datos. 

La UI no se completa automáticamente por arte de magia: es el resultado directo de seguir las convenciones semánticas definidas por OTel y reconocidas por la plataforma de New Relic. New Relic utiliza atributos específicos asociados a los datos de telemetría para sintetizar entidades, es decir, el proceso de identificarlas, clasificarlas y crearlas como servicios, hosts y bases de datos dentro de la UI.

La siguiente tabla detalla varios atributos esenciales y las características específicas de New Relic que permiten utilizar:

Atributo OTelNivel de requisitoCaracterística New Relic habilitadaPor qué es importante
servicio.nombreRequeridoSíntesis de entidadesEste es el identificador principal. Sin este, tu servicio no aparecerá como una entidad distinta en la UI de New Relic.
service.instance.idRecomendadoDesglose de "Instancias"Te permite filtrar y comparar el rendimiento entre diferentes instancias (por ejemplo, pods) del mismo servicio.
telemetry.sdk.languageRecomendadoVistas de UI específicas del lenguajeDesbloquea vistas especializadas, como la página "JVM" para servicios Java, proporcionando métricas específicas del tiempo de ejecución.
host.id / host.nameRecomendadoCorrelación entre servicio y hostVincula tu servicio de aplicación con la entidad de host subyacente (máquina física o virtual) en la vista de mapa de servicios y en las vistas de infraestructura.
k8s.clúster.nameRecomendadoCorrelación de KubernetesVincula tu servicio al clúster de Kubernetes específico en el que se ejecuta, habilitando la pestaña "Kubernetes" en la página de resumen del servicio.
traza.id / span.idImplícitamente requeridoLogs en contexto / Correlación de trazasEstos son los "hilos dorados" que vinculan automáticamente los mensajes de log con la traza y el lapso específicos donde se generaron.

Un recorrido por la UI de APM + OTel Convergence

Ahora que ya tienes una idea general de lo que sucede en segundo plano, veamos más en detalle tus datos de Astroshop. Para este ejemplo, seleccionaremos el servicio  Catálogo de productos . Al hacer clic en una entidad, accederás a la vista Resumen de esa entidad. 

Desplázate un poco hacia abajo y verás el gráfico Errores y la lista Transacciones . La transacción denominada grpc/oteldemo.ProductCatalogService.GetProduct tiene una tasa de errores de más del 4 %.

Al hacer clic en el botón “Ver detalles” para la transacción GetProduct, aparece la nueva vista Transacción 360, que amplía el análisis estándar de una sola traza para ofrecer una vista dinámica de todo el ecosistema de la transacción. Usar esta característica te ofrece información rápida sobre el rendimiento de la aplicación y la infraestructura, incluyendo alertas críticas activas y nuevas versiones de despliegue (dentro de la ventana de tiempo seleccionada). El contexto es lo que te permite correlacionar los problemas directamente con el despliegue, el host o el servicio exactos. 

Esta vista incluye el nuevo mapa de flujo dinámico, que te permite ver cómo fluyen los datos de traza a través de los servicios. Emplea los datos de traza para correlacionar los cambios de rendimiento entre las entidades ascendentes y descendentes, en relación con la ventana de tiempo coincidente anterior. 

Al desplazarte por la vista, verás información sobre los servicios de APM participantes y las transacciones que formaron parte de la traza.

Dado que la transacción GetProduct se indica como la causa del problema, profundicemos haciendo clic en  grpc/oteldemo.ProductCatalogService.GetProduct, lo que abrirá otra vista de Transacción 360 con algunas pestañas en la parte superior.

Al seleccionar la pestaña “Ver errores”, se mostrará más información, incluida la cantidad de veces que se produjo este error. En la sección Despliegue de Astroshop, mencionamos que la bandera de características productCatalogFailure se activó en el ejemplo de esta publicación. El mensaje de este grupo de errores es Error: Product Catalog Fail Feature Flag Enabled, que es exactamente lo que esperábamos ver. 

Nota: Si te preguntas por qué el gráfico de tasa de errores no parece mostrar datos a pesar de la clara existencia de errores, es porque este gráfico consulta específicamente los códigos de estado HTTP de 500 o menores. (Al hacer clic en “…” de cualquier gráfico, aparece un menú que ofrece varias opciones; al seleccionar “Ver consulta”, se mostrará la consulta exacta que se emplea para generar datos para ese gráfico).

Cuando salimos de esta vista detallada y volvemos a la vista inicial de Transacción 360, a la que accedemos desde la página Resumen, podemos hacer clic en la flecha desplegable para expandir “Entidades de infraestructura de soporte” y verificar si hay algún impacto.

New Relic Now Prueba hoy las nuevas integraciones agénticas en una demostración.
Ver.