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.
Configurez le monitoring PostgreSQL en utilisant le Collector NRDOT sur des environnements auto-hébergés incluant des serveurs physiques, des machines virtuelles et des installations autonomes.
Prérequis
Avant d’installer, assurez-vous d’avoir :
PostgreSQL
14et versions ultérieuresUne clé de licence New Relic.
Accès administratif à votre instance PostgreSQL.
Connectivité réseau entre l'hôte où vous installez le Collector NRDOT et votre base de données PostgreSQL.
Connectivité réseau vers la documentation sur les points de terminaison OTLP de New Relic
Cette intégration est disponible dans le cadre du programme de préversion publique de New Relic. Vérifiez auprès de votre responsable d’organisation pour vous inscrire depuis la page Préversions et essais.
Pour les versions de PostgreSQL prises en charge, les autorisations requises et les paramètres de serveur recommandés, consultez Compatibilité et prérequis.
Configurer le Collector NRDOT
Installez le Collector NRDOT sur votre système :
Configurer l'utilisateur de la base de données et les autorisations
Créez un utilisateur de monitoring avec les privilèges nécessaires pour votre instance PostgreSQL.
Pour créer l'utilisateur de monitoring et les autorisations :
Connectez-vous à votre instance PostgreSQL en tant que superutilisateur ou autre utilisateur disposant des autorisations requises :
bash$sudo -u postgres psql --dbname=postgres --port=5432Créez l'utilisateur de monitoring :
CREATE USER <YOUR_DB_USERNAME> WITH LOGIN PASSWORD '<YOUR_DB_PASSWORD>';Accordez l’appartenance au rôle d’utilisateur de monitoring selon les besoins :
Si vous utilisez PostgreSQL 15 ou une version ultérieure, attribuez le rôle pour hériter des privilèges :
ALTER ROLE <YOUR_DB_USERNAME> INHERIT;Conseil
Si vous utilisez PostgreSQL 14, l'utilisateur de monitoring hérite des privilèges par défaut, vous pouvez donc ignorer cette étape.
Créez le schéma et les autorisations suivants dans chaque base de données que vous souhaitez monitorer :
CREATE SCHEMA IF NOT EXISTS otel;GRANT USAGE ON SCHEMA otel TO <YOUR_DB_USERNAME>;GRANT USAGE ON SCHEMA public TO <YOUR_DB_USERNAME>;GRANT SELECT ON ALL TABLES IN SCHEMA public TO <YOUR_DB_USERNAME>;GRANT pg_monitor TO <YOUR_DB_USERNAME>;CREATE EXTENSION IF NOT EXISTS pg_stat_statements;(Facultatif) Pour collecter les métriques vectorielles, créez l'extension
pgvectordans chaque base de données :CREATE EXTENSION IF NOT EXISTS vector;Les fonctions de distance
l1,hammingetjaccardnécessitent la version0.7.0ou supérieure depgvector.(Facultatif) Pour vérifier la connexion et les autorisations, exécutez :
bash$psql --username=<YOUR_DB_USERNAME> --host=localhost --port=5432 --dbname=<YOUR_DATABASE_NAME> --command '\conninfo'$psql --username=<YOUR_DB_USERNAME> --host=localhost --port=5432 --dbname=<YOUR_DATABASE_NAME> \>-c "SELECT * FROM pg_stat_database LIMIT 1;" && echo "pg_stat_database OK">psql --username=<YOUR_DB_USERNAME> --host=localhost --port=5432 --dbname=<YOUR_DATABASE_NAME> \>-c "SELECT * FROM pg_stat_activity LIMIT 1;" && echo "pg_stat_activity OK">psql --username=<YOUR_DB_USERNAME> --host=localhost --port=5432 --dbname=<YOUR_DATABASE_NAME> \>-c "SELECT * FROM pg_stat_statements LIMIT 1;" && echo "pg_stat_statements OK"Si chaque commande se termine sans erreur, l’utilisateur de monitoring, l’hôte et le port sont tous corrects.
Configurer le collecteur NRDOT
Configurez le Collector NRDOT avec vos paramètres spécifiques à PostgreSQL. Sélectionnez votre type de configuration en fonction de vos besoins de monitoring :
Paramètres de configuration
Le tableau suivant décrit les principaux paramètres de configuration du récepteur nrpostgresql :
| paramètres | Description |
|---|---|
<YOUR_DB_HOST> | Saisissez le nom d’hôte de votre base de données PostgreSQL. |
<YOUR_DB_PORT> | Saisissez le port de votre base de données PostgreSQL. |
<YOUR_DB_USERNAME> | Saisissez le nom d'utilisateur de votre base de données. |
<YOUR_DB_PASSWORD> | Saisissez le mot de passe de votre base de données. |
<YOUR_DATABASE_NAME> | Saisissez le nom de la base de données que vous souhaitez monitorer. |
<YOUR_NEWRELIC_OTLP_ENDPOINT> | Saisissez le point de terminaison OTLP New Relic. Pour plus d'informations, consultez les points de terminaison OTLP New Relic. |
<YOUR_NEWRELIC_LICENSE_KEY> | Saisissez votre clé de licence New Relic. |
collection_interval | Saisissez l'intervalle entre les collectes de métriques. Valeur par défaut : 15s. |
Conseil
Vous pouvez également :
- Configurer plusieurs récepteurs: pour monitorer plusieurs instances PostgreSQL à partir d'un seul collecteur.
- Liez votre base de données PostgreSQL à l'APM: pour corréler les performances des applications avec les opérations de la base de données. Cela vous permet de voir exactement quelles applications génèrent des workloads de base de données spécifiques.
- Autorisations du plan EXPLAIN: pour collecter des plans de requête pour les instructions de verrouillage ou d'écriture sans accorder d'accès en écriture à l'utilisateur de monitoring.
- Configurer le Récepteur de requêtes SQL: pour collecter des métriques personnalisées à partir de votre base de données PostgreSQL.
- Configurer la gestion des secrets: pour gérer en toute sécurité des informations sensibles, telles que les identifiants de base de données. Cela permet de renforcer la sécurité de votre configuration de monitoring en évitant de coder en dur des données sensibles dans les fichiers de configuration.
Valider la configuration du Collector NRDOT
Mettez à jour le chemin de configuration pour pointer vers votre nouveau fichier
postgresql-config.yaml:bash$OTELCOL_OPTIONS="/etc/nrdot-collector/postgresql-config.yaml"Validez la configuration du Collector NRDOT pour vous assurer qu'elle est correctement formatée et qu'elle fonctionnera correctement :
bash$sudo /usr/bin/nrdot-collector validate --config=/etc/nrdot-collector/postgresql-config.yaml
Redémarrer NRDOT Collector
Après avoir configuré le collecteur, redémarrez le service NRDOT Collector pour appliquer les modifications :
$sudo systemctl restart nrdot-collectorPour vérifier que le collecteur fonctionne correctement, vérifiez l'état du service :
$sudo systemctl status nrdot-collectorConseil
Redémarrez toujours le Collector NRDOT après avoir modifié la configuration pour garantir la prise en compte des nouveaux paramètres.
Trouvez et utilisez vos données
Les échantillons de requêtes et les requêtes principales arrivent sous forme d'événements de log (event.name = 'db.server.query_sample' / 'db.server.top_query', db.system.name = 'postgresql'). Les métriques arrivent sous l'espace de nommage postgresql.*.
Pour trouver votre entité de base de données PostgreSQL dans New Relic :
- Allez à https://one.newrelic.com > All Capabilities > Databases.
- Dans la liste déroulante Entity type, sélectionnez PostgreSQL instance, puis cliquez sur Apply.
- Sélectionnez votre base de données PostgreSQL dans la liste des entités.
Documentation associée
Lier votre base de données PostgreSQL à APM
Apprenez à corréler les performances des applications avec les opérations de base de données.
Guide de dépannage
Apprenez à résoudre les problèmes courants liés au monitoring PostgreSQL.
Référence des métriques
Découvrez les métriques disponibles collectées par le collecteur NRDOT.