• /
  • EnglishEspañolFrançais日本語한국어Português
  • EntrarComeçar agora

Esta tradução de máquina é fornecida para sua comodidade.

Caso haja alguma divergência entre a versão em inglês e a traduzida, a versão em inglês prevalece. Acesse esta página para mais informações.

Criar um problema

Instalar e configurar o NRDOT para monitoramento do PostgreSQL com o AWS RDS

|View as Markdown (English)

Configure o monitoramento do PostgreSQL usando o NRDOT Collector para instâncias do AWS RDS PostgreSQL. Os ambientes RDS têm considerações específicas para extensões e grupos de parâmetros.

Pré-requisitos

Antes de instalar, certifique-se de ter:

Configurar o NRDOT Collector

Instale o NRDOT Collector em um sistema que possa se conectar à instância do RDS:

Configurar usuário do banco de dados e concessões

Crie um usuário de monitoramento com os privilégios necessários para a sua instância do RDS PostgreSQL.

Para criar o usuário de monitoramento e as concessões:

  1. Conecte-se à instância do RDS como o usuário mestre:
bash
$
psql --host=<YOUR_RDS_ENDPOINT> --dbname=postgres --port=5432 --username=<YOUR_MASTER_USERNAME>
  1. Crie o usuário de monitoramento:
CREATE USER <YOUR_DB_USERNAME> WITH LOGIN PASSWORD '<YOUR_DB_PASSWORD>';
  1. Conceda a associação ao perfil do usuário de monitoramento conforme necessário:
  • Para o PostgreSQL 15 e superior, atribua a função para herdar privilégios:
ALTER ROLE <YOUR_DB_USERNAME> INHERIT;

Dica

No PostgreSQL 14, o usuário de monitoramento herda os privilégios por padrão, portanto, esta etapa pode ser ignorada.

  • Crie o seguinte esquema e as seguintes concessões em todos os bancos de dados a serem monitorados:
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 coletar métricas de vetor, crie a extensão pgvector em cada banco de dados:
CREATE EXTENSION IF NOT EXISTS vector;

As funções de distância l1, hamming e jaccard exigem a versão 0.7.0 ou superior do pgvector.

  • (Opcional) Para verificar a conexão e as permissões, é necessário executar:
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"

Se cada comando for concluído sem erro, o usuário de monitoramento, o host e a porta estarão todos corretos.

Configurar o NRDOT Collector

Configure o NRDOT Collector com suas configurações específicas do RDS PostgreSQL.

Esta configuração concentra-se no monitoramento essencial do PostgreSQL apenas com o receptor nrpostgresql.

configuração completa

Esta configuração de baseline captura métricas essenciais. Para ver o catálogo completo de métricas, consulte a referência de configuração.

  1. Crie um arquivo de configuração chamado postgresql-config.yaml:
bash
$
sudo nano /etc/nrdot-collector/postgresql-config.yaml
  1. Adicione a seguinte configuração ao arquivo postgresql-config.yaml criado na etapa anterior.

    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]

    Parâmetro de configuração

    A tabela a seguir descreve os principais parâmetros de configuração para o receptor nrpostgresql:

    ParâmetroDescrição
    <YOUR_RDS_ENDPOINT>Insira o nome do host do endpoint da instância RDS.
    <YOUR_DB_PORT>Insira a porta do banco de dados PostgreSQL.
    <YOUR_DB_USERNAME>Insira seu nome de usuário do banco de dados.
    <YOUR_DB_PASSWORD>Insira a senha do seu banco de dados.
    <YOUR_DATABASE_NAME>Insira o nome do banco de dados a ser monitorado.
    databasesLista de bancos de dados para coletar estatísticas. Padrão: [] (todos os bancos de dados não modelo). Aplica-se apenas a métricas. Amostras de consulta e principais consultas ignoram esta lista e são filtradas exclusivamente por exclude_databases.
    exclude_databasesBancos de dados excluídos das estatísticas, amostras de consulta e principais consultas. Padrão: []. Use isso para bancos de dados internos de serviços gerenciados (como rdsadmin) que seu usuário de monitoramento não consegue acessar.
    <YOUR_NEWRELIC_OTLP_ENDPOINT>Insira o endpoint OTLP da New Relic. Para mais informações, consulte os endpoints OTLP da New Relic.
    <YOUR_NEWRELIC_LICENSE_KEY>Insira sua chave de licença do New Relic.
    collection_intervalInsira o intervalo entre as coletas de métrica. Padrão: 15s.

    Dica

    Você também pode:

    Configurar múltiplos receptores: para monitorar múltiplas instâncias do PostgreSQL a partir de um coletor. Vincule seu banco de dados PostgreSQL ao APM: para correlacionar o desempenho do aplicativo com as operações do banco de dados. Isso permite visualizar exatamente quais aplicativos estão gerando workloads específicas de banco de dados. Planos de consulta para instruções de gravação: para coletar planos de consulta para instruções de bloqueio ou gravação sem conceder acesso de gravação ao usuário de monitoramento. Configurar o gerenciamento de segredos: para gerenciar com segurança informações confidenciais, como credenciais de banco de dados. Isso ajuda a aprimorar a segurança do seu ambiente de monitoramento ao evitar a inserção direta de dados sensíveis nos arquivos de configuração.

Validar a configuração do NRDOT Collector

  1. Atualize o caminho da configuração para apontar para seu novo arquivo 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 a configuração do Collector NRDOT para garantir que esteja formatada corretamente e funcione adequadamente:
bash
$
sudo /usr/bin/nrdot-collector validate --config=/etc/nrdot-collector/postgresql-config.yaml

Reiniciar o NRDOT Collector

Após configurar o coletor, reinicie o serviço NRDOT Collector para aplicar as alterações:

bash
$
sudo systemctl restart nrdot-collector

Para verificar se o coletor está funcionando corretamente, verifique o status do serviço:

bash
$
sudo systemctl status nrdot-collector

Dica

Sempre reinicie o Collector NRDOT após fazer alterações de configuração para garantir que as novas configurações entrem em vigor.

Encontre e use seus dados

As amostras de consulta e as principais consultas chegam como eventos de log (event.name = 'db.server.query_sample' / 'db.server.top_query', db.system.name = 'postgresql'). As métricas chegam no namespace postgresql.*.

Para encontrar sua entidade de banco de dados RDS PostgreSQL no New Relic:

  1. Vá para https://one.newrelic.com > All Capabilities > Databases.
  2. Na dropdown Entity type, selecione PostgreSQL instance e clique em Apply.
  3. Selecionar o banco de dados RDS PostgreSQL na lista de entidades.

Instrumentação em ambientes auto-hospedados

Saiba como configurar o monitoramento do PostgreSQL em ambientes auto-hospedados com o New Relic.

Referência de métricas

Saiba mais sobre as métricas disponíveis coletadas pelo NRDOT Collector.

Guia de solução de problemas

Saiba como solucionar problemas comuns com o monitoramento do PostgreSQL.

Copyright © 2026 New Relic Inc.

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