Linux-kommandolinjen i dybden · Lektion

Avancerede teknikker til logning og fejlfinding

Udforsk systemlogs, brug `journalctl`, og anvend systematiske metoder til fejlfinding af komplekse problemer.

Lektion 3 af 411 trin

Avancerede teknikker til logning og fejlfinding er en gratis Linux-kommandolinjen i dybden-lektion på CoddyKit. Dette er lektion 3 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Linux-kommandolinjen i dybden, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Linux-kommandolinjen i dybden-kurset indeholder 4 lektioner i alt.

Hvorfor logfiler er vigtige

Når noget går galt på et Linux-system, er logfiler din bedste ven! De fungerer som en digital dagbog, der registrerer hændelser og aktiviteter.

Systemlogfiler hjælper dig med at forstå, hvad der skete, hvornår det skete og ofte også hvorfor. Disse oplysninger er afgørende, når du skal løse problemer og holde systemet sundt.

Mappen `/var/log`

Traditionelt gemmes de fleste systemlogfiler i mappen /var/log. Her finder du mange filer, som typisk hver især er knyttet til en bestemt tjeneste eller type hændelse.

  • auth.log: Registrerer godkendelsesforsøg.
  • syslog: Generelle meddelelser om systemaktivitet.
  • kern.log: Meddelelser fra Linux-kernen.

Det er en guldgrube af oplysninger, men det kan være komplekst at finde rundt i den.

Visning af klassiske logfiler

Til ældre logfiler eller logfiler, der ikke håndteres af systemd, kan du bruge grundlæggende kommandoer som cat, less eller tail til at se deres indhold.

tail -f er især nyttig til at overvåge logfiler i realtid, mens nye poster bliver tilføjet.

Prøv at vise slutningen af filen syslog (hvis den findes på dit system):

tail /var/log/syslog

Moderne logning med `journalctl`

Moderne Linux-systemer bruger ofte systemd, som har sit eget logningssystem kaldet Journal. Kommandolinjeværktøjet til at arbejde med denne journal er journalctl.

journalctl giver en centraliseret måde at få adgang til logfiler fra kernen, tjenester og programmer på. Det gør fejlfinding langt mere effektiv end at gennemgå mange filer.

Din første `journalctl`-kommando

Hvis du kører journalctl uden argumenter, vises alle logmeddelelser, som systemd-journalen har indsamlet, begyndende med den ældste tilgængelige post.

Det er mange oplysninger! Du kan rulle med piletasterne, Page Up/Down eller trykke på 'q' for at afslutte. Dette er din komplette systemlog:

journalctl

Begrænsning af logposter

Den virkelige styrke ved journalctl ligger i filtreringsmulighederne. Du kan angive præcis, hvad du vil se:

  • -u <unit>: Vis logfiler for en bestemt systemd-enhed (f.eks. en tjeneste som nginx eller sshd).
  • -b: Vis logfiler fra den aktuelle opstart.
  • --since "YYYY-MM-DD HH:MM:SS": Filtrér efter et bestemt tidspunkt eller en bestemt dato.

Lad os se specifikt på logfiler for tjenesten `ssh` (enheden sshd), hvis den kører:

journalctl -u sshd

Overvågning af logfiler i realtid

Ligesom tail -f kan journalctl også vise nye logposter, efterhånden som de opstår. Det er meget nyttigt, når du forsøger at fejlfinde et problem i realtid, f.eks. når du starter en tjeneste.

Brug indstillingen -f (følg) til løbende at overvåge journalen for nye meddelelser:

journalctl -f

En plan for problemløsning

Effektiv fejlfinding handler ikke kun om at se på logfiler. Det handler også om at have en systematisk tilgang. Her er en almindelig metode:

  • Observer: Hvad er symptomerne? Hvad fejler eller opfører sig mærkeligt?
  • Definér: Beskriv problemet tydeligt. Hvad fungerer præcis ikke som forventet?
  • Isolér: Find ud af, hvor problemet kan være (f.eks. netværket, en bestemt tjeneste, konfigurationen eller hardwaren).
  • Test: Foreslå en løsning ud fra dine resultater, og test den.
  • Dokumentér: Notér, hvad du gjorde, hvad der virkede, og hvad der ikke virkede.

Hvor skal du begynde at lede?

Når der opstår et problem, kan du begynde med disse grundlæggende kontroller:

  • Nylige ændringer: Er der sket noget for nylig? Er der installeret ny software, redigeret konfiguration eller installeret systemopdateringer?
  • Tjenestestatus: Kører den relevante tjeneste? (Brug systemctl status <service>).
  • Ressourceforbrug: Er der ikke mere diskplads, hukommelse eller CPU-kapacitet? (df -h, free -h, top).
  • Relevante logfiler: Brug journalctl -u <service> -b til at kontrollere logfilerne for den berørte tjeneste siden den seneste opstart.

Udfordring: filtrering med `journalctl`

Du skal finde logposter, der vedrører webserveren nginx, og som er opstået siden i går. Hvilken eller hvilke journalctl-kommandoer vil være mest passende?

Opsummering af logfiler og fejlfinding

Godt arbejde! Du har lært, hvor vigtige systemlogfiler er, når du skal diagnosticere problemer i Linux.

Vi har set på den traditionelle mappe /var/log og har især lært at bruge journalctl til at vise, filtrere og følge moderne systemd-logfiler.

Husk at kombinere disse effektive værktøjer med en systematisk tilgang til fejlfinding, så du effektivt kan finde og løse komplekse systemproblemer!

Gratis at komme i gang

Lær Linux-kommandolinjen i dybden med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
12
Lektioner
48

Ofte stillede spørgsmål

Er lektionen “Avancerede teknikker til logning og fejlfinding” gratis?

Ja — hele teksten til “Avancerede teknikker til logning og fejlfinding” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Linux-kommandolinjen i dybden-kurset, skal du opgradere til CoddyKit PRO. Linux-kommandolinjen i dybden-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Avancerede teknikker til logning og fejlfinding”?

Udforsk systemlogs, brug `journalctl`, og anvend systematiske metoder til fejlfinding af komplekse problemer. Du øver dig i Linux-kommandolinjen i dybden med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Linux-kommandolinjen i dybden?

Der kræves ingen tidligere erfaring. Linux-kommandolinjen i dybden på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 3 af 4.

Hvor lang tid tager lektionen “Avancerede teknikker til logning og fejlfinding”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Linux-kommandolinjen i dybden-lektion?

Ja. Alle Linux-kommandolinjen i dybden-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Overvågning af disk-I/O: `iostat`, `iotop`
  2. Værktøjer til hukommelses- og CPU-ydeevne
  3. Avancerede teknikker til logning og fejlfinding
  4. Sporing af systemkald med strace og ltrace
← Tilbage til Linux-kommandolinjen i dybden