• /
  • 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

Installez & configurez NRDOT pour le monitoring de PostgreSQL avec AWS RDS

|View as Markdown (English)

Configurez le monitoring de PostgreSQL à l'aide du NRDOT Collector pour les instances PostgreSQL AWS RDS. Les environnements RDS ont des considérations spécifiques pour les extensions et les groupes de paramètres.

Prérequis

Avant d’installer, assurez-vous d’avoir :

Configurer le Collector NRDOT

Installez le NRDOT Collector sur un système qui peut se connecter à votre instance RDS :

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

Pour créer l'utilisateur de monitoring et les autorisations :

  1. Connectez-vous à votre instance RDS en tant qu'utilisateur principal :
bash
$
psql --host=<YOUR_RDS_ENDPOINT> --dbname=postgres --port=5432 --username=<YOUR_MASTER_USERNAME>
  1. Créez l'utilisateur de monitoring :
CREATE USER <YOUR_DB_USERNAME> WITH LOGIN PASSWORD '<YOUR_DB_PASSWORD>';
  1. 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 pgvector dans chaque base de données :
CREATE EXTENSION IF NOT EXISTS vector;

Les fonctions de distance l1, hamming et jaccard nécessitent la version 0.7.0 ou supérieure de pgvector.

  • (Facultatif) Pour vérifier la connexion et les autorisations, exécutez :
bash
$
psql --username=<YOUR_DB_USERNAME> --host=<YOUR_RDS_ENDPOINT> --port=5432 --dbname=<YOUR_DATABASE_NAME> --command '\conninfo'
$
psql --username=<YOUR_DB_USERNAME> --host=<YOUR_RDS_ENDPOINT> --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=<YOUR_RDS_ENDPOINT> --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=<YOUR_RDS_ENDPOINT> --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 à RDS PostgreSQL.

Cette configuration se concentre sur le monitoring essentiel de PostgreSQL avec le Récepteur nrpostgresql uniquement.

configuration complète

Cette configuration de base de référence capture les métriques essentielles. Pour voir le catalogue complet des métriques, reportez-vous à la référence de configuration.

  1. Créez un fichier de configuration nommé postgresql-config.yaml:
bash
$
sudo nano /etc/nrdot-collector/postgresql-config.yaml
  1. Ajoutez la configuration suivante au fichier postgresql-config.yaml que vous avez créé à l’étape précédente.

    postgresql-config.yaml
    1
    receivers:
    2
    nrpostgresql:
    3
    endpoint: "mydb-instance.xxxxxxxxxxxx.us-east-1.rds.amazonaws.com:5432"
    4
    username: "newrelic"
    5
    password: "YOUR_PASSWORD"
    6
    databases:
    7
    - YOUR_DATABASE_NAME
    8
    # top_query/query_sample scan pg_stat_statements/pg_stat_activity cluster-wide
    9
    # regardless of the databases list above; on RDS/Aurora, exclude reserved
    10
    # databases the monitoring user can never reach.
    11
    exclude_databases:
    12
    - rdsadmin
    13
    collection_interval: 15s
    14
    events:
    15
    db.server.top_query:
    16
    enabled: true
    17
    db.server.query_sample:
    18
    enabled: true
    19
    db.server.query_plan:
    20
    enabled: true
    21
    top_query_collection:
    22
    max_rows_per_query: 1000
    23
    top_n_query: 200
    24
    collection_interval: 60s
    25
    allowed_comment_keys: [nr_service_guid]
    26
    query_sample_collection:
    27
    max_rows_per_query: 1000
    28
    allowed_comment_keys: [nr_service_guid]
    29
    resource_attributes:
    30
    db.system.version:
    31
    enabled: true
    32
    # Metrics needed for the out-of-the-box dashboard but disabled by default:
    33
    # see "Available metrics" below for the full default-on/default-off breakdown.
    34
    metrics:
    35
    postgresql.database.locks:
    36
    enabled: true
    37
    postgresql.deadlocks:
    38
    enabled: true
    39
    postgresql.function.calls:
    40
    enabled: true
    41
    postgresql.query.conflicts:
    42
    enabled: true
    43
    postgresql.sequential_scans:
    44
    enabled: true
    45
    postgresql.temp.io:
    46
    enabled: true
    47
    postgresql.temp_files:
    48
    enabled: true
    49
    processors:
    50
    batch:
    51
    batch/metrics:
    52
    send_batch_size: 8192
    53
    send_batch_max_size: 8192
    54
    timeout: 10s
    55
    exporters:
    56
    otlp/newrelic:
    57
    endpoint: "https://otlp.nr-data.net:4318"
    58
    headers:
    59
    api-key: "YOUR_LICENSE_KEY"
    60
    compression: gzip
    61
    sending_queue:
    62
    enabled: true
    63
    sizer: bytes
    64
    queue_size: 100_000_000
    65
    num_consumers: 10
    66
    batch:
    67
    sizer: bytes
    68
    max_size: 1_000_000
    69
    min_size: 0
    70
    flush_timeout: 5s
    71
    retry_on_failure:
    72
    enabled: true
    73
    initial_interval: 5s
    74
    max_interval: 30s
    75
    max_elapsed_time: 300s
    76
    service:
    77
    telemetry:
    78
    metrics:
    79
    level: none
    80
    pipelines:
    81
    metrics:
    82
    receivers: [nrpostgresql]
    83
    processors: [batch/metrics]
    84
    exporters: [otlp/newrelic]
    85
    logs:
    86
    receivers: [nrpostgresql]
    87
    processors: [batch]
    88
    exporters: [otlp/newrelic]

    Paramètres de configuration

    Le tableau suivant décrit les principaux paramètres de configuration du récepteur nrpostgresql :

    paramètresDescription
    <YOUR_RDS_ENDPOINT>Saisissez le nom d'hôte du point de terminaison de votre instance RDS.
    <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.
    databasesListe des bases de données pour lesquelles collecter des statistiques. Par défaut : [] (toutes les bases de données non modèles). S’applique uniquement aux métriques. Les échantillons de requêtes et les requêtes principales ignorent cette liste et sont filtrés uniquement par exclude_databases.
    exclude_databasesBases de données exclues des statistiques, des échantillons de requêtes, et des requêtes principales. Valeur par défaut : []. Utilisez ceci pour les bases de données internes de services managés (telles que rdsadmin) que votre utilisateur de monitoring ne peut pas atteindre.
    <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_intervalSaisissez 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 depuis 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. Plans de requête pour les instructions d’écriture: pour collecter les plans de requête pour les instructions de verrouillage ou d’écriture sans accorder d’accès en écriture à l’utilisateur de monitoring. 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

  1. Mettez à jour le chemin de configuration pour pointer vers votre nouveau fichier postgresql-config.yaml :
bash
$
sudo sed -i 's|OTELCOL_OPTIONS="--config=/etc/nrdot-collector/config.yaml"|OTELCOL_OPTIONS="--config=/etc/nrdot-collector/postgresql-config.yaml"|' /etc/nrdot-collector/nrdot-collector.conf
  1. 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 :

bash
$
sudo systemctl restart nrdot-collector

Pour vérifier que le collecteur fonctionne correctement, vérifiez l'état du service :

bash
$
sudo systemctl status nrdot-collector

Conseil

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 RDS PostgreSQL dans New Relic :

  1. Allez à https://one.newrelic.com > All Capabilities > Databases.
  2. Dans la liste déroulante Entity type, sélectionnez PostgreSQL instance, puis cliquez sur Apply.
  3. Sélectionnez votre base de données RDS PostgreSQL dans la liste des entités.

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.

Référence des métriques

Découvrez les métriques disponibles collectées par le collecteur NRDOT.

Guide de dépannage

Apprenez à résoudre les problèmes courants liés au monitoring PostgreSQL.

Droits d'auteur © 2026 New Relic Inc.

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