Administrer systemd hendelseslogger med Journalctl Linux

Når vi administrerer Linux -operativsystemer, er det hundrevis av prosesser som vi hele tiden må gjennomgå for å opprettholde de beste servicenivåene på serveren eller klientdatamaskinene. I Linux -miljøer finner vi Systemd som er et innovativt system som lar oss samle informasjon om parallelle prosesser under oppstart av operativsystemet.

Systemd er til stede i de fleste Linux -distroer som Fedora, Debian, Ubuntu, OpenSuSE, Arch, RHEL, CentOS og andre. Med Systemd har vi muligheten til å administrere alle systemets tjenester og prosesser sentralt. For denne analysen vil vi bruke CentOS 7.

1. Konfigurerer Journald for å samle Systemd -logger


I utgangspunktet er journald ansvarlig for å samle og skrive daglige innganger i operativsystemet, for eksempel oppstartsmeldinger, kjernemeldinger, syslog -meldinger, applikasjonslogger, blant andre. All informasjon i Journald ligger i banen /etc/systemd/journald.conf, og verdiene som er registrert der er i samsvar med lokale systemkrav.

En enkel måte å visualisere innholdet i denne ruten er ved å utføre følgende linje med kattparameteren:

 cat /etc/systemd/journald.conf

2. Aktiver journal på disklagring


De fleste Linux -distribusjoner tillater ikke at vedvarende meldinger lagres i oppstartssystemet for å samle informasjonen om oppstarten.

For å aktivere denne loggen vil det være nødvendig å få tilgang til banen / var / log / journal og redigere lagringslinjen der. For å få tilgang til det vil vi bruke redaktører som nano eller vi som følger:

 sudo vi /etc/systemd/journald.conf sudo nano /etc/systemd/journald.conf
Når du får tilgang til denne filen, ser vi følgende:

Der vil vi endre lagringslinjen fra verdien auto til verdien vedvarende:

Lagre endringerVi lagrer endringene ved hjelp av Ctrl + O -tastene og avslutter editoren med Ctrl + X.

For å få detaljert informasjon om hver av Journal -elementene kan vi utføre følgende linje:

 mann journald.conf

3. Angi dato og klokkeslett med Timedatectl


Dette aspektet er viktig siden ved å ha en riktig konfigurasjon av dato og klokkeslett, blir postene mye mer pålitelige og nøyaktige.

For å vise gjeldende dato og klokkeslett, vil vi utføre en av følgende linjer:

 timedatectl timedatectl status
Resultatet blir følgende:

Ved innstilling av en annen tidssone vil vi utføre følgende syntaks:

 sudo timedatectl set-timezone (City / Country) sudo timedatectl set-time "HH: MM: SS"

4. Se meldinger fra logger ved hjelp av Journalctl


Journalctl -kommandoen er et verktøy som er inkludert i Linux som lar oss se innholdet i systemd. For å vise alle postene uten å filtrere, vil vi utføre følgende linje:
 journalctl
Resultatet blir følgende:

Nå er følgende filtre som vi kan bruke med Journalctl:

Boot-baserte filtreDette filteret lar oss vise oppstartsnumrene, ID -en deres, tidsstempler, blant andre verdier.
For dette bruker vi parameteren --list-boots:

 journalctl --list-støvler

Hvis vi vil se postene fra gjeldende oppstart, bruker vi følgende linje:

 journalctl -b
For å se tidligere poster bruker vi følgende linje:
 journalctl -b -1

Tidsbaserte filtreMed dette filteret kan vi bruke UTC -formatet (Coordinated Universal Time - Coordinated Universal Time) ved å bruke -utc parameteren:

 journalctl -utc

I tillegg kan vi legge til filtre som følger:

 journalctl-siden "2017-07-02 08:30:00" (Viser resultatene fra angitt dato) journalctl-siden i dag (Viser resultatene for gjeldende dag) journalctl-siden i går (Viser resultatene fra gjeldende dag forrige)

Se de siste hendelseneStandardverdien som Journalctl bruker er 10 poster, men hvis vi bruker parameteren -n kan vi indikere en mindre eller større mengde.

 journalctl -n 5

Se hendelser generert av kjernenFor å vise meldingene generert av kjernen vil vi bruke parameteren -k som følger:

 journalctl -k

På samme måte har vi følgende alternativer:

  • Se hendelser etter enheter:
     journalctl -u (service)
  • Se hendelser etter prosesser:
     journalctl _PID = (# PID), journalctl _PID = (PID) -siden i dag, journalctl _PID = (PID) -siden i går
  • Se hendelser etter bruker- eller gruppe -ID:
     journalctl _UID = 1000
  • Se hendelser generert av en bestemt fil:
     journalctl / usr / bin / bash
  • Se hendelser etter prioritet: journalctl -p (kode eller begrep), de tilgjengelige alternativene er:
     0 - frem, 1 - varsel, 2 - krit, 3 - feil, 4 - advarsel, 5 - varsel, 6 - info, 7 - feilsøking

På denne måten tilbyr Journalctl flere praktiske løsninger for å utføre denne oppgaven.

wave wave wave wave wave