0Pricing
SQL Academy · Lezione

pgBadger per l’analisi dei log

Esegua pgBadger sui log di Postgres per produrre report HTML su query lente, attese dei lock e schemi delle connessioni.

pgBadger per l’analisi dei log è una lezione SQL Academy gratuita su CoddyKit. Questa è la lezione 2 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento SQL Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso SQL Academy include 4 lezioni in totale.

Cos'è pgBadger

Un analizzatore di log PostgreSQL basato su Perl che produce splendidi report HTML sulle query lente, sulle attese dei lock, sugli errori e sui pattern delle connessioni. Lo esegua periodicamente sui log.

Configurare il logging

postgresql.conf:

log_destination = 'csvlog'
logging_collector = on
log_directory = 'pg_log'
log_min_duration_statement = '500ms'
log_lock_waits = on
log_temp_files = 0
log_checkpoints = on
log_connections = on
log_disconnections = on
log_line_prefix = '%t [%p]: [%l-1] user=%u,db=%d,app=%a,client=%h '

Eseguire pgBadger

Generi un report:

pgbadger /var/log/postgresql/postgresql-2024-03-15.csv \
  -o report.html

# Multiple files:
pgbadger /var/log/postgresql/*.csv -o report.html

Contenuto del report

  • Query più lente con esempi
  • Query eseguite più frequentemente
  • Query che consumano più tempo
  • Attese dei lock
  • Errori
  • Pattern delle connessioni nel tempo
  • Utilizzo dei file temporanei
  • Attività di checkpoint e vacuum

Modalità incrementale

Per l'analisi continua dei log, generi report giornalieri:

pgbadger -I -O /var/www/pgbadger/ /var/log/postgresql/*.csv
# Updates an HTML dashboard incrementally.

Esecuzione automatica tramite Cron

Job notturno:

0 1 * * * pgbadger -I -O /var/www/pgbadger/ /var/log/postgresql/postgresql-`date +%F`.csv

Confronto con pg_stat_statements

pg_stat_statements: metriche aggregate, nel database.
pgBadger: analizza i log grezzi e individua pattern che le aggregazioni non rilevano (attese dei lock, errori, picchi di connessioni).

Individuare i pattern delle attese dei lock

pgBadger riepiloga le attese dei lock: quali query ne hanno bloccate altre e per quanto tempo. È ottimo per diagnosticare problemi di deadlock e contesa.

Sezione degli errori

Conteggio di ogni codice di errore. "23505 unique_violation: 12,000 times" è un campanello d'allarme: l'applicazione sta ritentando inserimenti duplicati.

File temporanei

Query che riversano dati su disco (sort/hash troppo grandi per work_mem):

log_temp_files = 0     -- log all temp file usage
-- pgBadger summarises queries that created temp files.

Alternative cloud

RDS Performance Insights, Cloud SQL Query Insights e altri servizi eseguono analisi simili negli ambienti gestiti, di solito basandosi sulle stesse fonti di statistiche.

Riepilogo

pgBadger trasforma i log di Postgres in una dashboard.

  • Imposti log_min_duration_statement
  • Generi report HTML periodici
  • Individui attese dei lock, file temporanei e pattern degli errori
  • Completa pg_stat_statements

Verifica rapida

Vede che l'applicazione ritenta molti INSERT. Quale impostazione dei log di Postgres la aiuta a confermarlo?

Domande Frequenti

La lezione «pgBadger per l’analisi dei log» è gratuita?

Sì — il testo completo di «pgBadger per l’analisi dei log» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso SQL Academy, passa a CoddyKit PRO. Il corso SQL Academy include 4 lezioni in totale.

Cosa imparerò in «pgBadger per l’analisi dei log»?

Esegua pgBadger sui log di Postgres per produrre report HTML su query lente, attese dei lock e schemi delle connessioni. Eserciti SQL Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare SQL Academy?

Non è richiesta alcuna esperienza precedente. SQL Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 2 di 4.

Quanto tempo richiede la lezione «pgBadger per l’analisi dei log»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione SQL Academy?

Sì. Ogni lezione SQL Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. pg_stat_statements: query principali
  2. pgBadger per l’analisi dei log
  3. Pooling delle connessioni: PgBouncer
  4. Pianificazione della capacità e audit del bloat
← Torna a SQL Academy