logrotate ile Günlük Döndürme: Adım adım güvenilir yapılandırma

0 Yanıt 1 Görüntülenme
Puanlayanlar
Katılımcılar
Konuyu Açan #1
Günlük dosyalarının boyutu hızla artabilir ve disk alanı ile performansı etkiler. logrotate, bu dosyaları belirli sıklıklarla döndürüp eski kayıtları arşivlemenize olanak tanır. Aşağıda temel bir günlük döndürme senaryosu ve dikkat edilmesi gereken noktalar yer alıyor.


Giriş ve amaç
  • logrotate, sistemdeki log dosyalarını belirlenen sıkılıkta döndürür, eski dosyaları arşivler ve gerekirse sıkıştırır.
  • Genelde /etc/logrotate.conf ve /etc/logrotate.d/ içindeki dosyalarla yapılandırılır.
  • Günlük Döndürme kavramı, her gün yeni bir log dosyası açılması ve önceki günlüklerin arşivlenmesi anlamına gelir.


Temel yapı ve örnek akış
  • Temel dosya: /var/log/myapp.log gibi bir günlük için günlük döndürme şu şekilde olur:

KOD
12345678910111213
/var/log/myapp.log {
    daily
    rotate 14
    compress
    missingok
    notifempty
    create 0640 root adm
    sharedscripts
    postrotate
        systemctl reload myapp.service > /dev/null 2>&1 || true
    endscript
}

Açıklamalar:
  • daily: her gün bir döndürme yapar.
  • rotate 14: 14 adet arşiv saklar; eski dosyalar .gz ile sıkıştırılır.
  • compress: arşivlenen dosyaları sıkıştırır; gzip kullanılır.
  • missingok: log dosyası yoksa hata vermez.
  • notifempty: günlük dosyası boşsa döndürme yapılmaz.
  • create: yeni dosya izinleri ve sahibi ayarı.
  • sharedscripts ve postrotate: birden çok günlük varsa her biri için ortak komutlar çalışır; döndürme sonrası hizmet yeniden yüklenir.


Daha karmaşık senaryolar
  • Logrotate günlük yerine haftalık döndürme isterse:

KOD
1234567891011121314
/var/log/httpd/access.log {
    weekly
    rotate 12
    compress
    delaycompress
    missingok
    notifempty
    create 0644 apache adm
    sharedscripts
    postrotate
        systemctl reload httpd.service > /dev/null 2>&1 || true
    endscript
}

  • Sıkıştırmayı geciktirmek için delaycompress kullanılır; son döndürmede en yeni arşiv sıkıştırılmaz.
  • Sıkıştırma yöntemi değiştirmek için compress ve nocompress seçenekleriyle ayarlama yapılabilir (bazı sistemler için).
  • Büyük uygulamalarda logrotate’yi günlük ve belirli zamanlarda tetiklemek için zamanlayıcılar (cron veya systemd timer) ile entegrasyon düşünülür.


İzleme ve güvenlik
  • Döndürme işlemi sırasında kilitlenme riskine karşı logrotate çoğunlukla kilitlenir ve hizmet yenilemesi postrotate ile güvenli bir şekilde yapılır.
  • Yetki ve erişim: log dosyaları genelde root ve özel hizmet kullanıcıları arasındaki izinlerle yönetilir; create ile uygun sahiplik ayarı kritik.


İyi uygulama ipuçları
  • Önemli uygulamaların log döndürme konfigürasyonlarını ayrı dosyalar olarak /etc/logrotate.d/ altında tutun.
  • Arşivlerin ne kadar sürede saklanacağını işletme politikalarına göre belirleyin; 14 gün yerine 30 gün veya daha uzun saklama gerekebilir.
  • Sıkıştırma sonrası loglistener veya analiz araçlarının yeni arşivleri okuyabileceğinden emin olun; gerektiğinde create ve postrotate adımlarını buna göre ayarlayın.


Bu konuya ilişkin deneyimleriniz veya kendi yapılandırma önerileriniz var mı? Özellikle büyük ölçekli uygulamalarda günlük döndürme stratejiniz nedir, hangi ayarları farklı senaryolara göre optimize ediyorsunuz?

Yanıt vermek için giriş yapmış olmalısınız.

Bu konuyu görüntüleyen kullanıcılar (Toplam: 3, Üyeler: 3, Misafirler: 0)
Toplam: 3 (üyeler: 3, misafirler: 0)
0 alıntı seçildi