# önder online
Teknoloji ve siber güvenlik dünyasına hoş geldiniz Güncel siber tehditler ve korunma yöntemleri Yapay zekâ ve otomasyonun güvenliğe etkileri Microsoft 365 ve Active Directory güvenlik rehberleri Yazılım geliştirmede güvenlik odaklı yaklaşımlar Teknoloji ve siber güvenlik dünyasına hoş geldiniz Güncel siber tehditler ve korunma yöntemleri

Menu

Linux systemd-journald Yapılandırma

Linux systemd-journald Yapılandırma

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

  1. Mevcut kullanım miktarını öğrenin:

    journalctl --disk-usage
    
  2. Gerekirse journald.conf içinde boyut limitlerini azaltın.

  3. Temizlik komutlarını çalıştırın.

Loglar Görüntülenmiyorsa

  1. Servisin çalıştığını kontrol edin:

    systemctl status systemd-journald
    
  2. Kalıcı depolama aktif mi kontrol edin.

  3. 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?