Visualização
Ainda estamos trabalhando nesse recurso, mas adoraríamos que você experimentasse!
Atualmente, esse recurso é fornecido como parte de uma prévia, de acordo com nossas políticas de pré-lançamento.
Configure o monitoramento do PostgreSQL usando o NRDOT Collector em ambientes auto-hospedados, incluindo servidores físicos, máquinas virtuais e instalações autônomas.
Pré-requisitos
Antes de instalar, certifique-se de ter:
PostgreSQL
14e superiorUma chave de licença da New Relic.
Acesso administrativo à instância do PostgreSQL.
Conectividade de rede entre o host onde o NRDOT Collector é instalado e o banco de dados PostgreSQL.
Conectividade de rede para a documentação dos endpoints OTLP da New Relic
Esta integração está disponível como parte do programa de pré-visualização pública da New Relic. Verifique com seu gerente da organização para fazer a adesão na página Previews & Trials.
Para obter as versões compatíveis do PostgreSQL, as concessões necessárias e os parâmetros de servidor recomendados, consulte Compatibilidade e pré-requisitos.
Configurar o NRDOT Collector
Instale o NRDOT Collector no sistema:
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 PostgreSQL.
Para criar o usuário de monitoramento e as concessões:
Conecte-se à sua instância do PostgreSQL como um superusuário ou outro usuário com as permissões necessárias:
bash$sudo -u postgres psql --dbname=postgres --port=5432Crie o usuário de monitoramento:
CREATE USER <YOUR_DB_USERNAME> WITH LOGIN PASSWORD '<YOUR_DB_PASSWORD>';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
pgvectorem cada banco de dados:CREATE EXTENSION IF NOT EXISTS vector;As funções de distância
l1,hammingejaccardexigem a versão0.7.0ou superior dopgvector.(Opcional) Para verificar a conexão e as permissões, é necessário executar:
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"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 as suas configurações específicas do PostgreSQL. Selecione o seu tipo de configuração com base nas suas necessidades de monitoramento:
Parâmetro de configuração
A tabela a seguir descreve os principais parâmetros de configuração para o receptor nrpostgresql:
| Parâmetro | Descrição |
|---|---|
<YOUR_DB_HOST> | Insira o nome do host do banco de dados PostgreSQL. |
<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. |
<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_interval | Insira o intervalo entre as coletas de métrica. Padrão: 15s. |
Dica
Você também pode:
- Configurar múltiplos receptores: para monitorar várias instâncias do PostgreSQL a partir de um coletor.
- Vincular o 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.
- Permissões do plano EXPLAIN: para coletar planos de consulta para instruções de bloqueio ou gravação sem conceder acesso de gravação ao usuário de monitoramento.
- Configure o receptor de consulta SQL: para coletar métricas personalizadas do banco de dados PostgreSQL.
- 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 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
Atualize o caminho da configuração para apontar para seu novo arquivo
postgresql-config.yaml:bash$OTELCOL_OPTIONS="/etc/nrdot-collector/postgresql-config.yaml"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:
$sudo systemctl restart nrdot-collectorPara verificar se o coletor está funcionando corretamente, verifique o status do serviço:
$sudo systemctl status nrdot-collectorDica
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 a entidade de banco de dados PostgreSQL no New Relic:
- Vá para https://one.newrelic.com > All Capabilities > Databases.
- Na dropdown Entity type, selecione PostgreSQL instance e clique em Apply.
- Selecione seu banco de dados PostgreSQL na lista de entidades.
Documentação relacionada
Vincular seu banco de dados PostgreSQL ao APM
Saiba como correlacionar o desempenho do aplicativo com as operações do banco de dados.
Guia de solução de problemas
Saiba como solucionar problemas comuns com o monitoramento do PostgreSQL.
Referência de métricas
Saiba mais sobre as métricas disponíveis coletadas pelo NRDOT Collector.