Systemlogfiler er din bedste ven, når du vil foretage fejlfinding. Her er alt, hvad du behøver at vide om overvågning af logfiler på Ubuntu.

Det er ekstremt frustrerende, når din computer ikke fungerer korrekt, og du ikke ved hvorfor. Selvom der ikke er nemme løsninger på alle problemer, du kan støde på i Ubuntu, kan du bruge ressourcer som Ubuntu-fejllogfilerne til at fejlfinde og diagnosticere dine pc-problemer.

Hvad er Ubuntu-logfiler?

Ubuntu logs er omfattende filer der gemmer en registrering af alle de hændelser, der opstår på din computer. Det inkluderer loggede oplysninger om din hardware, operativsystem og endda noget af din software.

Disse logfiler er uvurderlige for fejlfinding og diagnosticeringsprocessen. De giver information som tidsstempler, kontekst og dybdegående detaljer om hændelser, der opstår på tværs af dit system. For at gøre brug af disse logfiler skal du først kende til de vigtigste typer.

Typer af Ubuntu-logfiler

I stedet for at skrive hver enkelt information i én log, registrerer Ubuntu information i separate logfiler designet til forskellige formål. Selvom der er for mange logfiler til at liste, er der et par vigtige logfiler (og logtyper), du bør være opmærksom på, før du forsøger at bruge dem til fejlfinding.

instagram viewer

Den måske mest fremtrædende af alle logfilerne er systemd-journalen. systemd er en integreret service manager i Linux. Som følge heraf registreres problemer med mange forskellige operativsystemtjenester i systemd-journalen. Du kan navigere i denne log med kommandoen journalctl.

Systemloggene er også meget vigtige. Disse logfiler vedrører direkte forskellige dele af Ubuntu og kan omfatte ting som systemmeddelelser. Nogle af systemlogfilerne inkluderer:

  • Autorisationsloggen: Enhver proces, der kræver autorisation, såsom en sudo-kommando eller brugerlogin, vil blive registreret i denne log.
  • Dæmonloggen: Denne log vedrører enhver baggrundstjenester (eller dæmoner), såsom Bluetooth og SSH.
  • Fejlretningsloggen: Denne log indeholder fejlfindingsoplysninger leveret af systemet såvel som applikationer, der logger på syslogd.
  • Kerneloggen: Denne log indeholder registreringer af aktivitet, der involverer Linux-kernen.
  • Systemloggen: Denne log gemmer poster, der inkluderer de fleste typer global aktivitet på dit system.
  • Fejlloggen: Denne log gemmer registreringer af mislykkede logins, hvilket gør det særligt nyttigt til at kontrollere, om nogen har forsøgt at bryde ind i dit system.

Din computer kan også have applikationslogfiler (såsom Apache-logfiler eller MySQL-logfiler) gemt i /var/log vejviser. Du kan brug kommandoen ls for at se alle de logfiler, der i øjeblikket er gemt på din computer:

ls /var/log

Sådan læser du logs på Ubuntu

Nu hvor du er bekendt med de forskellige typer logfiler på dit system, er du klar til at dykke ned i de oplysninger, de gemmer. Før du starter, er det vigtigt at bemærke, at ikke alle systemlogfiler er skrevet på samme måde.

Nogle logfiler gemmes som almindelige tekstfiler, mens andre logfiler gemmes som binære filer. Du bliver nødt til at gøre dig bekendt med begge typer filer - og de kommandolinjeværktøjer, de er parret med - hvis du effektivt vil parse gennem posterne på dit system.

Fillogfiler i almindelig tekst bruger en skabelon kendt som RSYSLOG_TraditionalFileFormat og inkluderer fire grundlæggende felter: tidsstempel, værtsnavn, applikation og besked. For eksempel bruger kerneloggen denne skabelon:

I modsætning til almindelige tekstlogfiler kan binære fillogfiler ikke læses så let. Du skal bruge kommandolinjeværktøjer som WHO, sidst, og lastb at læse logfiler som henholdsvis utmp, wtmp og btmp. Kommandoer som udmpdump til utmp-varianter og systemctl for journald er også designet til at udskrive binære logoplysninger i et læsbart format.

I de fleste situationer vil det være vigtigt at vide, hvordan man analyserer disse logs effektivt i terminalen. Du kan bruge kommandoer som grep og tail til at trække specifik information uden at skulle omhyggeligt læse hele dine systemlogfiler.

