Em resumoColete e visualize logs do servidor PostgreSQL (formato CSV) no ClickStack usando o receiver
filelog do OTel. Inclui um dataset de demonstração e um dashboard pré-configurado.Integração com um PostgreSQL existente
Pré-requisitos
- Instância do ClickStack em execução
- Instalação existente do PostgreSQL (versão 9.6 ou superior)
- Acesso para modificar os arquivos de configuração do PostgreSQL
- Espaço em disco suficiente para os arquivos de log
Configure o logging do PostgreSQL
O PostgreSQL oferece suporte a vários formatos de log. Para o parsing estruturado com OpenTelemetry, recomendamos o formato CSV, que fornece uma saída consistente e fácil de analisar.O arquivopostgresql.conf normalmente fica em:- Linux (apt/yum):
/etc/postgresql/{version}/main/postgresql.conf - macOS (Homebrew):
/usr/local/var/postgres/postgresql.confou/opt/homebrew/var/postgres/postgresql.conf - Docker: a configuração geralmente é definida por variáveis de ambiente ou por um arquivo de configuração montado
postgresql.conf:Este guia usa o formato
csvlog do PostgreSQL para um processamento estruturado confiável. Se você estiver usando os formatos stderr ou jsonlog, precisará ajustar a configuração do coletor OpenTelemetry conforme necessário.Crie uma configuração personalizada do OTel collector
O ClickStack permite estender a configuração padrão do OpenTelemetry Collector montando um arquivo de configuração personalizado e definindo uma variável de ambiente. A configuração personalizada é mesclada à configuração padrão gerenciada pelo HyperDX via OpAMP.Crie um arquivo chamadopostgres-logs-monitoring.yaml com a configuração a seguir:- Lê os logs CSV do PostgreSQL em seu local padrão
- Processa entradas de log com várias linhas (os erros geralmente se estendem por várias linhas)
- Analisa o formato CSV com todos os campos padrão de log do PostgreSQL
- Extrai os timestamps para preservar o horário original dos logs
- Adiciona o atributo
source: postgresqlpara filtragem no HyperDX - Encaminha os logs para o exporter do ClickHouse por meio de um pipeline dedicado
- Na configuração personalizada, você define apenas novos receivers e pipelines
- Os processors (
memory_limiter,transform,batch) e exporters (clickhouse) já estão definidos na configuração base do ClickStack - você só faz referência a eles pelo nome - O operator
csv_parserextrai todos os campos padrão do log CSV do PostgreSQL como atributos estruturados - Esta configuração usa
start_at: endpara evitar reiniciar a ingestão dos logs quando o coletor é reiniciado. Para testes, altere parastart_at: beginningpara ver os logs históricos imediatamente. - Ajuste o caminho
includepara corresponder ao local do diretório de logs do PostgreSQL
Configure o ClickStack para carregar uma configuração personalizada
Para habilitar uma configuração personalizada do collector na implantação existente do ClickStack, você deve:- Montar o arquivo de configuração personalizado em
/etc/otelcol-contrib/custom.config.yaml - Definir a variável de ambiente
CUSTOM_OTELCOL_CONFIG_FILE=/etc/otelcol-contrib/custom.config.yaml - Montar o diretório de logs do PostgreSQL para que o collector possa lê-los
Opção 1: Docker Compose
Atualize a configuração da implantação do ClickStack:Opção 2: Docker Run (Imagem all-in-one)
Se você estiver usando a imagem all-in-one com docker run:Garanta que o collector do ClickStack tenha as permissões adequadas para ler os arquivos de log do PostgreSQL. Em produção, use montagens somente para leitura (
:ro) e siga o princípio do menor privilégio.Verificando logs no HyperDX
Depois de configurar, entre no HyperDX e verifique se os logs estão chegando:- Acesse a Search view
- Defina
sourcecomo Logs - Filtre por
source:postgresqlpara ver logs específicos do PostgreSQL - Você deverá ver entradas de log estruturadas com campos como
user_name,database_name,error_severity,message,queryetc.
Dataset de demonstração
Crie a configuração do coletor de teste
Crie um arquivo chamadopostgres-logs-demo.yaml com a configuração a seguir:Execute o ClickStack com a configuração de demonstração
Execute o ClickStack com os logs e a configuração de demonstração:Verifique os logs no HyperDX
Quando o ClickStack estiver em execução:- Abra o HyperDX e faça login na sua conta (talvez seja necessário criar uma conta primeiro)
- Navegue até a Search view e defina a source como
Logs - Defina o intervalo de tempo como 2025-11-09 00:00:00 - 2025-11-12 00:00:00
Exibição de fuso horárioO HyperDX exibe os timestamps no fuso horário local do navegador. Os dados de demonstração cobrem 2025-11-10 00:00:00 - 2025-11-11 00:00:00 (UTC). O intervalo amplo garante que você verá os logs de demonstração independentemente da sua localização. Depois que os logs aparecerem, você pode restringir o intervalo para um período de 24 horas e obter visualizações mais claras.
Dashboards e visualizações
a configuração do dashboard
Importe o dashboard pré-configurado
- Abra o HyperDX e navegue até a seção Dashboards
- Clique em Import Dashboard no canto superior direito, no menu de reticências
- Faça upload do arquivo
postgresql-logs-dashboard.jsone clique em Finish Import
Visualize o dashboard
O dashboard será criado com todas as visualizações pré-configuradas:Para o dataset de demonstração, defina o intervalo de tempo como 2025-11-10 00:00:00 - 2025-11-11 00:00:00 (UTC) (ajuste com base no seu fuso horário local). Por padrão, o dashboard importado não terá um intervalo de tempo especificado.
Solução de problemas
Configuração personalizada não está sendo carregada
Logs não aparecem no HyperDX
Próximas etapas
- Configure alertas para eventos críticos (falhas de conexão, consultas lentas, picos de erro)
- Correlacione logs com métricas do PostgreSQL para um monitoramento completo do banco de dados
- Crie dashboards personalizados para padrões de consulta específicos da aplicação
- Configure
log_min_duration_statementpara identificar consultas lentas de acordo com seus requisitos de desempenho