Systemd-journald, modern Linux dağıtımlarında (Ubuntu dahil) sistem günlüklerini toplamak ve yönetmek için kullanılan güçlü bir...
Linux dünyasında sistem günlüklerini doğru yönetmek, hem güvenlik hem de performans açısından büyük önem taşır.
Ubuntu gibi modern dağıtımlar, bu işi artık systemd-journald isimli güçlü bir servisle yapıyor.
Bu yazıda, systemd-journald’nin ne işe yaradığını, nasıl yapılandırıldığını ve günlükleri daha verimli yönetmek için neler yapabileceğinizi adım adım anlatıyoruz.
Systemd-journald Nedir?
Systemd-journald, systemd altyapısının bir parçasıdır. Görevi, sistemdeki tüm servislerden gelen günlük (log) mesajlarını toplamak ve düzenli şekilde saklamaktır.
Geleneksel syslog servislerine alternatif olarak geliştirilmiştir ve birçok avantaja sahiptir:
-
Daha verimli bir ikili (binary) format kullanır.
-
Yapılandırılmış günlük mesajları sayesinde arama ve analiz kolaylaşır.
-
Kalıcı ya da geçici depolama seçenekleri sunar.
-
Günlüklerde meta veri (örneğin hangi kullanıcı hangi işlemi başlattı) bilgilerini de saklar.
Kısacası systemd-journald, modern bir log yönetim sistemidir.
Temel Yapılandırma Dosyası
Servisin yapılandırma dosyası /etc/systemd/journald.conf konumundadır.
Bu dosyada günlüklerin nerede saklanacağı, ne kadar yer kaplayabileceği ve ne kadar süreyle tutulacağı gibi ayarları değiştirebilirsiniz.
Dosyayı düzenlemek için:
sudo nano /etc/systemd/journald.conf
Önemli Yapılandırma Parametreleri
Günlüklerin Nerede Saklanacağı
Storage= parametresiyle günlüklerin depolanacağı yeri belirleyebilirsiniz:
-
auto → Varsayılan ayar (genellikle /var/log/journal dizini)
-
persistent → Kalıcı depolama (sistem yeniden başlasa bile loglar korunur)
-
volatile → Sadece RAM’de saklar (yeniden başlatıldığında silinir)
-
none → Günlük kaydını tamamen devre dışı bırakır
Genellikle önerilen ayar:
Storage=persistent
Günlük Boyutu Sınırlamaları
Disk kullanımını kontrol altında tutmak için:
SystemMaxUse=1G
RuntimeMaxUse=200M
SystemMaxFileSize=100M
Günlüklerin Sıkıştırılması
Disk alanı tasarrufu için:
Compress=yes
Saklama Süresi
Günlüklerin ne kadar süre tutulacağını ayarlayabilirsiniz:
MaxRetenti
Yaygın Kullanım Senaryoları
Kalıcı Günlükleri Etkinleştirme
Bazı Ubuntu sistemlerinde günlükler varsayılan olarak yalnızca RAM’de tutulur.
Kalıcı hale getirmek için şu adımları izleyin:
sudo mkdir -p /var/log/journal
sudo systemd-tmpfiles --create --prefix /var/log/journal
sudo nano /etc/systemd/journald.conf
Storage=persistent
sudo systemctl restart systemd-journald
Günlük Rotasyonu
Log dosyalarının aşırı büyümesini önlemek için:
SystemMaxUse=2G
SystemMaxFileSize=100M
MaxRetenti
Uzaktan Günlük Kaydı
Journald logları başka bir sisteme gönderebilir:
ForwardToSyslog=yes
Ardından rsyslog yapılandırmasına şu modülü ekleyin:
module(load="imjournal")
Günlükleri Görüntüleme
Systemd-journald loglarını görüntülemek için journalctl komutu kullanılır.
Birkaç örnek:
-
Tüm günlükleri listele:
journalctl -
Belirli bir servisin loglarını göster:
journalctl -u nginx.service -
Bugünkü logları göster:
journalctl --since today -
Hata ve kritik mesajları göster:
journalctl -p err..crit -
Gerçek zamanlı takip:
journalctl -f
Günlükleri Temizleme
Zamanla log dosyaları çok yer kaplayabilir.
Aşağıdaki komutlarla temizlik yapabilirsiniz:
-
Boyut sınırına göre temizleme:
sudo journalctl --vacuum-size=500M -
Tarihe göre temizleme (örneğin 2 haftadan eski):
sudo journalctl --vacuum-time=2weeks
Sorun Giderme
Loglar Çok Yer Kaplıyorsa
-
Mevcut kullanım miktarını öğrenin:
journalctl --disk-usage -
Gerekirse journald.conf içinde boyut limitlerini azaltın.
-
Temizlik komutlarını çalıştırın.
Loglar Görüntülenmiyorsa
-
Servisin çalıştığını kontrol edin:
systemctl status systemd-journald -
Kalıcı depolama aktif mi kontrol edin.
-
Kullanıcınızın gerekli izinleri olduğundan emin olun:
sudo usermod -aG systemd-journal $USER
Güvenlik Önlemleri
Log dosyalarının sadece yetkili kullanıcılar tarafından erişilebilir olması önemlidir.
sudo chown -R root:systemd-journal /var/log/journal
sudo chmod -R 2750 /var/log/journal
Ek olarak journald.conf dosyasına şu satırı eklemek, günlüklerin bütünlüğünü korur:
Seal=yes
Systemd-journald, Ubuntu sistemlerinde log yönetimini daha güçlü, düzenli ve güvenli hale getirir.
Doğru yapılandırıldığında hem sistem performansını artırır hem de olası hataları çok daha hızlı tespit etmenizi sağlar.
Unutmayın: ayarları değiştirdikten sonra servisi yeniden başlatmayı ihmal etmeyin.
sudo systemctl restart systemd-journald
Bu rehberin, Ubuntu üzerinde log yönetimini optimize etmenize yardımcı olmasını diliyoruz.
Daha temiz, daha güvenli ve daha izlenebilir bir sistem için systemd-journald, elinizdeki en güçlü araçlardan biridir. 🌿
İstersen yazıya giriş kısmına hikayeleştirilmiş (örneğin “bir sistem yöneticisinin yaşadığı log sorunu” tarzında) bir başlangıç ekleyebilirim.
İster misin öyle bir versiyon hazırlayayım?