Database Logging modülü, CMS’teki etkinlikleri veritabanına kaydeder. Watchdog ismi ile de tanınmaktadır. Verilerin kaydedildiği tablonun adı da watchdog’dur. Drupal’in core modüllerinden biri olup kurulumda aktif olarak gelmektedir.
Watchdog Kayıt Türleri
- Kullanıcı eylemlerini (giriş, çıkış, yeni kullanıcı vs)
- Node (içerik, dosya) ekleme, silme ve değişik bilgilerini (kullanıcı bilgisiyle)
- Hata ve uyarıları (php, form, image not found, access denied, modül ekleme)
- Cron gibi operasyonel bilgileri
- Modül spesifik ve custom modül loglarını kaydetmektedir.
Kayıtları Görüntülemek
/admin/reports/dblog (Recent Log Messages) ekranından görüntüleyip filtreleme yapabiliriz.
Ayarlar
/admin/config/development/logging ekranından;
- Kaydedilecek log döngü adedi (All, 100, 1000, 10000, 100000, 1000000) seçimi,
- Görüntülenecek mesaj seçimi,
- syslog ayarları yapılmaktadır.
Log sayısı FIFO yapısında rotate olmaktadır. İlk kayıttan sona doğru kayıtlar silinmektedir.
Silme işlemi dblog_cron tarafından yapılır ve her cron çalıştığında gerçekleşir.
Drupal Cron Logları
Drupal cron çalıştığında, tüm drupal core cronları ve custom modüller içerisinde yer alan cron hookları çalıştırılmaktadır. Her cron fonksiyonu için watchdog tablosuna kayıt eklenir. Bu, hangi cronların çalıştığını görmek açısından yararlı olabilir ancak db’de ekstra yer kaplayacaktır.
Detaylı cron loglamayı kapatmak için /admin/config/system/cron ekranından gereken ayarlamayı yapabilirsiniz. Bu sayede tüm cronların bilgisini tek satırlık kayda düşürebilirsiniz.
Drupal Cron, her 3 saatte bir kez çalışır. Bu görevi 6 saat, 12 saat, 1 gün, 1 hafta gibi daha geniş bir zamana yayabilirsiniz. Bu işlem sayesinde otomatik bakım daha az sıklıkla yapılacak ve cron logları veritabanını daha uzun sürede dolduracaktır.
Boyutlar (Yaklaşık)
Log kayıtları sınırsız (All) yapılmamalıdır. Bu şekilde unutulursa, diskte, bizden habersiz onlarca GB yer tutabilir.
- 1000 kayıt ~3 ile 5 MB,
- 3000 kayıt ~10-15 MB,
- 10000 kayıt ~25-50 MB,
- 30000 kayıt ~200-250 MB
- 100000 kayıt ~1 GB yer kaplamaktadır.
Her üç saatte bir cron çalışan bir sistemde;
*Günde ortalama 10 kullanıcı giriş çıkış yaparsa 20 satır kayıt oluşur.
*Günde ortalama 10 içerik eklenir ya da güncellenirsa 10 satır kayıt oluşur.
*Detaylı cron açıksa günde 8 kez çalışır ve 96 satır kayıt oluşur.
Toplamda günlük ortalama 130-150 kayıt gözlemlenebilir ve 1000’lik döngü 1 hafta içerisinde yenilenir.
Diğer hata ve uyarılar, custom modüllere özel loglar hesaplama dışında tutulmuştur.
DBlog vs SysLog
DBlog, hemen hemen tüm olayları db’ye yazdığı için yüksek trafikli sistemlerde, sistemi yavaşlatabilir.
Bu durumda, DBlog modülü inaktif duruma getirip Syslog modülünü kurarak, sistem olaylarını sunucunuzun işletim sisteminde loglayabilirsiniz.
https://www.drupal.org/docs/8/core/modules/syslog/overview