Gestionați jurnalele de evenimente Systemd cu Journalctl Linux

Când gestionăm sistemele de operare Linux, există sute de procese pe care trebuie să le examinăm constant pentru a menține cele mai bune niveluri de servicii pe server sau pe computerele client. În mediile Linux găsim Systemd care este un sistem inovator care ne permite să colectăm informații despre procesele paralele în timpul pornirii sistemului de operare.

Systemd este prezent în majoritatea distribuțiilor Linux, cum ar fi Fedora, Debian, Ubuntu, OpenSuSE, Arch, RHEL, CentOS și altele. Cu Systemd avem opțiunea de a gestiona centralizat toate serviciile și procesele sistemului. Pentru această analiză vom folosi CentOS 7.

1. Configurarea Journald pentru a colecta jurnalele Systemd


Practic journald este responsabil pentru colectarea și scrierea intrărilor zilnice ale sistemului de operare, cum ar fi mesaje de pornire, mesaje kernel, mesaje syslog, jurnale de aplicații, printre altele. Toate informațiile din Journald sunt găzduite în calea /etc/systemd/journald.conf și valorile înregistrate acolo respectă cerințele de sistem locale.

O modalitate simplă de a vizualiza conținutul acestei rute este executând următoarea linie cu parametrul cat:

 cat /etc/systemd/journald.conf

2. Activați Jurnal pe stocarea pe disc


Majoritatea distribuțiilor Linux nu permit stocarea mesajelor persistente în sistemul lor de boot pentru a colecta informațiile despre boot-ul respectiv.

Pentru a activa acest jurnal, va fi necesar să accesați calea / var / log / journal și să editați linia de stocare acolo. Pentru a accesa acolo vom folosi editori precum nano sau vi după cum urmează:

 sudo vi /etc/systemd/journald.conf sudo nano /etc/systemd/journald.conf
La accesarea acestui fișier vom vedea următoarele:

Acolo vom modifica linia de stocare de la valoarea auto la valoarea persistentă:

Salvează modificărileSalvăm modificările folosind tastele Ctrl + O și ieșim din editor folosind Ctrl + X.

Pentru a obține informații detaliate despre fiecare dintre elementele Jurnalului putem executa următoarea linie:

 om journald.conf

3. Setarea datei și orei folosind Timedatectl


Acest aspect este important deoarece având o configurație corectă a datei și orei, înregistrările vor fi mult mai fiabile și mai exacte.

Pentru a afișa data și ora curentă, vom executa una dintre următoarele linii:

 timedatectl status timedatectl
Rezultatul va fi următorul:

În cazul setării unui fus orar diferit, vom executa următoarea sintaxă:

 sudo timedatectl set-timezone (Oraș / Țară) sudo timedatectl set-time "HH: MM: SS"

4. Vizualizați mesajele din jurnale folosind Journalctl


Comanda journalctl este un utilitar inclus în Linux care ne permite să vedem conținutul systemd. Pentru a afișa toate înregistrările fără filtrare, vom executa următoarea linie:
 journalctl
Rezultatul va fi următorul:

Acum, următoarele sunt filtrele pe care le putem folosi cu Journalctl:

Filtre bazate pe bootAcest filtru ne permite să afișăm numerele de încărcare, ID-ul lor, marcajele lor de timp, printre alte valori.
Pentru aceasta vom folosi parametrul --list-boots:

 journalctl --list-boots

Dacă dorim să vedem înregistrările din boot-ul curent vom folosi următoarea linie:

 journalctl -b
Pentru a vedea înregistrările anterioare vom folosi următoarea linie:
 journalctl -b -1

Filtre bazate pe timpCu acest filtru putem folosi formatul UTC (Timp universal coordonat - Timp universal coordonat) folosind parametrul -utc:

 journalctl -utc

În plus, putem adăuga filtre după cum urmează:

 journalctl --de când "2017-02-02 08:30:00" (Afișează rezultatele de la data indicată) journalctl --de azi (Afișează rezultatele zilei curente) journalctl --de ieri (Afișează rezultatele din ziua curenta precedenta)

Vizualizați cele mai recente evenimenteValoarea implicită pe care o folosește Journalctl este de 10 înregistrări, dar dacă folosim parametrul -n putem indica o cantitate mai mică sau mai mare.

 journalctl -n 5

Vizualizați evenimentele generate de kernelPentru a afișa mesajele generate de kernel vom folosi parametrul -k după cum urmează:

 journalctl -k

În același mod avem următoarele opțiuni:

  • Vizualizați evenimentele pe unități:
     journalctl -u (serviciu)
  • Vizualizați evenimentele după procese:
     journalctl _PID = (# PID), journalctl _PID = (PID) --de azi, journalctl _PID = (PID) --de ieri
  • Vizualizați evenimentele după ID-ul utilizatorului sau al grupului:
     journalctl _UID = 1000
  • Vizualizați evenimentele generate de un anumit fișier:
     journalctl / usr / bin / bash
  • Vedeți evenimentele în funcție de prioritate: journalctl -p (Cod sau termen), opțiunile disponibile sunt:
     0 - emerg, 1 - alert, 2 - crit, 3 - err, 4 - avertisment, 5 - notificare, 6 - info, 7 - depanare

În acest fel, Journalctl oferă multiple soluții practice pentru a îndeplini această sarcină.

wave wave wave wave wave