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.
O NRDOT Collector relata uma ampla variedade de métricas do PostgreSQL. O New Relic coleta as métricas em Métricas padrão automaticamente. Para obter insights mais profundos sobre o desempenho e a integridade, ative qualquer uma das métricas listadas em Métricas adicionais.
Dica
Cada métrica tem o escopo de um banco de dados, tabela, esquema ou índice específico. Esse contexto é definido no recurso, não como um atributo de métrica.
Essas métricas são coletadas automaticamente e alimentam a interface da New Relic, incluindo o dashboard pronto para uso.
Métrica | Descrição | Unidade | Tipo | Atributo |
|---|---|---|---|---|
| Número de conexões de backend |
| soma (cumulativa, int) | — |
| Número de buffers alocados |
| soma (cumulativa, int, monotônica) | — |
| Número de buffers gravados |
| soma (cumulativa, int, monotônica) |
(backend, backend_fsync, checkpoints, bgwriter) |
| Número de checkpoints realizados |
| soma (cumulativa, int, monotônica) |
(solicitado, agendado) |
| Tempo total gasto na gravação e sincronização de arquivos no disco por checkpoints |
| soma (cumulativa, dupla, monotônica) |
(sincronização, gravação) |
| Número de vezes que o gravador em segundo plano interrompeu uma verificação de limpeza porque já havia gravado muitos buffers |
| soma (cumulativa, int, monotônica) | — |
| Número de blocos lidos |
| soma (cumulativa, int, monotônica) |
|
| Número de commits |
| soma (cumulativa, int, monotônica) | — |
| Número máximo de conexões de cliente permitidas |
| medidor (int) | — |
| Número de bancos de dados do usuário |
| soma (cumulativa, int, não monotônica) | — |
| Uso de disco do banco de dados |
| soma (cumulativa, int, não monotônica) | — |
| Número de varreduras de índice em uma tabela |
| soma (cumulativa, int, monotônica) | — |
| Tamanho do índice no disco |
| medidor (int) | — |
| Número de operações de linha do banco de dados |
| soma (cumulativa, int, monotônica) |
(ins, upd, del, hot_upd) |
| Quantidade de dados atrasados na replicação |
| medidor (int) |
|
| Número de reversões |
| soma (cumulativa, int, monotônica) | — |
| Número de linhas no banco de dados |
| soma (cumulativa, int, não monotônica) |
(morto, vivo) |
| Número de tabelas de usuário em um banco de dados |
| soma (cumulativa, int, não monotônica) | — |
| Espaço em disco usado por uma tabela |
| soma (cumulativa, int, não monotônica) | — |
| Número de vezes que uma tabela passou por vacuum manualmente |
| soma (cumulativa, int, monotônica) | — |
| Idade do arquivo WAL mais antigo. Requer WAL habilitado com pelo menos uma réplica |
| medidor (int) | — |
| Tempo entre o descarregamento do WAL recente localmente e o recebimento da notificação de que o standby concluiu uma operação. Requer WAL + pelo menos uma réplica |
| medidor (int) |
(flush, replay, write),
|
Métricas adicionais
As seguintes métricas estão desativadas por padrão, mas podem ser ativadas para obter insights mais profundos sobre o desempenho e a integridade do PostgreSQL. Essas métricas são organizadas por funcionalidade.
O dashboard de entidade do PostgreSQL pronto para uso usa as seguintes métricas adicionais que devem ser habilitadas explicitamente:
Métrica | Descrição | Unidade | Widget de dashboard | Requisitos extras |
|---|---|---|---|---|
| Número de bloqueios de banco de dados |
| Bloqueios de Banco de Dados por Modo/Tipo | — |
| Número de deadlocks |
| Deadlocks | — |
| Chamadas feitas a uma função |
| Chamadas de função/min | Requer
em
|
| Consultas canceladas devido a conflitos de recuperação. Apenas em standby; zero nas primárias |
| Conflitos de consulta | — |
| Número de varreduras sequenciais |
| Varreduras sequenciais/min | — |
| Total de dados gravados em arquivos temporários por consultas |
| Arquivos temporários e I/O temporário (MB/min) | — |
| Número de arquivos temporários |
| Arquivos temporários e I/O temporário (MB/min) | — |
Métricas adicionais de atividade do banco de dados não utilizadas pelo dashboard:
Métrica | Descrição | Unidade | Atributo |
|---|---|---|---|
| Blocos de disco já encontrados no cache de buffer |
| — |
| Blocos de disco lidos neste banco de dados |
| — |
| Linhas buscadas por consultas no banco de dados |
| — |
| Linhas retornadas por consultas no banco de dados |
| — |
| Linhas inseridas por consultas no banco de dados |
| — |
| Linhas atualizadas por consultas no banco de dados |
| — |
| Linhas excluídas por consultas no banco de dados |
| — |
| Tempo total de execução das instruções SQL rastreadas por
para o banco de dados |
| — |
Métrica | Descrição | Unidade | Atributo |
|---|---|---|---|
| Substituição precisa para
, por trás do gate de recurso
|
|
,
|
As métricas de pesquisa de similaridade de vetores exigem o PostgreSQL 13+ e as extensões pg_stat_statements e pgvector:
Métrica | Descrição | Unidade | Atributo |
|---|---|---|---|
| Execuções de pesquisa de similaridade de vetor, agrupadas por função de distância |
|
|
| Tempo de execução cumulativo de buscas vetoriais |
|
|
| Linhas cumulativas retornadas por pesquisas de vetor |
|
|
| Vetores inseridos em tabelas pgvector |
| — |
| Tempo de execução cumulativo de inserções do pgvector |
| — |
Consulta evento
Os seguintes eventos estão desativados por padrão, mas podem ser ativados para coletar dados de telemetria no nível da consulta.
Visibilidade em tempo real das instruções de banco de dados atualmente em execução — um snapshot pontual feito a cada scrape, não um log de execução completo. Este evento está desativado por padrão e requer que o usuário de monitoramento tenha pg_monitor.
Atributo | Descrição |
|---|---|
| Nome do banco de dados. Isso é sempre
|
| O texto da instrução SQL |
/
| Tags de comentário de correlação de APM. Para mais informações, consulte |
| MD5 do SQL normalizado para correlação entre mecanismos |
| Usuário conectado a este backend |
| Estado geral atual do backend |
| ID do processo deste backend |
| Timestamp UTC (RFC3339) em que o backend/conexão foi iniciado. Estável durante a vida útil da conexão, ao contrário de
, que muda a cada consulta |
| Segundos inteiros desde o início do backend.
se
indisponível |
| Nome do aplicativo conectado |
/
| Endereço IP do cliente/porta TCP |
| Nome do host de DNS reverso do cliente |
| Quando a consulta atualmente ativa (ou a última) foi iniciada |
/
| Nome/categoria do evento de espera, se o backend estiver aguardando no momento |
| Identificador da consulta mais recente deste backend |
| Duração da consulta em milissegundos delta |
| Matriz de PIDs bloqueando esta sessão. Vazio quando não bloqueado |
| Timestamp UTC de quando a espera de bloqueio atual começou. Vazio quando não bloqueado |
| Segundos inteiros de espera por um bloqueio.
quando não bloqueado |
/
/
| Modo de bloqueio / tipo de recurso / nome da relação em espera. Vazio quando não bloqueado |
| Timestamp UTC quando a transação atual começou. Vazio quando não há transação ativa |
Estatísticas de execução agregadas por consulta normalizada de pg_stat_statements, relatadas como valores incrementais (delta) desde o último ciclo de coleta. Este evento está desativado por padrão e requer a extensão pg_stat_statements em cada banco de dados verificado.
Atributo | Descrição |
|---|---|
| Nome do banco de dados. Isso é sempre
|
| O texto da instrução SQL (normalizado,
/
espaços reservados) |
/
| Igual a
. Observação: reflete o chamador que foi executado primeiro —
aplica hash a
apenas a partir da estrutura da consulta e congela o texto armazenado (comentários incluídos) na primeira execução |
| MD5 do SQL normalizado para correlação entre mecanismos |
/
| Vezes executadas / linhas recuperadas-afetadas, valores delta |
/
/
/
| Atividade de bloco compartilhado, valores delta |
/
| Atividade de bloco temporário, valores delta |
| Hash que identifica consultas normalizadas idênticas |
| Função que executou a consulta |
/
| Tempo total de execução / planejamento, delta em milissegundos |
| O plano EXPLAIN para a instrução, se obtível — consulte a mecânica do EXPLAIN abaixo |
Mecânica de coleta do plano de execução (EXPLAIN)
- Limitação de taxa:
top_query_collection.max_explain_each_interval(padrão 1.000) limita os EXPLAINs por coleta. - Cache:
query_plan_cache_size/query_plan_cache_ttl(padrão de 1.000 entradas / 1h) armazenam em cache um plano assim que obtido, com chave por ID da consulta. - Requisito do PostgreSQL 12+: o EXPLAIN de consulta parametrizada precisa de
plan_cache_mode = force_generic_planantes dePREPARE/EXPLAIN EXECUTE— disponível apenas no PostgreSQL 12+. Em servidores mais antigos, o receptor detecta a versão e ignora o EXPLAIN para essa consulta em vez de enviar umSETque falharia. - Limite de privilégios: por padrão, o EXPLAIN é executado diretamente como o usuário de monitoramento, e o Postgres verifica os privilégios da tabela no momento do planejamento — portanto, o bloqueio de linhas ou as instruções de gravação falham com
permission denied, a menos que seja concedido acesso de gravação, o que o usuário de monitoramento nunca deve ter. Utilizeexplain_function_name(consulte Permissões do plano EXPLAIN) para contornar isso sem conceder acesso de gravação. - Se um plano não puder ser obtido por qualquer motivo,
postgresql.query_planficará simplesmente vazio para essa linha — nenhum erro será apresentado.
Documentação relacionada
Instrumentação em ambientes auto-hospedados
Saiba como configurar o monitoramento do PostgreSQL em ambientes auto-hospedados com o New Relic.
Instrumentação em ambientes RDS
Saiba como configurar o monitoramento do PostgreSQL em ambientes RDS com o New Relic.
Guia de solução de problemas
Saiba como solucionar problemas comuns com o monitoramento do PostgreSQL.