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 servistir. Ubuntu'da systemd-journald'nin nasıl yapılandırılacağını detaylı bir şekilde ele alacağız. 1. systemd-journald Nedir? Systemd-journald, systemd ekosisteminin bir parçası olan ve sistem günlüklerini toplayan bir servistir. Geleneksel syslog servislerine alternatif olarak tasarlanmıştır ve birçok avantaj sunar: - İkili (binary) günlük formatı - Yapılandırılmış günlük mesajları - Daha verimli depolama - Sistem genelinde merkezi günlük toplama - Meta veri desteği (örneğin, hangi kullanıcının hangi işlemi başlattığı) 2. Temel Yapılandırma Dosyası Systemd-journald'nin ana yapılandırma dosyası `/etc/systemd/journald.conf` konumunda bulunur. Bu dosya genellikle yorum satırlarıyla dolu olarak gelir ve varsayılan ayarları kullanır. Dosyayı incelemek için:
sudo nano /etc/systemd/journald.conf
3. Önemli Yapılandırma Parametreleri 3.1. Günlük Depolama Ayarları - **Storage=**: Günlüklerin nerede saklanacağını belirtir. - auto: Varsayılan (genellikle /var/log/journal) - persistent: Kalıcı depolama kullan - volatile: Sadece RAM'de sakla - none: Günlük depolamayı devre dışı bırak Örnek: Storage=persistent 3.2. Günlük Boyutu Sınırlamaları - **SystemMaxUse=**: Sistem günlükleri için maksimum disk alanı - **SystemKeepFree=**: Sistem günlükleri için boş bırakılacak alan - **SystemMaxFileSize=**: Tek bir günlük dosyasının maksimum boyutu - **RuntimeMaxUse=**: RAM'de saklanan günlükler için maksimum alan Örnek: SystemMaxUse=1G RuntimeMaxUse=200M SystemMaxFileSize=100M 3.3. Sıkıştırma Ayarları - **Compress=**: Günlüklerin sıkıştırılıp sıkıştırılmayacağı - yes: Sıkıştır - no: Sıkıştırma Örnek: Compress=yes 3.4. Günlük Saklama Süresi - **MaxRetentionSec=**: Günlüklerin saklanacağı maksimum süre (saniye cinsinden) Örnek (30 gün sakla): MaxRetentionSec=30days 4. Yaygın Yapılandırma Senaryoları 4.1. Kalıcı Günlükleri Etkinleştirme Varsayılan olarak bazı Ubuntu kurulumlarında günlükler sadece RAM'de saklanır. Kalıcı günlükler için: 1. /var/log/journal dizinini oluşturun: bash sudo mkdir -p /var/log/journal sudo systemd-tmpfiles --create --prefix /var/log/journal 2. journald.conf dosyasını düzenleyin: Storage=persistent 3. Servisi yeniden başlatın:
sudo systemctl restart systemd-journald
4.2. Günlük Rotasyonu Ayarlama Günlüklerin büyümesini kontrol etmek için: SystemMaxUse=2G SystemMaxFileSize=100M MaxRetentionSec=1month 4.3. Uzaktan Günlük Kaydı Journald, günlükleri UDP üzerinden başka bir sisteme gönderebilir: 1. journald.conf dosyasına ekleyin: ForwardToSyslog=yes 2. rsyslog yapılandırmasını düzenleyin (/etc/rsyslog.conf): module(load="imjournal") 5. Günlükleri Görüntüleme ve Yönetme 5.1. Temel journalctl Komutları - Son günlükleri görüntüleme:
journalctl
- Belirli bir servisin günlükleri:
journalctl -u nginx.service
- Bugünkü günlükler:
journalctl --since today
- Önemli mesajlar (hata, uyarı, kritik):
journalctl -p err..crit
- Gerçek zamanlı günlük takibi:
journalctl -f
5.2. Gelişmiş Sorgular - Belirli bir kullanıcının günlükleri:
journalctl _UID=1000
- Belirli bir komutun günlükleri:
journalctl /usr/sbin/sshd
- JSON çıktısı:
journalctl -o json
6. Günlükleri Temizleme - Eski günlükleri temizleme:
sudo journalctl --vacuum-size=500M
- Belirli bir süreden eski günlükleri temizleme:
sudo journalctl --vacuum-time=2weeks
7. Sorun Giderme 7.1. Günlükler Çok Fazla Yer Kaplıyorsa 1. Mevcut günlük boyutunu kontrol edin:
journalctl --disk-usage
2. journald.conf dosyasında boyut sınırlarını ayarlayın. 3. Eski günlükleri temizleyin. 7.2. Günlükler Görüntülenmiyorsa 1. Journald servisinin çalıştığından emin olun:
systemctl status systemd-journald
2. Kalıcı depolamanın etkin olduğunu kontrol edin. 3. Okuma izinlerini kontrol edin:
sudo usermod -aG systemd-journal $USER
8. Güvenlik Önlemleri - Günlük dosyalarının izinlerini kontrol edin:
sudo chown -R root:systemd-journal /var/log/journal sudo chmod -R 2750 /var/log/journal
- Journald.conf'da güvenlik ayarları: Seal=yes 9. Sonuç Systemd-journald, Ubuntu sistemlerinde güçlü ve esnek bir günlük yönetimi çözümü sunar. Doğru yapılandırıldığında, sistem yöneticilerine sorun giderme ve sistem izleme için değerli bilgiler sağlar. Bu rehberdeki ayarları kendi ihtiyaçlarınıza göre uyarlayarak daha verimli bir günlük yönetimi sistemi kurabilirsiniz. Unutmayın, yapılandırma değişikliklerinden sonra servisi yeniden başlatmayı unutmayın:
sudo systemctl restart systemd-journald
Ubuntu sistemlerinizde systemd-journald'yi yapılandırırken size yardımcı olmasını umuyorum!