Günlük Analizi için pgBadger
Yavaş sorgular, kilit beklemeleri ve bağlantı kalıplarına ilişkin HTML raporları oluşturmak için pgBadger'ı Postgres günlükleri üzerinde çalıştırın.
Günlük Analizi için pgBadger, CoddyKit'te ücretsiz bir SQL Academy dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, SQL Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. SQL Academy kursu toplamda 4 dersten oluşur.
pgBadger Nedir
Yavaş sorgular, kilit beklemeleri, hatalar ve bağlantı örüntüleri hakkında ayrıntılı HTML raporları oluşturan Perl tabanlı bir PostgreSQL günlük çözümleyicisidir. Günlüklerinize karşı düzenli aralıklarla çalıştırın.
Günlüklemeyi Yapılandırma
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 'pgBadger'ı Çalıştırma
Bir rapor oluşturun:
pgbadger /var/log/postgresql/postgresql-2024-03-15.csv \
-o report.html
# Multiple files:
pgbadger /var/log/postgresql/*.csv -o report.htmlRaporda Neler Var
- Örnekleriyle birlikte en yavaş sorgular
- En sık çalıştırılan sorgular
- En çok zaman alan sorgular
- Kilit beklemeleri
- Hatalar
- Zamana göre bağlantı örüntüleri
- Geçici dosya kullanımı
- Denetim noktası ve vakumlama etkinliği
Artımlı Mod
Sürekli günlük çözümlemesi için günlük raporlar oluşturun:
pgbadger -I -O /var/www/pgbadger/ /var/log/postgresql/*.csv
# Updates an HTML dashboard incrementally.Cron ile Otomatik Çalıştırma
Gece çalışacak iş:
0 1 * * * pgbadger -I -O /var/www/pgbadger/ /var/log/postgresql/postgresql-`date +%F`.csvpg_stat_statements ile Karşılaştırma
pg_stat_statements: toplu ölçümler, veritabanının içinde.
pgBadger: ham günlükleri ayrıştırır ve toplu ölçümlerin gözden kaçırdığı örüntüleri bulur (kilit beklemeleri, hatalar, bağlantı akınları).
Kilit Bekleme Örüntülerini Çıkarma
pgBadger, hangi sorgunun hangisini ne kadar süreyle engellediğini göstererek kilit beklemelerini özetler. Kilitlenme ve kaynak yarışması sorunlarını tanılamak için çok kullanışlıdır.
Hatalar Bölümü
Her hata kodunun sayısını gösterir. "23505 unique_violation: 12.000 kez" bir uyarıdır — uygulama yinelenen eklemeleri yeniden deniyor.
Geçici Dosyalar
Diske taşan sorgular (sıralama/karma, work_mem için fazla büyük):
log_temp_files = 0 -- log all temp file usage
-- pgBadger summarises queries that created temp files.Bulut Alternatifleri
RDS Performance Insights, Cloud SQL Query Insights ve benzeri araçlar, yönetilen ortamlarda benzer çözümlemeler yapar — genellikle aynı istatistik kaynaklarını temel alırlar.
Özet
pgBadger, PostgreSQL günlüklerini bir gösterge tablosuna dönüştürür.
- log_min_duration_statement'i ayarlayın
- Düzenli aralıklarla HTML raporları oluşturun
- Kilit beklemelerini, geçici dosyaları ve hata örüntülerini bulun
- pg_stat_statements'i tamamlar
Hızlı Kontrol
Uygulamanızın birçok ekleme sorgusunu yeniden denediğini görüyorsunuz. Bunu doğrulamanıza hangi PostgreSQL günlük ayarı yardımcı olur?
Sıkça Sorulan Sorular
“Günlük Analizi için pgBadger” dersi ücretsiz mi?
Evet — “Günlük Analizi için pgBadger” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve SQL Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. SQL Academy kursu toplamda 4 dersten oluşur.
“Günlük Analizi için pgBadger” dersinde ne öğreneceğim?
Yavaş sorgular, kilit beklemeleri ve bağlantı kalıplarına ilişkin HTML raporları oluşturmak için pgBadger'ı Postgres günlükleri üzerinde çalıştırın. SQL Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
SQL Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te SQL Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.
“Günlük Analizi için pgBadger” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu SQL Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her SQL Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- pg_stat_statements: En Önemli Sorgular
- Günlük Analizi için pgBadger
- Bağlantı Havuzlama: PgBouncer
- Kapasite Planlama ve Şişkinlik Denetimleri