La fonctionnalité de services externes est disponible pour les agents New Relic APM et OpenTelemetry.
Si vous souhaitez être opérationnel le plus rapidement possible, nous vous recommandons de faire appel à nos agents APM.
Cliquer sur un logo vous envoie vers la plateforme New Relic où vous serez guidé dans l'installation et la configuration de l'agent.
Mettre en place des services externes
Les instructions suivantes vous guideront dans la configuration des services externes.
Commencer à envoyer des données
La configuration des services externes varie selon que vous utilisez des agents APM ou OpenTelemetry. Sélectionnez l'onglet correspondant à l'option d'installation qui convient à votre système :
Complétez les éléments suivants pour chaque service que vous souhaitez afficher dans les services externes :
Si vous ne l’avez pas déjà fait, installez l’ agent New Relic APM approprié.
Assurez-vous que le tracing distribué est activé dans l'agent :
- Si vous avez installé un nouvel agent, le tracing distribué standard est activé par défaut. Si votre service communique avec d’autres services qui utilisent Infinite Tracing, consultez la documentation de votre agent pour obtenir de l’aide sur Infinite Tracing.
- Si vous disposez d'un agent plus ancien, suivez les étapes configuration pour activer le tracing distribué standard ou le Infinite Tracing. Lorsque vous activez le tracing distribué, il remplace l’ancien tracing inter-applications.
Vérifiez si votre agent nécessite des étapes de configuration supplémentaires :
Agent
Version minimale
Installation
Go
3.6.0
Consultez la documentation sur l'utilisation
NewRoundTripper()
.Java
5.13.0
Consultez la documentation sur l'utilisation de l'API d'agent Java pour instrumenter les appels externes.
.NET
8.29.0
L’agent .NET et l’agent .NET dans Azure instrumentent automatiquement les appels externes, mais ils n'instrumentent pas les méthodes pour les transactions. Pour voir les transactions, vous devez utiliser une combinaison des éléments suivants :
Node.js
6.9.0
Consultez la documentation sur l'utilisation de l'API d'agent Node.js.
PHP
9.12.0.268
Consultez la documentation sur l'utilisation de l'API d'agent PHP pour instrumenter les appels externes.
Python
5.14.0.142
Aucune étape supplémentaire n'est nécessaire : les appels externes sont instrumentés automatiquement.
Ruby
6.12.0.367
Consultez la documentation sur l'utilisation de l'API d'agent Ruby pour instrumenter les appels externes.
Conseil
La version classique des services externes est toujours disponible si vous devez ajouter un nouveau service à une chaîne d'agents utilisant déjà des services externes classiques. Pour installer des services externes classiques, activez le tracing inter-applications au lieu du tracing distribué dans les étapes ci-dessous.
L'UI de New Relic affiche les détails des services externes une fois que vous avez terminé les étapes de configuration de l'instrumentation OpenTelemetry pour votre service et les appels qu'elle effectue vers d'autres services. La fonctionnalité de services externes affiche les appels entre vos services, répartis par point de terminaison de transaction dans chaque service. Le nom de chaque transaction est dérivé de l'étendue d'entrée du processus (span.kind = "server"
).
Si votre service APM est connecté à un service OpenTelemetry (en amont ou en aval), ce service OpenTelemetry n'apparaîtra pas dans la vue de ce service APM. Cela est dû au fait que, lors de la visualisation d’un service APM, cette fonctionnalité utilise des métriques qui ne sont signalées que par les agents APM. Lorsque vous visualisez un service OpenTelemetry, le service APM apparaîtra comme une connexion.
La qualité des informations que vous voyez dépend de la stratégie d'échantillonnage que vous utilisez dans Collector. Consultez la section suivante sur l’utilisation de l’échantillonnage pour contrôler ce que vous voyez dans l’ UI.
Conseil
Si vous envoyez 100 % de vos données OpenTelemetry à notre API de trace, nous stockons 100 % de ces données, sauf si vous avez une limite de débit spécifique pour votre organisation, ou si vous envoyez suffisamment de données pour déclencher notre limite de débit par défaut.
Ajuster l'échantillonnage pour voir plus de données UI
Si vous utilisez un agent APM et que vous voyez peu ou pas de données lorsque vous commencez à explorer au-delà de la page initiale de la carte, vous devrez peut-être ajuster le réservoir de portée pour échantillonner davantage de données. Cela est dû au fait que les données au niveau des transactions sont renseignées par des données de trace échantillonnées.
Pour OpenTelemetry, la page initiale et toutes les pages d'exploration sont renseignées par des données échantillonnées. Vous devrez donc peut-être effectuer quelques ajustements dans l'échantillonnage pour obtenir les données dont vous avez besoin.
Voici quelques informations sur les différentes routines d'ajustement du réservoir pour les agents APM, ainsi que des conseils pour ajuster l'échantillonnage pour OpenTelemetry :
Tous les agents APM disposent d'un réservoir qui stocke les étendues, et la plupart de ces réservoirs d'agents sont configurables. La taille de ce réservoir affecte la probabilité qu'un agent soit en mesure d'envoyer toutes les portées qu'il crée. Voir la trace fragmentée pour plus de détails.
Les données de cette fonctionnalité sont dérivées des étendues de clients et de serveurs adjacentes où des appels externes sont effectués d'un service à un autre. Lorsqu'un agent atteint sa limite de réservoir de portée, il y a un risque qu'il abandonne certaines portées représentant ces appels.
La valeur configuration de l'agent par défaut de 2000 définit le nombre maximal d'événements que l'agent collecte par minute. S'il y a plus d'étendues que ce nombre, l'agent collecte un échantillonnage statistique, dégradant ainsi essentiellement la quantité de données utilisées dans la carte des services externes.
Si vous ne voyez pas le type de détails souhaité dans l'UI, vous pouvez augmenter la taille du réservoir jusqu'à 10 000. Passez en revue les éléments suivants pour ajuster les réservoirs d’agent :
Agent APM | Documentation |
---|---|
Go | Le réservoir n'est actuellement pas configurable |
Java | |
.NET | |
Node.js | |
PHP | Le réservoir n'est actuellement pas configurable |
Python | Configuration Python (Voir |
Ruby |
Conseil
Cette section s'applique uniquement si vos services envoient des données à New Relic via un OpenTelemetry Collector. Cela est dû au fait que les données ne sont pas échantillonnées dans un OpenTelemetry Collector.
Pour OpenTelemetry, toutes les vues de services externes sont renseignées par une trace échantillonnée, ce qui signifie que vous ne verrez peut-être pas suffisamment de données utiles. Pour résoudre ce problème, vous pouvez modifier l’échantillonnage dans le Collector pour autoriser davantage de données dans New Relic.
Voir Échantillonnage pour plus d'informations.
Quelle est la prochaine étape ?
- Découvrez comment utiliser des services externes pour résoudre les problèmes d'API
- En savoir plus sur la navigation dans l’ UIdes services externes.
- Si vous avez des questions sur la façon de comprendre l'UI, consultez nos conseils.