Upravljajte zapisnicima događaja Systemd s Journalctl Linux

Kad upravljamo Linux operativnim sustavima, postoje stotine procesa koje moramo stalno pregledavati kako bismo održali najbolju razinu usluge na poslužiteljskim ili klijentskim računalima. U Linux okruženjima nalazimo Systemd koji je inovativni sustav koji nam omogućuje prikupljanje informacija o paralelnim procesima tijekom pokretanja operacijskog sustava.

Systemd je prisutan u većini Linux distribucija kao što su Fedora, Debian, Ubuntu, OpenSuSE, Arch, RHEL, CentOS i drugi. Uz Systemd imamo mogućnost centralnog upravljanja svim uslugama i procesima sustava. Za ovu analizu koristit ćemo CentOS 7.

1. Konfiguriranje Journala za prikupljanje zapisnika Systemd


Journald je u osnovi odgovoran za prikupljanje i pisanje dnevnih unosa operacijskog sustava, poput poruka o pokretanju, poruka kernela, poruka syslog -a, dnevnika aplikacija, između ostalog. Sve informacije u Journalu smještene su na putu /etc/systemd/journald.conf i tamo zabilježene vrijednosti u skladu su sa zahtjevima lokalnog sustava.

Jednostavan način vizualizacije sadržaja ove rute je izvršavanje sljedećeg retka s parametrom cat:

 mačka /etc/systemd/journald.conf

2. Omogućite dnevnik na pohrani diska


Većina distribucija Linuxa ne dopušta pohranjivanje trajnih poruka u sustavu za pokretanje radi prikupljanja informacija o spomenutom pokretanju.

Za omogućavanje ovog dnevnika bit će potrebno pristupiti putanji / var / log / journal i tamo urediti liniju Storage. Za pristup tamo koristit ćemo uređivače poput nano ili vi na sljedeći način:

 sudo vi /etc/systemd/journald.conf sudo nano /etc/systemd/journald.conf
Prilikom pristupa ovoj datoteci vidjet ćemo sljedeće:

Tamo ćemo promijeniti redak pohrane iz vrijednosti auto u vrijednost trajno:

Spremi promjeneSpremamo promjene pomoću tipki Ctrl + O i izlazimo iz uređivača pomoću Ctrl + X.

Da bismo dobili detaljne informacije o svakom od elemenata časopisa, možemo izvršiti sljedeći redak:

 čovjek journald.conf

3. Postavljanje datuma i vremena pomoću Timedatectl -a


Ovaj aspekt je važan jer će, ako imaju ispravnu konfiguraciju datuma i vremena, zapisi biti mnogo pouzdaniji i točniji.

Za prikaz trenutnog datuma i vremena izvršit ćemo jedan od sljedećih redaka:

 timedatectl timedatectl status
Rezultat će biti sljedeći:

U slučaju postavljanja drugačije vremenske zone izvršit ćemo sljedeću sintaksu:

 sudo timedatectl set-timezone (Grad / Država) sudo timedatectl set-time "HH: MM: SS"

4. Pregled poruka iz dnevnika pomoću Journalctl


Naredba journalctl je uslužni program uključen u Linux koji nam omogućuje da vidimo sadržaj systemd. Za prikaz svih zapisa bez filtriranja izvršit ćemo sljedeći redak:
 journalctl
Rezultat će biti sljedeći:

Slijede filteri koje možemo koristiti s Journalctlom:

Filtri temeljeni na pokretanjuOvaj nam filter omogućuje prikaz brojeva pokretanja, njihovog ID -a, njihovih vremenskih oznaka, između ostalih vrijednosti.
Za to ćemo koristiti --list-boots parametar:

 journalctl --list-boots

Ako želimo vidjeti zapise iz trenutnog pokretanja, upotrijebit ćemo sljedeći redak:

 journalctl -b
Za pregled prethodnih zapisa upotrijebit ćemo sljedeći redak:
 journalctl -b -1

Filtri temeljeni na vremenuS ovim filtrom možemo koristiti UTC format (Koordinirano univerzalno vrijeme - Koordinirano univerzalno vrijeme) pomoću parametra -utc:

 journalctl -utc

Dodatno možemo dodati filtre na sljedeći način:

 journalctl --since "2017-07-02 08:30:00" (Prikazuje rezultate od navedenog datuma) journalctl --od danas (Prikazuje rezultate tekućeg dana) journalctl --od jučer (Prikazuje rezultate iz tekući dan prethodni)

Pogledajte najnovije događajeZadana vrijednost koju Journalctl koristi je 10 zapisa, no ako koristimo parametar -n možemo označiti manju ili veću količinu.

 journalctl -n 5

Prikaz događaja generiranih kernelomZa prikaz poruka koje generira kernel koristit ćemo -k parametar na sljedeći način:

 journalctl -k

Na isti način imamo sljedeće mogućnosti:

  • Prikaz događaja po jedinicama:
     journalctl -u (usluga)
  • Prikaz događaja prema procesima:
     journalctl _PID = (# PID), journalctl _PID = (PID) --od danas, journalctl _PID = (PID) --od jučer
  • Prikaz događaja prema korisničkom ili grupnom ID -u:
     journalctl _UID = 1000
  • Prikaz događaja koje generira određena datoteka:
     journalctl / usr / bin / bash
  • Pogledajte događaje po prioritetu: journalctl -p (Kôd ili pojam), dostupne opcije su:
     0 - emerg, 1 - uzbuna, 2 - krit, 3 - pogreška, 4 - upozorenje, 5 - obavijest, 6 - info, 7 - otklanjanje pogrešaka

Na taj način Journalctl nudi više praktičnih rješenja za izvršavanje ovog zadatka.

wave wave wave wave wave