Slik viser du Systemctl-logger

Slik Viser Du Systemctl Logger



Systemd er et av de utbredte init-systemene på Linux. Den viktigste fordelen med systemd er dens evne til å administrere systemloggene. Den samler alle kjernemeldinger og brukerprosesser i en logg kalt Tidsskrift . De journalført er demonen som fanger opp og administrerer loggene i en binær fil. Denne demonen har den viktigste fordelen ved å lagre data i strukturert og indeksert form, noe som gjør det enkelt å få tilgang til og analysere gjennom journalctl nytte.

I denne veiledningen vil jeg dekke hvordan du kan se systemd-logger på Linux ved å bruke forskjellige kommandolinjeverktøy.

Merk: Kommandoene nevnt i denne veiledningen utføres på Ubuntu. De vil fungere uten feil på alle Linux-distribusjoner som følger med systemd init-systemet.







Metoder for å se systemctl-logger

Det er to tilnærminger til visning av systemlogger på Linux:



Systemctl gir de nyeste tjenestespesifikke loggene, mens journalctl gir dybdegående systemomfattende logger over alle tjenester og den spesifikke tjenesten.



Jeg vil utforske begge verktøyene for å se systemd-logger. Men først, la oss forstå nøkkelforskjellen mellom systemctl- og journalctl-kommandoer.





Hva er systemctl

Systemctl er et kommandolinjeverktøy som administrerer systemtjenester, for eksempel aktivering eller deaktivering av tjenesten og visning av status. De systemctl-status kommandoen skriver også ut noen få logglinjer for tjenesten nederst i utdataene, og denne loggen er etter den nylige oppstarten. Disse logglinjene til tjenesten er imidlertid kun fra etter gjeldende oppstart.

Hva er journalctl

Journalctl er et kommandolinjeverktøy som brukes til å skrive ut loggene som er samlet inn av systemd. Sammenlignet med systemctl, gir den detaljert utdata med filtreringsalternativer. Dette verktøyet er laget for å:



  • Les logger (eldste logg kommer først)
  • Overvåke logger
  • Filtrer logger basert på tid, tjeneste eller bruker

Systemd samler logger fra kjerne, tjenester og demoner og lagrer dem på et sentralisert sted.

Hvordan se loggen for en tjeneste ved hjelp av systemctl

Den generelle syntaksen for å finne loggen til en tjeneste ved å bruke systemctl verktøyet er nevnt nedenfor.

systemctl-status [ tjenestenavn ]

For eksempel for å se logginformasjonen til smbd.service bruk kommandoen nedenfor.

systemctl status smbd.service

For å få utdata uten paginering, legg til –ingen personsøker alternativet i kommandoen.

systemctl status smbd.service --ingen personsøker

Hvordan se loggen for en tjeneste ved å bruke journalctl

For å se loggen for en spesifikk tjeneste til systemd, bruk journalctl med -i kommando og tjeneste eller enhetsnavn.

journalctl -i [ tjenestenavn ]

I kommandoen ovenfor er -i flagg, forkortelse for -enhet brukes til å filtrere journalctl utdata av et enhetsnavn.

For eksempel for å skrive ut loggen til smbd daemon, vil jeg erstatte [enhetsnavn] med smbd.service .

journalctl -i smbd.service

I utgangen kan det sees at den eldste oppføringen kommer først og deretter logger etter hver oppstart er oppført.

For å få den siste oppføringen første gang -Det er kort for –personsøker-slutt.

journalctl -i smbd.service -Det er

Hvis du vil utelate pagineringen fra utdataene, legger du bare til –ingen personsøker i de ovennevnte kommandoene.

For kontinuerlig å skrive ut loggoppføringene i sanntidsbruk -f kort for -Følg .

journalctl -i smbd.service -f

Filtreringen kan utvides ytterligere ved å bruke -b-flagget forkortelse for -støvel , som skriver ut loggene basert på gjeldende oppstart.

journalctl -i [ enhetsnavn ] -b

La oss skrive ut logger av smbd.service fra den nylige oppstarten.

journalctl -i smbd.service -b

Ovennevnte utgang ligner utgangen vi får ved å bruke systemctl-status kommando.

For å få en detaljert loggoversikt, bruk -x kort for -katalog alternativ.

journalctl -i smbd.service -x

Dette vil legge til en kort beskrivelse av loggen.

Nå, for å skrive ut logger basert på tid ved å bruke journalctl, er det to alternativer, -S kort for -siden og -I kort for -før .

journalctl -i [ enhetsnavn ] -S '[år-måned-dag] [timer:minutter:sekunder]'

For eksempel for å se loggene til enheten smbd fra 2024:01:30 12:05:00 .

journalctl -i smbd.service -S '2024:01:30 12:05:00'

Konklusjon

For å se systemloggene til en tjeneste, er det to hovedverktøy, journalctl og systemctl. Journalctl er spesielt designet for å vise loggene til systemd. Systemctl har imidlertid også en mulighet til å skrive ut loggen for tjenesten. For å skrive ut loggen for en tjenestebruk, journalctl -u [enhetsnavn] og systemctl [enhetsnavn].