• /
  • EnglishEspañolFrançais日本語한국어Português
  • Se connecterDémarrer

Cette traduction automatique est fournie pour votre commodité.

En cas d'incohérence entre la version anglaise et la version traduite, la version anglaise prévaudra. Veuillez visiter cette page pour plus d'informations.

Créer un problème

Identification du service de base de données avec NRDOT

Aperçu

Nous travaillons toujours sur cette fonctionnalité, mais nous aimerions que vous l'essayiez !

Cette fonctionnalité est actuellement fournie dans le cadre d'un aperçu conformément à nos politiques de pré-sortie.

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.

Prérequis

  • Agent Java version 9.1.0 ou 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_guid

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.

  1. 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...).
  2. 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_requests ou v$session).
  3. Extraction: Le récepteur de base de données récupère ces requêtes (actives, lentes ou bloquantes).
  4. Enrichissement: Le récepteur analyse le commentaire, extrait le nr_service_guid et 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_name pour 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

Les commentaires SQL sont ignorés par l'optimiseur du moteur de base de données

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é.

Chiffrement AES (indépendant de la plateforme)

Cette méthode vous permet de stocker des identifiants chiffrés directement dans vos fichiers de configuration, prenant en charge les workflows de gestion de version (GitOps).

  • Fonctionnement: Les chaînes sensibles sont chiffrées hors ligne avec AES-256 (mode GCM). Le collecteur les déchiffre lors de l'exécution à l'aide d'une clé principale stockée dans les variables d'environnement du serveur
  • Avantage en matière de sécurité: Les fichiers de configuration peuvent être partagés ou versés dans des dépôts en toute sécurité sans exposer de mots de passe en clair
  • Idéal pour: environnements hybrides/multi-cloud, développement local ou serveurs Windows où l'intégration d'OCI Vault n'est pas possible

Exemple de configuration

receivers:
newrelicoracledb/cdb:
endpoint: "10.x.x.36:1521"
# Credentials are encrypted using the offline helper tool
username: "${aes:YOUR_ENCRYPTED_USERNAME_STRING}"
password: "${aes:YOUR_ENCRYPTED_PASSWORD_STRING}"
service: "DB1104.privatesubnet.oracledb.oraclevcn.com"
collection_interval: 15s

Gestionnaire de secrets AWS

Cette méthode vous permet de récupérer des identifiants en toute sécurité directement depuis AWS Secrets Manager lors de l'exécution, éliminant ainsi complètement le besoin de stocker des mots de passe dans vos fichiers de configuration.

  • Fonctionnement: Le NRDOT Collector utilise un rôle AWS IAM pour s'authentifier automatiquement et récupérer les secrets requis depuis AWS Secrets Manager lors du démarrage.
  • Avantage de sécurité: Aucune donnée sensible n'est jamais stockée sur disque ou dans le contrôle de version. L'accès est strictement régi par les stratégies AWS IAM, et les identifiants de base de données peuvent être renouvelés de manière centralisée sans avoir besoin de mettre à jour ou de déployer de nouveaux fichiers de configuration
  • Idéal pour: les environnements de production fonctionnant nativement sur AWS où la gestion centralisée des secrets, l'audit de conformité et la rotation automatisée sont requis

Exemple de configuration

receivers:
newrelicoracledb/pdb:
endpoint: "10.x.x.36:1521"
# Syntax: ${secretsmanager:SecretName#JSONKey}
username: "${secretsmanager:oracle/credentials#username}"
password: "${secretsmanager:oracle/credentials#password}"
service: "PDBTEST"

Remarque: Définissez la région AWS :

bash
$
export AWS_REGION=your-aws-region
Droits d'auteur © 2026 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.