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

Para versões suportadas do PostgreSQL, permissões necessárias e parâmetros de servidor recomendados, consulte Compatibilidade e pré-requisitos.

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.