Beheer Systemd Event Logs met Journalctl Linux

Wanneer we Linux-besturingssystemen beheren, zijn er honderden processen die we voortdurend moeten herzien om de beste serviceniveaus op de server of clientcomputers te behouden. In Linux-omgevingen vinden we Systemd, een innovatief systeem waarmee we informatie kunnen verzamelen over parallelle processen tijdens het opstarten van het besturingssysteem.

Systemd is aanwezig in de meeste Linux-distributies zoals Fedora, Debian, Ubuntu, OpenSuSE, Arch, RHEL, CentOS en andere. Met Systemd hebben we de mogelijkheid om alle diensten en processen van het systeem centraal te beheren. Voor deze analyse gebruiken we CentOS 7.

1. Journald configureren om Systemd-logboeken te verzamelen


In principe is journald verantwoordelijk voor het verzamelen en schrijven van dagelijkse besturingssysteeminvoer, zoals opstartberichten, kernelberichten, syslog-berichten, toepassingslogboeken, enzovoort. Alle informatie in Journald wordt gehost in het pad /etc/systemd/journald.conf en de daar vastgelegde waarden voldoen aan de lokale systeemvereisten.

Een eenvoudige manier om de inhoud van deze route te visualiseren is door de volgende regel uit te voeren met de cat-parameter:

 cat /etc/systemd/journald.conf

2. Journaal inschakelen op schijfopslag


De meeste Linux-distributies staan ​​niet toe dat er persistente berichten worden opgeslagen in hun opstartsysteem om de informatie van het opstarten te verzamelen.

Om dit logboek in te schakelen, moet u toegang krijgen tot het pad / var / log / journaal en daar de regel Opslag bewerken. Om daar toegang te krijgen, zullen we als volgt editors zoals nano of vi gebruiken:

 sudo vi /etc/systemd/journald.conf sudo nano /etc/systemd/journald.conf
Bij het openen van dit bestand zullen we het volgende zien:

Daar zullen we de opslagregel wijzigen van de waarde auto naar de waarde persistent:

Wijzigingen opslaanWe slaan de wijzigingen op met de toetsen Ctrl + O en verlaten de editor met Ctrl + X.

Om gedetailleerde informatie over elk van de Journal-elementen te verkrijgen, kunnen we de volgende regel uitvoeren:

 man journald.conf

3. De datum en tijd instellen met Timedatectl


Dit aspect is belangrijk omdat door een correcte configuratie van de datum en tijd de records veel betrouwbaarder en nauwkeuriger zullen zijn.

Om de huidige datum en tijd weer te geven, voeren we een van de volgende regels uit:

 timedatectl timedatectl status
Het resultaat zal het volgende zijn:

In het geval van het instellen van een andere tijdzone zullen we de volgende syntaxis uitvoeren:

 sudo timedatectl set-timezone (Stad / land) sudo timedatectl set-time "UU: MM: SS"

4. Bekijk berichten uit logs met Journalctl


De opdracht journalctl is een hulpprogramma in Linux waarmee we de inhoud van systemd kunnen zien. Om alle records weer te geven zonder te filteren, voeren we de volgende regel uit:
 journaal
Het resultaat zal het volgende zijn:

Nu zijn de volgende filters die we kunnen gebruiken met Journalctl:

Op opstarten gebaseerde filtersMet dit filter kunnen we onder andere de opstartnummers, hun ID, hun tijdstempels weergeven.
Hiervoor gebruiken we de --list-boots parameter:

 journalctl --list-boots

Als we de records van de huidige boot willen zien, gebruiken we de volgende regel:

 journalctl -b
Om eerdere records te bekijken, gebruiken we de volgende regel:
 journaalctl -b -1

Op tijd gebaseerde filtersMet dit filter kunnen we het UTC-formaat (Coordinated Universal Time - Coordinated Universal Time) gebruiken met de parameter -utc:

 journalctl -utc

Daarnaast kunnen we als volgt filters toevoegen:

 journalctl --since "2017-07-02 08:30:00" (toont de resultaten van de aangegeven datum) journalctl --since vandaag (toont de resultaten van de huidige dag) journalctl --since gisteren (toont de resultaten van de huidige dag vorige)

Bekijk de laatste evenementenDe standaardwaarde die Journalctl gebruikt is 10 records, maar als we de parameter -n gebruiken, kunnen we een kleinere of grotere hoeveelheid aangeven.

 journaalctl -n 5

Gebeurtenissen bekijken die door kernel zijn gegenereerdOm de berichten weer te geven die door de kernel zijn gegenereerd, gebruiken we de parameter -k als volgt:

 journalctl -k

Op dezelfde manier hebben we de volgende opties:

  • Bekijk evenementen per eenheid:
     journalctl -u (service)
  • Gebeurtenissen per proces bekijken:
     journalctl _PID = (# PID), journalctl _PID = (PID) --sinds vandaag, journalctl _PID = (PID) --sinds gisteren
  • Bekijk evenementen op gebruikers- of groeps-ID:
     journalctl _UID = 1000
  • Gebeurtenissen bekijken die door een bepaald bestand zijn gegenereerd:
     journalctl / usr / bin / bash
  • Bekijk evenementen op prioriteit: journalctl -p (Code of term), de beschikbare opties zijn:
     0 - noodgeval, 1 - alarm, 2 - kritiek, 3 - err, 4 - waarschuwing, 5 - bericht, 6 - info, 7 - debug

Op deze manier biedt Journalctl meerdere praktische oplossingen om deze taak uit te voeren.

wave wave wave wave wave