Journalctl Linux ile Systemd Olay Günlüklerini Yönetin

Linux işletim sistemlerini yönettiğimizde, sunucu veya istemci bilgisayarlarda en iyi hizmet düzeylerini sürdürmek için sürekli gözden geçirmemiz gereken yüzlerce süreç vardır. Linux ortamlarında, işletim sisteminin başlatılması sırasında paralel işlemler hakkında bilgi toplamamızı sağlayan yenilikçi bir sistem olan Systemd'yi buluyoruz.

Systemd, Fedora, Debian, Ubuntu, OpenSuSE, Arch, RHEL, CentOS ve diğerleri gibi çoğu Linux dağıtımında bulunur. Systemd ile sistemin tüm hizmetlerini ve süreçlerini merkezi olarak yönetme seçeneğine sahibiz. Bu analiz için CentOS 7 kullanacağız.

1. Journald'i Systemd günlüklerini toplayacak şekilde yapılandırma


Temel olarak Journald, diğerleri arasında başlangıç ​​mesajları, çekirdek mesajları, sistem günlüğü mesajları, uygulama günlükleri gibi günlük işletim sistemi girdilerini toplamaktan ve yazmaktan sorumludur. Journald'deki tüm bilgiler /etc/systemd/journald.conf yolunda barındırılır ve orada kaydedilen değerler yerel sistem gereksinimlerine uygundur.

Bu rotanın içeriğini görselleştirmenin basit bir yolu, cat parametresiyle aşağıdaki satırı yürütmektir:

 cat /etc/systemd/journald.conf

2. Journal'ı disk depolamada etkinleştir


Çoğu Linux dağıtımı, söz konusu önyüklemenin bilgilerini toplamak için kalıcı mesajların önyükleme sistemlerinde saklanmasına izin vermez.

Bu günlüğü etkinleştirmek için / var / log / dergi yoluna erişmek ve orada Depolama satırını düzenlemek gerekecektir. Oraya erişmek için nano veya vi gibi editörleri aşağıdaki gibi kullanacağız:

 sudo vi /etc/systemd/journald.conf sudo nano /etc/systemd/journald.conf
Bu dosyaya erişirken aşağıdakileri göreceğiz:

Orada Storage satırını auto değerinden kalıcı değerine değiştireceğiz:

Değişiklikleri KaydetCtrl + O tuşlarını kullanarak değişiklikleri kaydediyoruz ve Ctrl + X tuşlarını kullanarak editörden çıkıyoruz.

Journal öğelerinin her biri hakkında ayrıntılı bilgi almak için aşağıdaki satırı uygulayabiliriz:

 adam günlük.conf

3. Timedatectl kullanarak tarih ve saati ayarlama


Bu husus önemlidir, çünkü tarih ve saatin doğru bir şekilde yapılandırılmasıyla kayıtlar çok daha güvenilir ve doğru olacaktır.

Geçerli tarih ve saati görüntülemek için aşağıdaki satırlardan birini uygulayacağız:

 timedatectl timedatectl durumu
Sonuç aşağıdaki gibi olacaktır:

Farklı bir saat dilimi ayarlanması durumunda aşağıdaki sözdizimini uygulayacağız:

 sudo timedatectl set-timezone (Şehir / Ülke) sudo timedatectl set-time "SS: DD: SS"

4. Journalctl kullanarak günlüklerdeki mesajları görüntüleyin


Journalctl komutu, Linux'ta bulunan ve systemd'nin içeriğini görmemizi sağlayan bir yardımcı programdır. Tüm kayıtları filtrelemeden görüntülemek için aşağıdaki satırı uygulayacağız:
 dergictl
Sonuç aşağıdaki gibi olacaktır:

Şimdi Journalctl ile kullanabileceğimiz filtreler şunlardır:

Önyükleme tabanlı filtrelerBu filtre, diğer değerlerin yanı sıra önyükleme numaralarını, kimliklerini, zaman damgalarını görüntülememizi sağlar.
Bunun için --list-boots parametresini kullanacağız:

 dergictl --list-boots

Mevcut açılıştaki kayıtları görmek istiyorsak aşağıdaki satırı kullanacağız:

 günlükctl -b
Önceki kayıtları görmek için aşağıdaki satırı kullanacağız:
 dergictl -b -1

Zamana dayalı filtrelerBu filtre ile -utc parametresini kullanarak UTC formatını (Koordineli Evrensel Zaman - Koordineli Evrensel Zaman) kullanabiliriz:

 günlükctl -utc

Ek olarak aşağıdaki gibi filtreler ekleyebiliriz:

 Journalctl --since "2017-07-02 08:30:00" (Belirtilen tarihe ait sonuçları görüntüler) Journalctl --since bugün (Geçerli günün sonuçlarını görüntüler) Journalctl --dünden beri (Belirtilen tarihe ait sonuçları görüntüler) önceki gün)

En son olayları görüntüleyinJournalctl'nin kullandığı varsayılan değer 10 kayıttır, ancak -n parametresini kullanırsak daha küçük veya daha büyük bir miktar belirtebiliriz.

 günlükctl -n 5

Çekirdek tarafından oluşturulan olayları görüntüleyinÇekirdek tarafından oluşturulan mesajları görüntülemek için -k parametresini aşağıdaki gibi kullanacağız:

 günlükctl -k

Aynı şekilde aşağıdaki seçeneklere sahibiz:

  • Olayları Birimlere göre görüntüleyin:
     dergictl -u (hizmet)
  • Olayları süreçlere göre görüntüleyin:
     Journalctl _PID = (# PID), Journalctl _PID = (PID) --Bugünden beri, Journalctl _PID = (PID) --dünden beri
  • Olayları kullanıcı veya grup kimliğine göre görüntüleyin:
     dergictl _UID = 1000
  • Belirli bir dosya tarafından oluşturulan olayları görüntüleyin:
     dergictl / usr / bin / bash
  • Olayları önceliğe göre görün:journalctl -p (Kod veya terim), mevcut seçenekler şunlardır:
     0 - ortaya, 1 - uyarı, 2 - kritik, 3 - hata, 4 - uyarı, 5 - bildirim, 6 - bilgi, 7 - hata ayıklama

Bu şekilde Journalctl, bu görevi yerine getirmek için birden fazla pratik çözüm sunar.

wave wave wave wave wave