Déboguez vos applications plus rapidement avec OpenTelemetry et New Relic One

Publié Lecture : 7 min

OpenTelemetry provides community-contributed instrumentation that standardizes telemetry data collection from your applications and services, without vendor lock-in. With OpenTelemetry tracing already stable and metrics stability fast approaching, New Relic now provides an enhanced OpenTelemetry offering that includes support for OpenTelemetry Protocol (OTLP) over HTTP/1.1 and infinite tracing along with curated experiences for the ingested data. This offering enables faster troubleshooting and provides a seamless transition to OpenTelemetry.

Démarrez avec OpenTelemetry et New Relic One

Pour bien démarrer avec OpenTelemetry, il est recommandé de l'essayer avec vos propres applications et services. Ainsi, vous bénéficiez immédiatement des avantages de l'instrumentation et vous instrumentez les services que vous connaissez déjà. 

Sinon, vous pouvez utiliser notre partage dynamique de l'application de démonstration des microservices cloud natif de Online Boutique ou un des exemples OpenTelemetry de New Relic.  

 

Données d'ingestion

Une fois vos services instrumentés avec le SDK/API OpenTelemetry, vous pouvez ingérer vos données dans New Relic One en utilisant notre point de terminaison OTLP natif. L'ingestion des données avec le point de terminaison OTLP n'exige que quelques petites étapes :

  1. Orientez votre OTLP (recommandé) ou exportateur OTLP/HTTP vers le point de terminaison New Relic OTLP correspondant : otlp.nr-data.net:4317 ou https://otlp.nr-data.net:4318.

  2. Ajoutez un attribut d'en-tête, api-key. Sa valeur est la clé de licence du compte pour le compte New Relic vers lequel vous voulez envoyer vos données. 

Voici à quoi peut ressembler un fichier otel-config.yaml si vous utilisez un collecteur OpenTelemetry :

exporters:
 otlp:
   endpoint: otlp.nr-data.net:4317
   headers:
     api-key: ${NEW_RELIC_LICENSE_KEY}

Sinon, vous pouvez utiliser l'exportateur OTLP/HTTP :

exporters:
 otlphttp:
   endpoint: https://otlp.nr-data.net:4318
   headers:
     api-key: ${NEW_RELIC_LICENSE_KEY}

Pour en savoir plus, consultez la documentation sur le démarrage rapide OpenTelemetry.

Affichez les données OpenTelemetry via New Relic One

Une fois que votre application envoie les données OpenTelemetry vers New Relic One, vous voyez instantanément les données sur une interface dynamique qui vous permet de grouper, de mettre en facettes et de filtrer les métriques telles que le temps de réponse, le taux d'erreur et le débit en utilisant tous les aspects des attributs OpenTelemetry (service.version, http.status_code, thread.name, etc.). Cela comprend également les vues organisées des bases de données, transactions, erreurs et tracing distribué qui seront utiles pour le dépannage. Voici un aperçu de quelques scénarios (illustrés avec l'application de démonstration des microservices) dans lesquels ces expériences organisées pour OpenTelemetry seraient très pratiques pour l'ingénieur. 

Monitoring quotidien de votre environnement

Si vous êtes ingénieur Ops/DevOps, vous aurez besoin de régulièrement comprendre ce qui se passe sur tout votre environnement.  New Relic Explorer place toutes les données d'OpenTelemetry en un seul et même endroit sans que vous le configuriez. Vous pouvez découvrir les problèmes naissants en temps réel, sans dépendre de seuils statiques et préconfigurés ni de dashboards. En effet, les changements importants dans votre domaine sont mis en relief sur tous les comptes. Vous obtenez des informations détaillées sur les changements et l'intégrité de tout votre environnement qui vous permettent d'analyser, de comprendre et de résoudre les problèmes plus rapidement. New Relic Explorer vous propose plusieurs approches de la visualisation, de l'exploration et de l'interprétation de tout votre domaine :

  • New Relic Lookout génère une vue en temps réel de tous vos comptes. Cet outil affiche clairement les changements qui se sont produits dans toutes vos données télémétriques et les traduits en une expérience utilisateur simple à comprendre et accessible sans aucune configuration prérequise. Portez immédiatement votre attention là où elle est nécessaire grâce à la visualisation intuitive par cercles, dont la couleur et la taille indiquent la gravité et l'échelle des changements récents.
  • New Relic Navigator vous aide à rapidement comprendre l'intégrité de vos services OpenTelemetry sur tous les comptes, en se focalisant sur des groupes d'entités spécifiques en fonction des tags et examinant rapidement les services qui semblent avoir des problèmes. Dans la capture d'écran ci-dessous, plusieurs services OpenTelemetry envoient des alertes.  

