Hvordan bruke journalctl Linux-kommandoen

Hvordan bruke journalctl Linux-kommandoen Lær om Linux-kommandoen som kan hjelpe deg med å feilsøke hvorfor apper og tjenester ikke klarer å starte.

Mer om Open Source

  • 8 av tiårets verste open source-innovasjoner
  • Åpen kilde i 2020: Fremtiden ser lys ut
  • Linus Torvalds: "Git beviste at jeg kunne være mer enn et en-rart."
  • 20 raske tips for å gjøre Linux-nettverk enklere (gratis PDF)

Hvis du har brukt moderne Linux-distribusjon, er sjansen stor for at du har blitt kjent med systemd. Du har kanskje også skjedd på et systemd problem når en app eller tjeneste nekter å starte. Når det er tilfelle, kan du ha funnet deg selv i en situasjon hvor du ikke er helt sikker på hvordan du begynner feilsøking.

Heldigvis for hver Linux-administrator, er det et innebygd verktøy som hjelper deg med det. Nevnte verktøy er journal. Journalctl er verktøyet som brukes til å spørre systemd logging verktøyet, journald. Ved hjelp av journald og journalctl kan du begynne prosessen med feilsøking på hvorfor en tjeneste nekter å starte. Journald sporer også logger til en spesifikk oppstart. Med denne mekanismen kan du sammenligne systemstøvler for å se når en tjeneste fungerte ordentlig kontra når den ikke var det.

Jeg vil vise deg hvordan du kan bruke journalctl-kommandoen ved hjelp av noen få eksempler. Dette bør gi deg mye informasjon for å begynne å feilsøke dine egne systemd startproblemer.

10 gratis alternativer til Microsoft Word og Excel (TechRepublic nedlasting)

Hva du trenger

Det eneste du trenger å jobbe med journalctl er en Linux-distribusjon som bruker systemd.

Den grunnleggende kommandoen

Åpne et terminalvindu og gi kommandoen journalctl . Du skal se all utdata fra systemd-loggene ( figur A ).

Figur A

The output of the journalctl command.

" data-credit="" rel="noopener noreferrer nofollow">

Utgangen fra journalctl-kommandoen.

Hver loggoppføring begynner med måneden, dagen i måneden og klokkeslettet. Etter dato / klokkeslett-oppføringene, vil du se systemvertsnavnet. Etter vertsnavnet, vil du se tjenesten som er knyttet til oppføringen og den tjenestens Prosess-ID (PID). Den siste biten av oppføringen vil være den faktiske journalinformasjon for tjenesten. En enkelt oppføring ser ut som:

 21. august 07:59:22 bionicserver sshd 30779: Hovedversjoner av protokoll er forskjellige for 192.168.1.50 port 58554: SSH-2.0-OpenSSH_7.6p1 Ubuntu-4ubuntu0.3 vs. SSH-1.99-OpenNMS_1.5 

Bla gjennom nok av utdataene, og du kan komme på en feil ( Figur B ). I tilfelle, en feil tilknyttet VirtualBox som indikerer at den ikke kan stille inn konfigurasjonsnummer 1, som er feil -32. Google, og du vil finne at det er relatert til en bestemt ekstern USB-enhet.

Figur B

VirtualBox throwing errors into journald.

" data-credit="" rel="noopener noreferrer nofollow">

VirtualBox kaster feil i journald.

Start oppføringer

Hvis du bare vil liste opp oppstartsprosessen og hvordan tjenester gikk under oppstart av systemet, kan du utgi kommandoen:

 journalctl -b 

Dette viser oppføringer i oppstartsjournalen for den nyeste oppstarten av systemet ( figur C ).

Figur C

Journal entries for the most recent boot.

" data-credit="" rel="noopener noreferrer nofollow">

Journaloppføringer for den siste oppstarten.

Si at du vil se journalutgaven fra forrige oppstart. Hvis gjeldende oppstart er 0, vil forrige oppstart være -1. Denne kommandoen ville være:

 journalctl -b -1 

Oppstarten før det vil være:

 journalctl -b -2 

Fortsett slik, til du finner oppstartsjournalen du leter etter. Det er en veldig praktisk måte å sammenligne din nåværende oppstart (en som kan ha problemer) med en tidligere oppstartforekomst der visse tjenester ikke klarte å starte.

Hvis du ikke er sikker på hvor mange støvler systemet har opplevd, kan du sende kommandoen:

 journalctl - list-boots 

Du bør se en liste over støvler som inneholder all informasjonen du trenger for å vite hvilken oppstartsjournal du bør se ( figur D ).

Figur D

The journalctl boot listing.

" data-credit="" rel="noopener noreferrer nofollow">

Journal boot-oppføringen.

Visning etter tid

Du kan også bruke journalctl for å se loggoppføringer etter tid. Si for eksempel at du vet at det oppsto et problem i løpet av den siste timen. Hvis du vil se alle oppføringene innen den tidsrammen, utgir du kommandoen:

 journalctl --since "for 1 time siden" 

Du bør se alle journalføringer fra de siste 60 minuttene ( figur E ).

Figur E

Journald entries from the past hour.

" data-credit="" rel="noopener noreferrer nofollow">

Journald-oppføringer fra den siste timen.

Du kan bruke alternativet - siden for å bli veldig spesifikk ved å bruke datoformatet "ÅÅÅÅ-MM-DD HH: MM: SS"

Visning etter tjeneste (enhet)

Hvis du kjenner til en tjeneste som har problemer, trenger du ikke å bekymre deg for å kjemme gjennom hele journalposten. Hvis OpenNMS for eksempel ikke starter, utgir du kommandoen:

 journalctl -u opennms.service 

Kommandoen ovenfor viser bare de journalførte oppføringene som er knyttet til OpenNMS-tjenesten ( figur F ).

Figur F

Only OpenNMS entries are displayed.

" data-credit="" rel="noopener noreferrer nofollow">

Bare OpenNMS-oppføringer vises.

Utdataformatering

Til slutt, hvis du ikke liker standardutdataformatet, kan du bruke -o-bryteren til å endre formatet på journalctl-utgangen. De tilgjengelige formateringsalternativene er:

  • json viser hver journalpost i json-format
  • json-pretty viser hver loggoppføring i et lettere å lese json-format
  • verbose viser veldig detaljert informasjon for hver oppføring
  • katt viser meldinger i veldig kort form
  • shortis er standard, syslog, output format
  • kort-monoton ligner kort, men inkluderer tidsstempelverdien

Og det er alt som er å bruke journalctl. Ved hjelp av dette verktøyet blir din Linux-administratorjobb betydelig lettere. Hvis du vil lære mer om journalctl, må du gi kommandoen man journalctl for å lese manualsiden.

Ukens nyhetsbrev med åpen kildekode

Du vil ikke gå glipp av våre tips, opplæringsprogrammer og kommentarer til Linux OS og open source applikasjoner. Leveres tirsdager

Registrer deg i dag

© Copyright 2020 | mobilegn.com