Administrer Systemd -hændelseslogfiler med Journalctl Linux

Når vi administrerer Linux -operativsystemer, er der hundredvis af processer, som vi konstant skal gennemgå for at opretholde de bedste serviceniveauer på serveren eller klientcomputerne. I Linux -miljøer finder vi Systemd, som er et innovativt system, der giver os mulighed for at indsamle oplysninger om parallelle processer under opstart af operativsystemet.

Systemd er til stede i de fleste Linux -distroer som Fedora, Debian, Ubuntu, OpenSuSE, Arch, RHEL, CentOS og andre. Med Systemd har vi mulighed for centralt at styre alle systemets tjenester og processer. Til denne analyse vil vi bruge CentOS 7.

1. Konfiguration af Journald til at indsamle Systemd -logfiler


Grundlæggende er journald ansvarlig for at indsamle og skrive daglige input til operativsystemet, såsom startmeddelelser, kernelbeskeder, syslog -meddelelser, applikationslogfiler, blandt andre. Alle oplysninger i Journald er hostet på stien /etc/systemd/journald.conf, og de værdier, der er registreret der, overholder lokale systemkrav.

En enkel måde at visualisere indholdet af denne rute er ved at udføre følgende linje med cat -parameteren:

 kat /etc/systemd/journald.conf

2. Aktiver Journal på disklagring


De fleste Linux -distributioner tillader ikke, at vedvarende meddelelser gemmes i deres boot -system for at indsamle oplysningerne om denne boot.

For at aktivere denne log vil det være nødvendigt at få adgang til stien / var / log / journal og redigere lagringslinjen der. For at få adgang dertil vil vi bruge redaktører som nano eller vi som følger:

 sudo vi /etc/systemd/journald.conf sudo nano /etc/systemd/journald.conf
Når vi åbner denne fil, ser vi følgende:

Der vil vi ændre lagringslinjen fra værdien auto til den vedvarende værdi:

Gem ændringerVi gemmer ændringerne ved hjælp af Ctrl + O -tasterne og afslutter editoren med Ctrl + X.

For at få detaljerede oplysninger om hvert af Journal -elementerne kan vi udføre følgende linje:

 mand journald.conf

3. Indstilling af dato og klokkeslæt ved hjælp af Timedatectl


Dette aspekt er vigtigt, da registreringerne bliver meget mere pålidelige og præcise ved at have en korrekt konfiguration af dato og klokkeslæt.

For at vise den aktuelle dato og klokkeslæt, udfører vi en af ​​følgende linjer:

 timedatectl timedatectl status
Resultatet bliver følgende:

I tilfælde af indstilling af en anden tidszone udfører vi følgende syntaks:

 sudo timedatectl set-timezone (By / Land) sudo timedatectl set-time "HH: MM: SS"

4. Se meddelelser fra logfiler ved hjælp af Journalctl


Journalctl -kommandoen er et værktøj inkluderet i Linux, der giver os mulighed for at se indholdet af systemd. For at vise alle optegnelser uden filtrering udfører vi følgende linje:
 journalctl
Resultatet bliver følgende:

Nu er følgende de filtre, vi kan bruge med Journalctl:

Boot-baserede filtreDette filter giver os mulighed for at vise boot -numre, deres ID, deres tidsstempler, blandt andre værdier.
Til dette vil vi bruge parameteren --list-boots:

 journalctl --listestøvler

Hvis vi vil se posterne fra den aktuelle boot, vil vi bruge følgende linje:

 journalctl -b
For at se tidligere optegnelser vil vi bruge følgende linje:
 journalctl -b -1

Tidsbaserede filtreMed dette filter kan vi bruge UTC -formatet (Coordinated Universal Time - Coordinated Universal Time) ved hjælp af -utc parameteren:

 journalctl -utc

Derudover kan vi tilføje filtre som følger:

 journalctl-siden "2017-07-02 08:30:00" (Viser resultaterne fra den angivne dato) journalctl-siden i dag (Viser resultaterne for den aktuelle dag) journalctl-siden i går (Viser resultaterne fra nuværende dag tidligere)

Se de seneste begivenhederStandardværdien, som Journalctl bruger, er 10 poster, men hvis vi bruger parameteren -n, kan vi angive en mindre eller større mængde.

 journalctl -n 5

Se begivenheder genereret af kernelFor at vise de meddelelser, der genereres af kernen, vil vi bruge parameteren -k som følger:

 journalctl -k

På samme måde har vi følgende muligheder:

  • Se begivenheder efter enheder:
     journalctl -u (service)
  • Se begivenheder efter processer:
     journalctl _PID = (# PID), journalctl _PID = (PID) -siden i dag, journalctl _PID = (PID) -siden i går
  • Se begivenheder efter bruger- eller gruppe -id:
     journalctl _UID = 1000
  • Se begivenheder genereret af en bestemt fil:
     journalctl / usr / bin / bash
  • Se begivenheder efter prioritet: journalctl -p (kode eller udtryk), de tilgængelige muligheder er:
     0 - frem, 1 - advarsel, 2 - krit, 3 - fejl, 4 - advarsel, 5 - varsel, 6 - info, 7 - fejlretning

På denne måde tilbyder Journalctl flere praktiske løsninger til at udføre denne opgave.

wave wave wave wave wave