Obtenez une corrélation transparente entre vos applications et les performances de votre base de données grâce aux commentaires de requête SQL. Ce mécanisme permet au récepteur de base de données de la distribution New Relic d'OpenTelemetry (NRDOT) d'identifier exactement quel service est responsable d'une charge spécifique de la base de données, de requêtes lentes, ou d'événements bloquants.
Important
New Relic associe le monitoring des performances des applications New Relic (New Relic APM) et les entités de base de données en faisant correspondre l’adresse et le port de connexion à la base de données de votre application avec l’adresse et le port de connexion de l’agent de monitoring de la base de données. Cette association fonctionne de manière fiable lorsque les deux parties indiquent exactement la même adresse et le même port. Cependant, l’association automatique peut échouer si votre application achemine le trafic via un équilibreur de charge ou un proxy, ou si les deux composants utilisent des formats d’adresse différents (comme une adresse IP par opposition à un nom de domaine).
Prérequis
- Agent Java : version
9.1.0ou ultérieure. - Agent .NET : version
10.52.0ou ultérieure.
Activer la corrélation APM-base de données pour l'agent Java
Pour activer cette corrélation, ajoutez la propriété sql_metadata_comments à la section transaction_tracer de votre fichier de configuration de l'agent Java (newrelic.yml). Pour plus d'informations, consultez la documentation de configuration de l'agent Java.
transaction_tracer: sql_metadata_comments: nr_service_guidActiver la corrélation APM-base de données pour l'agent .NET
Pour activer cette corrélation, ajoutez la propriété sqlMetadataComments à la section transactionTracer de votre fichier de configuration de l’agent .NET (newrelic.config). Pour plus d’informations, consultez la documentation de configuration de l’agent .NET.
Comment ça marche
Lorsque votre application envoie une requête à la base de données, l'agent APM ajoute automatiquement un GUID d'entité APM au début du texte SQL sous forme de commentaire. Cette pratique courante du secteur n'affecte pas la logique d'exécution de vos instructions SQL.
- Préfixage de commentaires: l'agent APM ajoute une chaîne de commentaire au début du SQL sortant (par exemple,
/* nr_service_guid="MTE2MDAzMTl8QVBNfEFQUExJ" */ SELECT * FROM orders...). - Exécution: La base de données exécute la requête comme d'habitude. Le commentaire est stocké dans les schémas de performance internes de la base de données (comme
sys.dm_exec_requestsouv$session). - Extraction: Le récepteur de base de données récupère ces requêtes (actives, lentes ou bloquantes).
- Enrichissement: Le récepteur analyse le commentaire, extrait le
nr_service_guidet l'ajoute en tant que dimension à vos métriques de base de données.
Avantages de l'étiquetage des services
L'ajout de métadonnées de service en préfixe vous offre une visibilité haute fidélité sur votre écosystème de bases de données :
- Attribution au niveau du service: visualisez instantanément quel microservice est responsable d'un pic de CPU ou de mémoire de la base de données
- Analyse affinée des requêtes lentes: filtrez les logs de requêtes lentes par
client_namepour comprendre si un goulot d’étranglement de la base de données est isolé sur une version spécifique de l’application - Résolution des blocages et des interblocages: Identifiez rapidement le "propriétaire" d'une requête bloquante pour accélérer le dépannage inter-équipes
Impact sur la sécurité et les performances
Nous avons conçu ce mécanisme pour qu’il soit invisible aux opérations de votre base de données :
Fonctionnalité | Détail de l'impact |
|---|---|
Logique d'exécution | L’optimiseur du moteur de base de données ignore les commentaires SQL |
Frais généraux de la base de données | L'ajout d'une courte chaîne (généralement moins de 50 caractères) a un impact négligeable sur la bande passante réseau ou la mémoire |
Confidentialité des données | Seul le GUID du service est inséré. Aucune donnée d'application sensible ou contexte utilisateur n'est inclus dans le commentaire |
Gestion des secrets
Vous pouvez utiliser deux méthodes sécurisées pour gérer les identifiants sensibles (tels que les mots de passe de base de données) dans la configuration du NRDOT Collector. Choisissez la méthode qui correspond le mieux à votre infrastructure et à vos politiques de sécurité.