dataiotech Labs
Home/Operasyon/Gözlem
Telemetry, Golden Signals & Alerting Thresholds

Veritabanı Gözlemi & Alarm Eşikleri

Gereksiz alarm fırtınasını (Alert Fatigue) engelleyin. Hangi metrik, hangi eşikte kime çağrı (Pager) üretmeli?

Motor Filtresi:
Kategori:
Kritik Metrik & KategoriMotorUyarı (Warning)Kritik (Pager Alert)ÖnemAçıklama & RiskAlınacak Aksiyon
Replication Lag (Byte / Saniye Gecikmesi)
Replication
PostgreSQL> 50 MB veya > 10 sn> 500 MB veya > 60 sn🔴 CriticalPrimary sunucu ile Read Replica/Standby arasındaki WAL byte farkı veya zaman gecikmesi.Replica sunucunun CPU/IOPS kapasitesini inceleyin. Replica üzerinde uzun süren analitik sorguları tespit edip `hot_standby_feedback` kilitlerini sonlandırın.
Connection Pool Saturation (Bağlantı Doluluğu)
Connections
PostgreSQLmax_connections %75max_connections %90🔴 CriticalMevcut aktif ve idle istemci oturumlarının `max_connections` parametresine oranı.PgBouncer havuz limitlerini sıkılaştırın. `idle_in_transaction_session_timeout` parametresini kontrol ederek asılı oturumları otomatik düşürün.
Disk Free Space (Boş Depolama Alanı)
Storage
PostgreSQL< %20 boş alan< %10 boş alan🔴 CriticalVeritabanı data dizini (`/var/lib/postgresql/data`) ve WAL diskindeki boş alan yüzdesi.Eski WAL/pg_wal arşivlerini temizleyin, gereksiz geçici tabloları silin ve acil durum disk genişletmesi (EBS/LVM resize) başlatın.
Transaction ID Wraparound Age (datfrozenxid)
Maintenance
PostgreSQL> 1.0 Milyar XID> 1.5 Milyar XID🔴 CriticalPostgreSQL'in 2 milyar Transaction ID (XID) sınırına olan yakınlığı ve en eski donmamış işlem yaşı.En yaşlı tablolarda `VACUUM (FREEZE, VERBOSE)` çalıştırın. Autovacuum freeze parametrelerini (`autovacuum_freeze_max_age`) ve autovacuum_cost_limit değerini yükseltin.
Buffer Cache Hit Ratio (Bellek İsabet Oranı)
Performance
PostgreSQL< %98< %95🟠 HighOkuma isteklerinin diske gitmeden shared_buffers (RAM) üzerinden karşılanma oranı.En çok disk okuması yapan sorguları `pg_stat_statements` ile tespit edin; eksik indeksleri ekleyin veya `shared_buffers` boyutunu artırın.
CPU Utilization (İşlemci Yükü)
Performance
PostgreSQL> %75 (5 dk ortalama)> %90 (3 dk sürekli)🟠 HighVeritabanı sunucusunun toplam CPU kullanım yüzdesi ve sistem load average değeri.`pg_stat_activity` üzerinden CPU tüketen paralel sorguları (Seq Scan, Hash Join) inceleyin. Aşırı paralelleşmeyi sınırlayın.
Disk I/O Latency (Read / Write Gecikmesi)
Storage
PostgreSQL> 10 ms> 25 ms🟠 HighFiziksel depolama aygıtının okuma ve yazma işlemlerine yanıt verme süresi (ms).IOPS kotasını aşan checkpoint veya autovacuum yükünü dengeleyin. Cloud EBS/SSD biriminin burst kotasını veya IOPS limitini kontrol edin.
Deadlock Rate (Ölümcül Kilitlenme Sıklığı)
Errors
PostgreSQL> 1 / 5 dk> 5 / 1 dk🔴 Criticalİki veya daha fazla işlemin birbirinin kilitlediği kaynağı beklemesi sonucu oluşan deadlock sayısı.Uygulama kodunda satır güncelleme sıralarını tek bir standarda bağlayın (Örn: ID sıralı kilitleme). `deadlock_timeout` loglarını inceleyin.
Temporary File Generation Rate (Geçici Disk Dosyaları)
Performance
PostgreSQL> 50 MB / sorgu> 500 MB / sorgu🟡 MediumBüyük SORT, HASH JOIN veya DISTINCT işlemlerinin `work_mem` aşımı sonucu diske yazılan geçici byte hacmi.Sorguya veya oturuma özel `SET work_mem = '64MB';` tanımlayın. Gerekli indeksleri ekleyerek disk sort operasyonunu bellek içine çekin.
Long Running Transactions / Queries (Uzun Süren Sorgular)
Performance
PostgreSQL> 120 saniye> 600 saniye🟠 HighBelirli bir süreden (Örn: 5 dakika) daha uzun süredir açık kalan veya çalışan transaction sayısı.`statement_timeout` ve `idle_in_transaction_session_timeout` uygulayın. `SELECT pg_cancel_backend(pid);` ile kilit üreten sorguyu güvenle sonlandırın.
Seconds Behind Source (MySQL Replikasyon Gecikmesi)
Replication
MySQL> 10 saniye> 60 saniye🔴 CriticalMySQL Replica sunucusunun SQL_THREAD gecikmesi (`Seconds_Behind_Master`).Multi-Threaded Replication (`replica_parallel_workers`) parametresini artırın. Replica üzerinde büyük DDL/DML işlemlerini optimize edin.