cp-watchdog, küçük ve orta ölçekli Laravel/Symfony kurulumlarında “sabah ilk iş sunucu iyi mi?” sorusuna hızlı cevap veren hafif bir sağlık denetim aracıdır. Prometheus kadar kapsamlı olmayı hedeflemez; disk doluluğu, bellek baskısı, kuyruk birikmesi, TLS sertifika süresi ve kritik HTTP uçlarının yanıt kodunu tek bir CLI çağrısında toplar. Bu yazıda 1.4 serisinin tasarım kararlarını ve üretimde kullanım biçimini paylaşıyoruz. Araç, özellikle tek kişilik veya küçük operasyon ekiplerinin “gözlem yığını kurmadan önce” ihtiyaç duyduğu boşluğu doldurur.
Aracın temel felsefesi şudur: operatörün dikkatini dağıtmadan sinyal üret. Her kontrol bir eşik, bir önem derecesi ve bir düz metin mesajı döndürür. Çıktı hem insan okumasına hem de JSON’a uygundur. Cron ile çalıştırıldığında yalnızca uyarı ve kritik durumlar sohbet kanalına iletilebilir; başarılı koşular sessiz kalır. Bu sayede gürültü azalır ve gerçek sorunlar görünür kalır. Sessizlik bir özelliktir; sürekli yeşil mesajlar uyarı yorgunluğu yaratır.
Kurulum bilerek basittir. Tek bir PHAR dosyası veya Composer paketi olarak dağıtılabilir. Yapılandırma YAML dosyasında tutulur: izlenecek yollar, yüzde eşikleri, HTTP uçları, zaman aşımları ve bildirim hedefi. Ortam değişkenleriyle sırlar enjekte edilir; yapılandırma dosyasına token yazılmaz. Root yetkisi gerektirmez; okuma izni olan metriklerle yetinir. Dakikalar içinde ilk anlamlı raporu alabilmek tasarımın parçasıdır.
Disk denetimi yalnızca yüzdeye bakmaz. Inode tükenmesi, yavaş büyüyen log dizinleri ve beklenmedik temp şişmeleri için ayrı kurallar tanımlanabilir. Bellek tarafında available memory ve swap baskısı birlikte değerlendirilir. “RAM yüzde 90” tek başına panik sebebi olmayabilir; swap thrashing ise gecikmeli ama pahalı bir işarettir. cp-watchdog bu ayrımı mesajlarında açıkça belirtir. Operatör, semptomu değil kök sinyali görmelidir.
Uygulama katmanı kontrolleri kuyruk derinliği, başarısız job sayısı ve son başarılı cron zaman damgasını kapsar. Symfony Messenger veya benzeri bir taşıyıcı kullanıyorsanız, stalled worker’ları erken görmek kesinti süresini ciddi biçimde kısaltır. HTTP kontrolleri ise sağlık uçlarını, admin giriş sayfasını veya statik bir varlık URL’sini periyodik olarak yoklar. 5xx ve beklenmeyen yönlendirmeler uyarı üretir. Yanlışlıkla kapanmış bir bakım sayfası bile yakalanabilir.
1.4 sürümünde eklenen önemli özelliklerden biri “sakin dönem” desteğidir. Gece bakım pencerelerinde düşük öncelikli uyarılar bastırılabilir; kritik uyarılar her zaman geçer. Ayrıca TLS sertifika bitiş kontrolü gün cinsinden eşik alır ve yenileme otomasyonu unutulduğunda haftalar öncesinden hatırlatır. Sertifika yenileme, hâlâ en sık unutulan ve en pahalı ihmalden biridir.
Bildirim katmanı e-posta, webhook ve basit bir stdout kancası sunar. Webhook gövdesi sabit bir şemaya sahiptir; böylece ChatOps botları kolayca ayrıştırabilir. Yanlış pozitifleri azaltmak için ardışık başarısızlık sayacı vardır: tek seferlik ağ takılması hemen alarm üretmez, eşik aşıldığında üretir. Bu, gece yarısı gereksiz uyanmaları azaltır.
Güvenlik notu: cp-watchdog sisteme yazmaz, yalnızca okur ve raporlar. Yine de yapılandırma dosyasındaki URL’ler ve eşikler yetkisiz kişilerin eline geçmemelidir. PHAR bütünlüğü için yayınlanan checksum doğrulanmalıdır. Güncellemeler semver ile ilerler; kırıcı değişiklikler majör sürümde duyurulur. Bağımlılık yüzeyi bilerek dar tutulur.
Kapasite planlama açısından araç tarihsel trend tutmaz; o işi zaman serisi sistemlerine bırakır. Buna karşılık “şu anki eşik aşıldı mı?” sorusunu çok ucuza cevaplar. Birçok ekip önce cp-watchdog ile görünürlük kazanır, sonra ihtiyaç olgunlaştıkça Prometheus veya benzeri bir yığına geçer. İkisi birbirinin rakibi değil, tamamlayıcısıdır.
Özetle cp-watchdog, büyük gözlem yığını kurmadan önce ihtiyaç duyulan pratik bir güvenlik ağıdır. Gözlem stack’iniz olgunlaştığında bile, bağımsız bir dış denetim olarak kalmaya devam edebilir. Çünkü bazen asıl sorun, izleme sisteminin kendisinin sessizce çökmesidir; ikinci bir göz her zaman değerlidir.