Ana içeriğe geç

journald ile Temel Çalışma

· 2 dakikalık okuma
Customer Care Engineer

read-journald-logs-and-learn-how-to-clear-it

Journald, sistem olaylarını kaydetmek için modern Linux tabanlı işletim sistemlerinde kullanılan bir günlük sistemidir. Yöneticilerin sistem sağlığını izlemelerine ve hataları ayıklamalarına yardımcı olmak için çeşitli hizmetlerin, uygulamaların ve sistem işlemlerinin operasyonları hakkında bilgi toplar.

Standart metin günlüklerinin aksine, journald verileri ikili bir biçimde saklar. Bu, günlüklerin daha kompakt saklanmasını ve daha verimli yönetilmesini sağlar, ancak aynı zamanda bu günlükleri bir metin düzenleyicide basitçe açamazsınız. Bunları görüntülemek ve analiz etmek için özel araçlar gereklidir.

Bu makalede, journald tarafından tutulan kayıtların nasıl görüntüleneceğini ve disk alanından tasarruf etmek için nasıl temizleneceğini ele alacağız.


Journal Kayıtları Nasıl Görüntülenir

Kayıtları okumak için journalctl komutunu kullanın:

  • Tüm kayıtlar:
sudo journalctl
  • Son yeniden başlatmadan bu yana kayıtlar:
sudo journalctl -b
  • Belirli bir servis için kayıtlar:
sudo journalctl -u nginx
  • Belirli bir gün için kayıtlar:
sudo journalctl --since "2024-11-01" --until "2024-11-02"
  • Son n girişi görüntüleyin (örneğin, son 100 tane):
sudo journalctl -n 100
  • Öncelik düzeyine göre filtreleyin (örneğin, hatalar için):
sudo journalctl -p err
  • Journal girişlerini ters sırada, en yenilerden başlayarak görüntüleyin (son günlük girişlerini hızlı bir şekilde görmek istediğinizde kullanışlıdır):
sudo journalctl -r
  • Journal girişlerini gerçek zamanlı olarak görüntüleyin (tail -f'ye benzer):
sudo journalctl -f

Bu seçenekleri birleştirebilirsiniz. Örneğin, 10 Kasım 2024 tarihli nginx servisinden gelen tüm hataları, yalnızca son 10 girişi gösterecek şekilde görüntülemek için:

sudo journalctl -u nginx --since "2024-11-10" --until "2024-11-10 23:59:59" -n 10

Journal Nasıl Temizlenir

Kayıtlar çok fazla yer kaplıyorsa, bunları temizlemek için aşağıdaki komutları kullanabilirsiniz:

  • Eski kayıtları temizleyin (örneğin, 7 günden eski olanları):
sudo journalctl --vacuum-time=7d
  • Belirli bir boyutu aşan kayıtları temizleyin (örneğin, 1 GB):
sudo journalctl --vacuum-size=1G
  • Tüm kayıtları tamamen temizleyin:
sudo journalctl --vacuum-files=0

Journal Boyutunu Azaltma

Varsayılan olarak, kayıtlar sınırlandırılmazsa journald çok fazla disk alanı kaplayabilir. Kayıtlar için maksimum bir boyut ayarlamak üzere journald.conf yapılandırma dosyasını açın:

sudo nano /etc/systemd/journald.conf

Bu dosyada aşağıdaki parametreleri yapılandırabilirsiniz:

  • SystemMaxUse — tüm journal'lar için maksimum boyut:
SystemMaxUse=1G
  • RuntimeMaxUse — geçici journal'lar için maksimum boyut:
RuntimeMaxUse=500M
  • MaxRetentionSec — günlükleri saklamak için maksimum süre:
MaxRetentionSec=1month

Sisteminize ve ihtiyaçlarınıza uygun değerleri ayarlayın, ardından dosyayı Ctrl + O ile kaydedin ve düzenleyiciden Ctrl + X ile çıkın.

Değişiklikleri uygulamak için journald servisini yeniden başlatın:

sudo systemctl restart systemd-journald

Günlükleri RAM'e kaydetmeyi etkinleştirebilir veya tamamen devre dışı bırakabilirsiniz. Journal önemli tanı bilgilerini içerdiğinden, üretim ortamında bu seçeneklerden hiçbiri önerilmez. Sunucunuzdaki işlemlerin doğru tanısı için doğruluğu ve ilgililiği çok önemlidir.

RAM'de dergiyi saklamayı hala etkinleştirmek istiyorsanız, /etc/systemd/journald.conf dosyasında aşağıdaki değeri ayarlayın:

Storage=volatile

Günlük kaydını tamamen devre dışı bırakmak için şunu belirtin:

Storage=none