Nogle af de bedste kommandoer, du kan bruge, inkluderer:

  • grep: Søger efter en streng af tegn i en fil
  • hale: Udskriver 10 linjer fra slutningen af ​​en fil
  • hoved: Udskriver 10 linjer fra begyndelsen af ​​en fil
  • sortere: Udskriver en fil, der er omorganiseret til dine specifikationer

Kommandolinjeværktøjer såsom utmpdump og systemctl har også nyttige flag, som du bør huske på, når du arbejder i terminalen. Disse flag giver dig mulighed for at ændre kommandoen og få øget kontrol over, hvad der udskrives i terminalen.

Nogle særligt nyttige flag for journalctl-kommandoen er:

  • -b: Får journalctl til kun at returnere poster indsamlet efter sidste genstart
  • --siden "ÅÅÅÅ-MM-DD TT: MM: SS" -- indtil "ÅÅÅÅ-MM-DD TT: MM: SS": Instruerer journalctl til kun at returnere poster før og/eller efter de angivne datoer
  • -p NUM: Filtrerer indgange efter deres syslog-prioritetsniveauer (spænder fra 0/emerg til 7/debug)

Fejlfinding af fejl med Ubuntu-logfiler

Nu hvor du er bekendt med de forskellige typer systemlogfiler og ved, hvordan du læser dem igennem effektivt er det eneste, der er tilbage at gøre, at anvende de oplysninger, du har indsamlet, til fejlfindingen behandle. Denne proces kræver normalt noget kreativitet.

Det er en god idé at nærme sig fejlfinding ved først at tænke over de fremtrædende karakteristika ved det problem, du har at gøre med. Opstår problemet, når du åbner et bestemt program? Går dit system ned og genstarter hver gang problemet opstår?

Når du tænker på problemets karakteristika, vil det naturligvis føre dig til nogle af de bedste logfiler til at indhente information om det. For eksempel, hvis dit system har problemer under opstartsprocessen, kan du muligvis få nogle nyttige oplysninger ved at henvise til opstartsposterne i journald.

Indtast følgende kommando for at udskrive alle de loggede støvler i journald:

journalctl --list-støvler

Terminalen vil udskrive en liste over registrerede støvler; de seneste støvler findes nederst på listen. Se på de registrerede datoer og tidspunkter for hver opstart, indtil du kan finde en logget opstart, hvor fejlen opstod.

Tag tallet fra kolonnen længst til venstre som NUM, og indtast følgende kommando for at få mere information om opstarten:

journalctl -b -NUM -n

En omfattende registrering af oplysninger om boot vil blive vist. Hvis der opstod usædvanlige fejl under opstartsprocessen, kan du bruge oplysningerne fra denne registrering til at komme et skridt videre i fejlfinding af dem.

Det samme princip gælder for mange andre spørgsmål. Hvis du ikke ved meget om det problem, din computer oplever, kan det dog være svært at vide, hvor du skal starte. Der er et par logfiler, der skiller sig ud som at være særligt nyttige til en lang række problemer med Ubuntu-systemer.

syslog er den bedste log at starte med under fejlfindingsprocessen. Da det faktisk er en global log, er det meget sandsynligt, at den har nogle oplysninger om det problem, du har at gøre med. Hvis du har problemer med godkendelse (f.eks sudo-adgangskoden virker ikke fejl, for eksempel) eller opstart, og tjek derefter auth.log eller boot.log.

Søg gennem de mest relevante logfiler med søgeord relateret til dit problem. For eksempel, hvis du har problemer med at godkende, kan du trække poster fra auth.log med følgende kommando:

kat /var/log/auth.log | grep 'Authentication failure'

Til sidst er du sikker på at finde information, der giver fremragende indsigt. Når du parrer oplysninger fra fejllogfilerne med forskning på nettet, vil du sandsynligvis finde ressourcer, der vil hjælpe dig med at løse problemer med dit system på ingen tid.

Se onlineressourcer til fejlfinding af Linux-fejl

Du behøver ikke at gennemgå fejlfindingsprocessen alene. Når du indsamler oplysninger om problemet med din computer, bør du bruge onlineressourcer som f.eks Spørg Ubuntu og de detaljerede vejledninger hos MakeUseOf for at komme tættere på endelig at diagnosticere og reparere din PC.