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 & Kategori | Motor | Uyarı (Warning) | Kritik (Pager Alert) | Önem | Açıklama & Risk | Alınacak Aksiyon |
|---|---|---|---|---|---|---|
Replication Lag (Byte / Saniye Gecikmesi) Replication | PostgreSQL | > 50 MB veya > 10 sn | > 500 MB veya > 60 sn | 🔴 Critical | Primary 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 | PostgreSQL | max_connections %75 | max_connections %90 | 🔴 Critical | Mevcut 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 | 🔴 Critical | Veritabanı 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 | 🔴 Critical | PostgreSQL'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 | 🟠 High | Okuma 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) | 🟠 High | Veritabanı 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 | 🟠 High | Fiziksel 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 | 🟡 Medium | Bü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 | 🟠 High | Belirli 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 | 🔴 Critical | MySQL 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. |