• /
  • EnglishEspañolFrançais日本語한국어Português
  • Inicia sesiónComenzar ahora

Te ofrecemos esta traducción automática para facilitar la lectura.

En caso de que haya discrepancias entre la versión en inglés y la versión traducida, se entiende que prevalece la versión en inglés. Visita esta página para obtener más información.

Crea una propuesta

Instale y configure NRDOT para el monitoreo de PostgreSQL con Self-hosted

|View as Markdown (English)

Configure el monitoreo de PostgreSQL usando el NRDOT Collector en entornos autohospedados, incluidos servidores físicos, máquinas virtuales e instalaciones independientes.

Requisitos previos

Antes de instalar, asegúrese de tener:

Configurar NRDOT Collector

Instale el NRDOT Collector en su sistema:

Configurar el usuario y los permisos de la base de datos

Cree un usuario de monitoreo con los privilegios necesarios para su instancia de PostgreSQL.

Para crear el usuario de monitoreo y los permisos:

  1. Conéctese a su instancia de PostgreSQL como superusuario u otro usuario con los permisos requeridos:
bash
$
sudo -u postgres psql --dbname=postgres --port=5432
  1. Cree el usuario de monitoreo:
CREATE USER <YOUR_DB_USERNAME> WITH LOGIN PASSWORD '<YOUR_DB_PASSWORD>';
  1. Otorgar la membresía del rol de usuario de monitoreo según sea necesario:
  • Si usa PostgreSQL 15 o superior, asigne el rol para heredar privilegios:
ALTER ROLE <YOUR_DB_USERNAME> INHERIT;

Sugerencia

Si usa PostgreSQL 14, el usuario de monitoreo hereda los privilegios por defecto, por lo que puede omitir este paso.

  • Cree el siguiente esquema y permisos en cada base de datos que desee monitorear:
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;
  • (Opcional) Para recopilar métricas de vectores, cree la extensión pgvector en cada base de datos:
CREATE EXTENSION IF NOT EXISTS vector;

Las funciones de distancia l1, hamming y jaccard requieren la versión 0.7.0 o superior de pgvector.

  • (Opcional) Para verificar la conexión y los permisos, ejecute:
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 cada comando se completa sin errores, el usuario de monitoreo, el host y el puerto son correctos.

Configurar el Colector NRDOT

Configure el NRDOT Collector con los ajustes específicos de PostgreSQL.

Esta configuración se centra en el monitoreo esencial de PostgreSQL solo con el receptor nrpostgresql.

configuración completa

Esta configuración de línea de base captura métricas esenciales. Para ver el catálogo completo de métricas, consulte la referencia de configuración.

  1. Cree un archivo de configuración llamado postgresql-config.yaml:
bash
$
sudo nano /etc/nrdot-collector/postgresql-config.yaml
  1. Agregue la siguiente configuración al archivo postgresql-config.yaml que creó en el paso anterior.

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

    Parámetro de configuración

    La siguiente tabla describe los parámetros de configuración clave para el receptor nrpostgresql:

    ParámetroDescripción
    <YOUR_DB_HOST>Ingrese el nombre de host de su base de datos PostgreSQL.
    <YOUR_DB_PORT>Ingrese el puerto de su base de datos PostgreSQL.
    <YOUR_DB_USERNAME>Ingrese su nombre de usuario de la base de datos.
    <YOUR_DB_PASSWORD>Ingrese la contraseña de su base de datos.
    <YOUR_DATABASE_NAME>Ingrese el nombre de la base de datos que desea monitorear.
    databasesLista de bases de datos para las que se recopilan estadísticas. Predeterminado: [] (todas las bases de datos que no son plantillas). Solo se aplica a las métricas. Las muestras de consultas y las consultas principales ignoran esta lista y se filtran únicamente por exclude_databases.
    exclude_databasesBases de datos excluidas de las estadísticas, las muestras de consultas y las consultas principales. Predeterminado: []. Use esto para bases de datos internas a las que su usuario de monitoreo no puede acceder.
    <YOUR_NEWRELIC_OTLP_ENDPOINT>Ingrese el extremo OTLP de New Relic. Para obtener más información, consulte Extremos OTLP de New Relic.
    <YOUR_NEWRELIC_LICENSE_KEY>Ingrese su clave de licencia de New Relic.
    collection_intervalIngrese el intervalo entre los raspados de métricas. Predeterminado: 15s.

    Sugerencia

    Tú también puedes:

    Configurar múltiples receptores: para monitorear múltiples instancias de PostgreSQL desde un recolector. Vincule su base de datos PostgreSQL con APM: para correlacionar el rendimiento de la aplicación con las operaciones de la base de datos. Esto le permite ver exactamente qué aplicaciones están generando cargas de trabajo de base de datos específicas. Planes de consulta para sentencias de escritura: para recopilar planes de consulta para sentencias de bloqueo o escritura sin otorgar acceso de escritura al usuario de monitoreo. Configurar la gestión de secretos: para administrar de forma segura información confidencial, como las credenciales de bases de datos. Esto ayuda a mejorar la seguridad de su configuración de monitoreo al evitar la codificación rígida de datos sensibles en los archivos de configuración.

Valide la configuración de NRDOT Collector

  1. Actualice la ruta de configuración para que apunte a su nuevo archivo 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. Valide la configuración del NRDOT Collector para asegurarse de que tenga el formato correcto y funcione correctamente:
bash
$
sudo /usr/bin/nrdot-collector validate --config=/etc/nrdot-collector/postgresql-config.yaml

Reiniciar NRDOT Collector

Después de configurar el recolector, reinicie el servicio NRDOT Collector para aplicar los cambios:

bash
$
sudo systemctl restart nrdot-collector

Para verificar que el recolector se esté ejecutando correctamente, verifique el estado del servicio:

bash
$
sudo systemctl status nrdot-collector

Sugerencia

Reinicie siempre el NRDOT Collector después de realizar cambios de configuración para garantizar que los nuevos ajustes surtan efecto.

Encuentra y utiliza tus datos

Las muestras de consulta y las consultas principales llegan como log de evento (event.name = 'db.server.query_sample' / 'db.server.top_query', db.system.name = 'postgresql'). Las métricas llegan bajo el namespace postgresql.*.

Para encontrar su entidad de base de datos PostgreSQL en New Relic:

  1. Vaya a https://one.newrelic.com > All Capabilities > Databases.
  2. En el menú desplegable Entity type, seleccione PostgreSQL instance y luego haga clic en Apply.
  3. Seleccione su base de datos PostgreSQL de la lista de entidades.

Vincule su base de datos PostgreSQL con APM

Aprenda a correlacionar el rendimiento de su aplicación con las operaciones de la base de datos.

Guía de solución de problemas

Aprenda a solucionar problemas comunes con el monitoreo de PostgreSQL.

Referencia de métricas

Obtenga información sobre las métricas disponibles recopiladas por NRDOT Collector.

Copyright © 2026 New Relic Inc.

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