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.
Le Collector NRDOT signale un large éventail de métriques PostgreSQL. New Relic collecte automatiquement les métriques dans Métriques par défaut. Pour des informations détaillées plus approfondies sur les performances et la santé, activez l'une des métriques répertoriées dans Métriques supplémentaires.
Conseil
Chaque métrique est limitée à une base de données, une table, un schéma ou un index spécifique. Ce contexte est défini sur la ressource, et non comme un attribut de métrique.
Ces métriques sont collectées automatiquement et alimentent l'UI de New Relic, y compris le dashboard prêt à l'emploi.
métrique | Description | Unité | Type | Attributs |
|---|---|---|---|---|
| Nombre de connexions backend |
| somme (cumulée, int) | — |
| Nombre de tampons alloués |
| somme (cumulatif, entier, monotone) | — |
| Nombre de buffers écrits |
| somme (cumulatif, entier, monotone) |
(backend, backend_fsync, checkpoints, bgwriter) |
| Nombre de points de contrôle effectués |
| somme (cumulatif, entier, monotone) |
(demandé, planifié) |
| Temps total passé à écrire et à synchroniser des fichiers sur le disque par les points de contrôle |
| somme (cumulative, double, monotone) |
(sync, write) |
| Nombre de fois où le processus d'écriture en arrière-plan a arrêté une analyse de nettoyage car il avait déjà écrit trop de tampons |
| somme (cumulatif, entier, monotone) | — |
| Nombre de blocs lus |
| somme (cumulatif, entier, monotone) |
|
| Nombre de commits |
| somme (cumulatif, entier, monotone) | — |
| Nombre maximal de connexions client autorisées |
| jauge (int) | — |
| Nombre de bases de données utilisateur |
| somme (cumulatif, entier, non monotone) | — |
| Utilisation du disque de la base de données |
| somme (cumulatif, entier, non monotone) | — |
| Nombre de scans d’index sur une table |
| somme (cumulatif, entier, monotone) | — |
| Taille de l'index sur le disque |
| jauge (int) | — |
| Nombre d'opérations sur les lignes de la base de données |
| somme (cumulatif, entier, monotone) |
(ins, upd, del, hot_upd) |
| Quantité de données retardées dans la réplication |
| jauge (int) |
|
| Nombre de retours arrière |
| somme (cumulatif, entier, monotone) | — |
| Nombre de lignes dans la base de données |
| somme (cumulatif, entier, non monotone) |
(mort, vivant) |
| Nombre de tables utilisateur dans une base de données |
| somme (cumulatif, entier, non monotone) | — |
| Espace disque utilisé par une table |
| somme (cumulatif, entier, non monotone) | — |
| Nombre de fois qu’une table a été nettoyée manuellement |
| somme (cumulatif, entier, monotone) | — |
| Âge du fichier WAL le plus ancien. Nécessite l'activation de WAL avec au moins un réplica |
| jauge (int) | — |
| Temps entre le vidage du WAL récent localement et la réception de la notification que le serveur de secours a terminé une opération. Nécessite WAL + au moins un réplica |
| jauge (int) |
(flush, replay, write),
|
Métriques supplémentaires
Les métriques suivantes sont désactivées par défaut mais peuvent être activées pour obtenir des informations détaillées plus approfondies sur les performances et la santé de PostgreSQL. Ces métriques sont organisées par fonctionnalité.
Le dashboard d'entité PostgreSQL prêt à l'emploi utilise les métriques supplémentaires suivantes qui doivent être explicitement activées :
métrique | Description | Unité | Widget de dashboard | Exigences supplémentaires |
|---|---|---|---|---|
| Nombre de verrous de base de données |
| Verrous de base de données par mode/type | — |
| Nombre d'interblocages |
| Interblocages | — |
| Appels effectués vers une fonction |
| Appels de fonction/min | Nécessite
dans
|
| Requêtes annulées en raison de conflits de récupération. Standby uniquement ; zéro sur les primaires |
| Conflits de requêtes | — |
| Nombre d'analyses séquentielles |
| Analyses séquentielles/min | — |
| Total des données écrites dans des fichiers temporaires par les requêtes |
| Fichiers temporaires et I/O temporaires (Mo/min) | — |
| Nombre de fichiers temporaires |
| Fichiers temporaires et I/O temporaires (Mo/min) | — |
Métriques d'activité de base de données supplémentaires non utilisées par le dashboard :
métrique | Description | Unité | Attributs |
|---|---|---|---|
| Blocs de disque déjà trouvés dans le cache tampon |
| — |
| Blocs de disque lus dans cette base de données |
| — |
| Lignes récupérées par les requêtes dans la base de données |
| — |
| Lignes renvoyées par les requêtes dans la base de données |
| — |
| Lignes insérées par des requêtes dans la base de données |
| — |
| Lignes mises à jour par les requêtes dans la base de données |
| — |
| Lignes supprimées par les requêtes dans la base de données |
| — |
| Temps d’exécution total des instructions SQL suivies par
pour la base de données |
| — |
métrique | Description | Unité | Attributs |
|---|---|---|---|
| Remplacement précis pour
, derrière la barrière de fonctionnalité
|
|
,
|
Les métriques de recherche de similarité vectorielle nécessitent PostgreSQL 13+ et les extensions pg_stat_statements et pgvector :
métrique | Description | Unité | Attributs |
|---|---|---|---|
| Exécutions de recherche de similarité vectorielle, regroupées par fonction de distance |
|
|
| Temps d'exécution cumulé des recherches vectorielles |
|
|
| Cumul des lignes renvoyées par les recherches vectorielles |
|
|
| Vecteurs insérés dans les tables pgvector |
| — |
| Temps d'exécution cumulé des insertions pgvector |
| — |
demande d'événement
Les événements suivants sont désactivés par défaut mais peuvent être activés pour collecter des données télémétriques au niveau de la requête.
Visibilité en temps réel sur les instructions de base de données en cours d'exécution — un instantané ponctuel pris à chaque collecte, et non un log d'exécution complet. Cet événement est désactivé par défaut et nécessite que l'utilisateur de monitoring détienne pg_monitor.
Attribut | Description |
|---|---|
| Nom de la base de données. C'est toujours
|
| Le texte de l’instruction SQL |
/
| Tags de commentaire de corrélation APM. Pour plus d'informations, consultez |
| MD5 du SQL normalisé pour la corrélation inter-moteurs |
| Utilisateur logué dans ce backend |
| État global actuel du backend |
| ID de processus de ce backend |
| Horodatage UTC (RFC3339) du démarrage du backend/de la connexion. Stable pour la durée de vie de la connexion, contrairement à
qui change à chaque requête |
| Secondes entières depuis le démarrage du backend.
si
est indisponible |
| Nom de l'application connectée |
/
| Adresse IP du client/port TCP |
| Nom d’hôte DNS inverse du client |
| Moment où la requête actuellement active (ou la dernière) a démarré |
/
| Nom/catégorie de l'événement d'attente, si le backend est actuellement en attente |
| Identifiant de la requête la plus récente de ce backend |
| Durée de la requête en millisecondes delta |
| Éventail de PID bloquant cette session. Vide lorsque non bloqué |
| Horodatage UTC du début de l’attente de verrouillage actuelle. Vide lorsque non bloqué |
| Secondes entières attendues pour un verrou.
lorsque non bloqué |
/
/
| Mode de verrouillage/type de ressource/nom de relation en attente. Vide lorsque non bloqué |
| Horodatage UTC du début de la transaction actuelle. Vide lorsqu'il n'y a aucune transaction active |
Statistiques d'exécution agrégées par requête normalisée de pg_stat_statements, rapportées sous forme de valeurs incrémentielles (delta) depuis le dernier cycle de collecte. Cet événement est désactivé par défaut et nécessite l'extension pg_stat_statements dans chaque base de données analysée.
Attribut | Description |
|---|---|
| Nom de la base de données. C'est toujours
|
| Le texte de l'instruction SQL (normalisé,
/
espaces réservés) |
/
| Identique à
. Remarque : reflète l'appelant qui s'est exécuté en premier —
hache
à partir de la structure de la requête uniquement et gèle le texte stocké (commentaires inclus) lors de la première exécution |
| MD5 du SQL normalisé pour la corrélation inter-moteurs |
/
| Nombre d'exécutions/lignes récupérées-affectées, valeurs delta |
/
/
/
| Activité des blocs partagés, valeurs delta |
/
| Activité de blocage temporaire, valeurs delta |
| Hacher identifiant des requêtes normalisées identiques |
| Rôle qui a exécuté la requête |
/
| Temps total d'exécution/planification, delta en millisecondes |
| Le plan EXPLAIN pour l'instruction, s'il peut être obtenu — voir les mécanismes EXPLAIN ci-dessous |
Mécanismes de collecte du plan d'exécution (EXPLAIN)
- Limitation de débit :
top_query_collection.max_explain_each_interval(par défaut 1000) limite les EXPLAIN par collecte. - Mise en cache :
query_plan_cache_size/query_plan_cache_ttl(par défaut 1000 entrées/1 h) met en cache un plan une fois obtenu, indexé par ID de requête. - Exigence de PostgreSQL 12+ : l'EXPLAIN de la requête paramétrée nécessite
plan_cache_mode = force_generic_planavantPREPARE/EXPLAIN EXECUTE— disponible uniquement sur PostgreSQL 12+. Sur les serveurs plus anciens, le Récepteur détecte la version et ignore EXPLAIN pour cette requête plutôt que d'envoyer unSETqui échouerait. - Limite de privilège : par défaut, EXPLAIN s'exécute directement en tant qu'utilisateur de monitoring, et Postgres vérifie les privilèges de table au moment de la planification — ainsi, les instructions de verrouillage de ligne ou d'écriture échouent avec
permission deniedà moins d'avoir obtenu un accès en écriture, ce que l'utilisateur de monitoring ne devrait jamais avoir. Utilisezexplain_function_name(voir Autorisations du plan EXPLAIN) pour contourner ce problème sans accorder d'accès en écriture. - Si un plan ne peut pas être obtenu pour une raison quelconque,
postgresql.query_planest simplement vide pour cette ligne — aucune erreur n'est signalée.
Documentation associée
Instrumentation dans les environnements auto-hébergés
Découvrez comment configurer le monitoring PostgreSQL dans des environnements auto-hébergés avec New Relic.
Instrumentation dans les environnements RDS
Découvrez comment configurer le monitoring de PostgreSQL dans les environnements RDS avec New Relic.
Guide de dépannage
Apprenez à résoudre les problèmes courants liés au monitoring PostgreSQL.