OpenTelemetry fournit des API et des SDK à usage général pour la collecte, le traitement et l'exportation de données d'observabilité. L’un des cas d’utilisation les plus populaires pour ces API et SDK est le monitoring APM, où l’instrumentation est installée pour monitorer une application ou un service.
Cette page décrit les étapes de configuration courantes pour OpenTelemetry APM basée monitoring sur avec New Relic.
Avant de commencer
- Créez un compte New Relic.
- Obtenez la clé de licence pour le compte New Relic auquel vous souhaitez signaler des données.
Instrumentez votre application ou service avec OpenTelemetry
OpenTelemetry fournit des API et des SDK spécifiques au langage pour les applications instrumentées. La plupart des langages fournissent un riche ensemble d'instrumentation pour les bibliothèques et les frameworks populaires.
Pour vous aider à démarrer, nous vous proposons un exemple d’application simple dans plusieurs langues. Pour chaque langue, l'application est construite à l'aide d'un framework Web populaire dans cette langue. Les exemples ci-dessous montrent comment configurer :
Le nom du service qui s'affichera dans New Relic.
L'exportateur du protocole OpenTelemetry (OTLP) pour envoyer des données au point de terminaison OTLP New Relic.
Paramètres supplémentaires recommandés pour optimiser OpenTelemetry pour la meilleure expérience New Relic.
Pour plus d'informations sur l'instrumentation disponible et sur des scénarios plus avancés, consultez la documentation du langage OpenTelemetry concerné.
Important
Vous pouvez utiliser n'importe quelle langue prise en charge par OpenTelemetry pour envoyer des données à New Relic. Cependant, les exemples ci-dessus ne reflètent qu'un sous-ensemble des langues prises en charge.
Votre langue vous manque ? Demandez un exemple en ouvrant un ticket sur GitHub!
Affichez vos données dans l'interface utilisateur de New Relic
Une fois votre application instrumentée et configurée pour exporter des données vers New Relic, vous devriez pouvoir retrouver vos données dans l'interface utilisateur de New Relic :
Trouvez votre entité à All entities > Services - OpenTelemetry. Le nom de l’entité est défini sur la valeur de l’attribut de ressource
service.name
de l’application. Pour plus d'informations sur la manière dont les entités de service New Relic sont dérivées de l'attribut de ressource OpenTelemetry , voir Services.Utilisez NRQL pour effectuer une requête directement pour trace, métriques et log.
Consultez l'interface utilisateur OpenTelemetry APM pour plus d'informations.
Si vous ne trouvez pas votre entité et ne voyez pas vos données avec NRQL, consultez le dépannage OTLP.
Exécution des agents New Relic et des outils OpenTelemetry dans le même processus
Les agents New Relic et les outils OpenTelemetry (SDK, agents, etc.) font partie des nombreux produits APM disponibles sur le marché.
Pour un langage donné, presque tous les produits APM fonctionnent en utilisant le même langage de bas niveau et les mêmes hooks d'exécution disponibles, dont la plupart modifient le comportement de votre code au moment de l'exécution. Selon l'architecture de votre langage, cela est souvent réalisé via des techniques telles que la manipulation de byte-code ou le monkey patching.
En raison des méthodes complexes par lesquelles les produits APM modifient votre code en cours d'exécution, rien ne garantit qu'un produit sera compatible avec un autre produit exécuté dans le même processus. Au mieux, ils vivront côte à côte à l'insu de l'autre et généreront indépendamment la télémétrie à partir de votre application. Au pire, ils se piétineront, ce qui entraînera un comportement imprévisible.
New Relic ne peut garantir que nos agents APM sont compatibles avec un autre produit APM exécuté dans le même processus. Nous vous recommandons de choisir le seul (et un seul) produit qui correspond le mieux à vos besoins.