Toutefois, d'après cette visualisation, le lien entre ces services d'alerte n'est pas clair. Si New Relic Explorer vous donne un aperçu général de votre système, que faites-vous si vous voulez visualiser les services et leurs dépendances dans votre architecture distribuée? 

C'est exactement ce que fait Automaps  : vous pouvez rapidement identifier les problèmes de performance. Vous pouvez utiliser Automaps et le widget d'entités associé pour vous aider à identifier les problèmes d'intégrité dans d'autres services et comprendre comment les services se connectent aux composants de votre infrastructure.  

Automap pour le service FrontEnd dans la capture d'écran ci-dessous montre sa dépendance à cinq autres services, y compris AdService. Automaps fournit un chemin que vous pouvez suivre pour identifier la cause profonde.

Dépannage d'une erreur

Vous pouvez également créer une alerte pour envoyer une erreur en fonction des seuils que vous avez configurés avec votre service OpenTelemetry et déboguer ces erreurs. La couleur de l'état de ces services OpenTelemetry apparaît dans New Relic Explorer ou dans le flot d'activité dans lequel vous pouvez également voir les détails des violations critiques ou d'avertissement.

Dans la capture d'écran précédente, vous voyez que AdService affiche une violation critique et que le taux d'erreur a dépassé le seuil selon le flot d'activité.  Regardons les traces qui contiennent des erreurs ci-dessous. 

Lorsque vous cliquez sur une des traces d'erreur, vous voyez un plan de traces dans la partie supérieure tel que celui illustré ci-dessus. Les plans de trace vous aident à visualiser tous les services différents impliqués dans l'exécution d'une requête spécifique (une trace) parallèlement aux spans individuels. Passez le curseur sur chaque entité pour afficher le contexte riche. Vous avez également la capacité de voir plus de détails sur l'entité sans devoir quitter le contexte de la trace. En outre, vous obtenez les détails sur l'erreur que vous pouvez utiliser pour trouver la cause profonde de l'erreur, y compris toute trace du stack générée par l'instrumentation OpenTelemetry. Les détails sur l'erreur sont remontés à la surface en fonction des événements du span ingérés conformément à la spécification d'OpenTelemetry. Dans la capture d'écran suivante, vous remarquerez le cadre rouge (Error Details) dans lequel vous pouvez obtenir des détails supplémentaires sur l'erreur.

Outre les erreurs de tracing, vous pouvez également ingérer les logs comme événements de span ou vous pouvez envoyer vos logs d'application à New Relic One en utilisant n'importe quel redirecteur de logs pris en charge et corréler les performances de vos services avec les logs correspondants. Avec les logs en contexte, vous pouvez désormais résoudre les problèmes plus rapidement en allant directement dans les lignes exactes des logs qui sont associés à la trace que vous analysez, comme illustré ci-dessous. 

L'interface utilisateur OpenTelemetry de New Relic ne cesse d'évoluer

Au fur et à mesure que le projet OpenTelemetry continue d'évoluer, nous continuons de faire avancer l'assistance que nous proposons pour OpenTelemetry dans New Relic One. Notre objectif est de donner aux ingénieurs tout le pouvoir de New Relic One, quelle que soit la source d'instrumentation, afin de leur permettre de rapidement découvrir les données dont ils ont besoin pour déterminer la cause profonde des problèmes et optimiser les performances de vos applications et services. 

Si vous avez des commentaires sur l'utilisation de New Relic One avec OpenTelemetry, sélectionnez le bouton Feedback dans la barre de navigation supérieure de New Relic One et envoyez-nous vos précieuses suggestions.

Si vous ne l'avez as encore fait, inscrivez-vous au Free Tier dès aujourd'hui et commencez à envoyer vos données OpenTelemetry à votre compte New Relic One, et bénéficiez de 100 Go de données gratuites chaque mois.