Principais 🐘👀 Ferramentas de monitoramento Postgres 🧰 e práticas recomendadas em 2024 🔝

Se você não monitora o Postgres, você não está falando sério.

É o ano de 2024 e o Postgres mantém o ritmo. A ascensão de pg_vetor, Supabase e Néon alimentar a adoção do Postgres. Esta postagem analisa as ferramentas e práticas recomendadas para monitorar seu banco de dados Postgres.

 

Ferramentas de código aberto

 

pg_stat_statements

A primeira coisa é habilitar o pg_stat_statements extensão.

CREATE EXTENSION pg_stat_statements;
Entre no modo de tela cheia

Sair do modo de tela cheia

pg_stat_statements rastreia estatísticas de planejamento e execução de todas as instruções SQL executadas por um servidor. É também um pré-requisito para outras soluções de monitoramento mais avançadas.

psql=# SELECT query, calls, total_exec_time, rows, 100.0 * shared_blks_hit /
               nullif(shared_blks_hit + shared_blks_read, 0) AS hit_percent
          FROM pg_stat_statements ORDER BY total_exec_time DESC LIMIT 5;
-( RECORD 1 )---+--------------------------------------------------​------------------
query           | UPDATE pgbench_tellers SET tbalance = tbalance + $1 WHERE tid = $2
calls           | 3000
total_exec_time | 20756.669379
rows            | 3000
hit_percent     | 100.0000000000000000
Entre no modo de tela cheia

Sair do modo de tela cheia

 

explica.dalibo.com

explica.dalibo.com é uma UI da web para visualizar os planos de consulta EXPLAIN do Postgres. Também é código aberto no GitHub e pode ser incorporado em seus próprios aplicativos da web.

 

Exportador Prometheus Postgres

Exportador Prometheus Postgres extrair métricas do banco de dados Postgres e armazená-las no Prometheus. A partir daí, você pode usar o Prometheus Alertmanager para configurar regras de alerta e usar o Grafana para criar painéis.

 

Soluções Proprietárias

 

analisar

Descrição da imagem

analisar é um serviço de observabilidade específico do Postgres. Ele fornece ajuste SQL detalhado e monitoramento de desempenho. Para o plano Scale, ele começa com US$ 399 por mês, incluindo 4 servidores de banco de dados, cada servidor adicional custa US$ 100.

 

DataDog

Descrição da imagem

DataDog fornece Monitoramento de banco de dados Postgres. Seu monitoramento Postgres não é tão extenso quanto o pganalyze. A vantagem do DataDog é sua integração com toda a pilha de aplicativos e o pipeline de CI/CD. O preço começa em US$ 70 por servidor de banco de dados por mês.

 

Outras opções

  • pgDash tem um conjunto de recursos e preços semelhantes aos do pganalyze. pgDash parece menos polido. Por outro lado, o pgDash oferece opção de auto-hospedagem para todos os planos, enquanto o pganalyze oferece apenas opção de auto-hospedagem para o plano Enterprise.

Descrição da imagem

 

Melhores Práticas

 

Monitorar o contorno do ID da transação

Devido à implementação MVCC do PostgreSQL, ele possui um infame encapsulamento do ID da transação risco. Quando isso acontecer, todo o banco de dados ficará indisponível, veja alguns incidentes anteriores (MailChimp, Figura). Todo serviço de monitoramento Postgres e provedor de serviços de banco de dados capaz pode verificar este risco:

 

Bloqueios de monitoramento

Usar pg_locks visualizar para encontrar quaisquer problemas de bloqueio. Você pode encontrar conexões que mantiveram bloqueios por muito tempo, bem como conexões que esperaram muito para adquirir o bloqueio.

Você também deve considerar ativar log_lock_waits.

 

Evite bloquear operações

É sempre uma boa prática definir lock_timeout no usuário.

Ao fazer alterações em DDL, tente usar instruções sem bloqueio. por exemplo, adicione índice com CONCORRENTEMENTEadicione restrição com NÃO VÁLIDO.

Você pode configurar Revisão SQL no Bytebase e detectar tais antipadrões.

 

Use um provedor de serviços Cloud Postgres

Todos os principais provedores de serviços de banco de dados Postgres possuem monitoramento básico pronto para uso. Se você precisar se auto-hospedar por motivos de orçamento ou conformidade, poderá começar com a configuração do Prometheus/Grafana e atualizar para pganalyze/DataDog conforme o negócio cresce.


Uma solução de monitoramento abrangente pode ser intimidante. Tentamos fornecer sugestões práticas para empresas em diferentes estágios. Por favor, deixe-nos saber se você tem outras ferramentas de monitoramento e melhores práticas que valem a pena compartilhar para pastorear o elefante.

O que achou desse post:

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *

Mais artigos