Pgbadger

Perl dilinde geliştirilmiş bir scriptir (grafikler için de JavaScript library (flotr2) kullanır).
Postgres loglarını analiz edip detaylı raporlar üretir.
Log formatını (syslog, stderr, csvlog, jsonlog) otomatik olarak algılar.
Büyük boyuttaki ve sıkıştırılmış (gzip, bzip2, lz4, xz, zip, zstd) log dosyaları ile çalışabilir.
Sadece hataları raporlayabilecek şekilde filtreleme yapılabilir.
SQL sorguları ile ilgili herşeyi raporlayabilir ;

  • Tüm istatistikler,
  • En sık bekleyen SQL’ler,
  • En çok bekleyen SQL’ler,
  • En çok temp dosya üreten SQL’ler,
  • En büyük temp dosya üreten SQL’ler,
  • En yavaş SQL’ler,
  • En çok zaman alan SQL’ler,
  • En sık karşılaşılan hatalar,
  • Kilit (lock) istatistikleri,
postgres@srv1:~$ sudo apt update
postgres@srv1:~$ sudo apt install pgbadger
ALTER SYSTEM SET log_min_duration_statement = 1000;
ALTER SYSTEM SET log_line_prefix = ‘%t [%p]:[%l-1]
user=%u,db=%d,app=%a,client=%h ‘;
ALTER SYSTEM SET log_checkpoints = on;
ALTER SYSTEM SET log_connections = on;
ALTER SYSTEM SET log_disconnections = on;
ALTER SYSTEM SET log_lock_waits = on;
ALTER SYSTEM SET log_temp_files = 0;
ALTER SYSTEM SET log_autovacuum_min_duration = 0;
ALTER SYSTEM SET log_error_verbosity = default;
ALTER SYSTEM SET log_statement = none;

github.com/darold/pgbadger sitesinden indirilip aşağıdaki adımlarla kaynak koddan da
kurulum yapılabilir.
tar xzf pgbadger-12.x.tar.gz
cd pgbadger-12.x/
perl Makefile.PL
make && sudo make install

Örnek Rapor Alımı

# belirli bir aralığın raporu
pgbadger -b “2022-04-04 12:00:00” -e “2022-04-04 14:00:00” -f
stderr /var/lib/postgresql/14/main/log/postgresql-Mon.log -o /
tmp/mx_2022-04-04-12.00-14.00.html

# Aylık rapor
pgbadger -X --month-report 2919-08 /tmp/pg_reports/
pgbadger -E -X --month-report 2919-08 /tmp/pg_reports/

# Uzaktaki bir sunucunun raporu
pgbadger ssh://kul1@10.71.6.22:2222//var/log/postgresql/
postgresql-14.1-main.log*
pgbadger http://kul1@10.71.6.22//var/log/postgresql/postgresql-14.1-main.log*
pgbadger ftp://kul1@10.71.6.22//var/log/postgresql/postgresql-14.1-main.log*

Kısa bir script ile raporlar mail ile alınabilir.
Pgbadger’ın detayları için github.com/darold/pgbadger , örnek raporlar için
pgbadger.darold.net/#reports linki ziyaret edilebilir.

Kategori seçin...