Linux Sunucuda Logrotate Yapılandırması
Log yönetimi, herhangi bir Linux sunucusunun sağlıklı çalışması ve sorun giderme süreçleri açısından kritik öneme sahiptir. Logrotate, Linux’un standart araçlarından biri olup, log dosyalarının belirli kurallara göre döndürülmesini, sıkıştırılmasını ve arşivlenmesini sağlar. Bu sayede disk alanı verimli kullanılırken, logların uzun vadeli yönetimi ve erişimi kolaylaştırılır.
İlk olarak, Logrotate’un temel çalışma mantığını anlamak gerekir. Logrotate, genellikle
/etc/logrotate.conf ana yapılandırma dosyasını ve
/etc/logrotate.d/ dizini altındaki çeşitli dosyaları kullanır. Bu yapılandırma dosyalarında, logların döndürülme sıklığı, saklama süresi, sıkıştırma ve arşivleme ayarları belirlenir.
Örneğin, belirli bir uygulama veya servis için özel bir yapılandırma yaparken, aşağıdaki adımlar izlenir:
- Genel yapılandırma:
/etc/logrotate.conf dosyasını düzenleyerek global ayarları belirleyebilirsiniz. Burada, günlük, haftalık veya aylık döndürme seçenekleri ve sıkıştırma tercihleri tanımlanır.
- Özel kurallar: Her uygulama veya servis için ayrı yapılandırma dosyası oluşturabilirsiniz. Mesela,
/etc/logrotate.d/nginx gibi. Bu dosyada, nginx loglarının nasıl ve ne zaman döndürüleceği detaylandırılır.
- Komut ve tetikleme: Logrotate, genellikle günlük olarak cron aracılığıyla çalıştırılır. Ayrıca, belirli durumlarda manuel veya belirli zamanlarda tetiklenebilir.
- Düzenli bakım: Logların saklama süresi, sıkıştırma metodları ve döndürme sıklığı gibi ayarların sistem ihtiyaçlarına göre optimize edilmesi gerekir. Ayrıca, logların döndürülmesi sırasında servislerin yeniden başlatılması veya yeniden yüklenmesi gerekebilir; bu durumda
postrotate komutları kullanılır.
Örneğin, nginx loglarının haftalık döndürülmesi ve 4 hafta saklanması için yapılandırma şöyle olabilir:
123456789101112/var/log/nginx/*.log {
weekly
rotate 4
compress
missingok
notifempty
create 640 nginx adm
sharedscripts
postrotate
systemctl reload nginx > /dev/null
endscript
}
Bu yapılandırma, nginx loglarının haftalık olarak döndürülmesini sağlar, eski loglar 4 hafta saklanır ve sıkıştırılır. Ayrıca, döndürme sonrası nginx yeniden yüklenir.
Son olarak, logrotate’un düzgün çalıştığından emin olmak için
logrotate --debug veya
logrotate -v komutlarıyla test edilebilir. Ayrıca, düzenli otomasyon ve denetim, sunucu performansı ve güvenliği açısından önemlidir.
Her Linux sunucusunda log yönetimi, sistemin genel sağlığı ve güvenliği için vazgeçilmezdir. Logrotate’un doğru yapılandırılması, bu süreci otomatik ve güvenilir hale getirir.