Avancerade tekniker för loggning och felsökning
Utforska systemloggar, använd `journalctl` och tillämpa systematiska metoder för att felsöka komplexa problem.
Avancerade tekniker för loggning och felsökning är en gratis lektion i Bemästra Linux-kommandoraden på CoddyKit. Detta är lektion 3 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för Bemästra Linux-kommandoraden, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Bemästra Linux-kommandoraden innehåller totalt 4 lektioner.
Varför loggar är viktiga
När något går fel i ett Linux-system är loggar Er bästa vän! De fungerar som en digital dagbok som registrerar händelser och aktiviteter.
Systemloggar hjälper Er att förstå vad som hände, när det hände och ofta även varför det hände. Denna information är avgörande för att åtgärda problem och upprätthålla systemets hälsa.
Katalogen `/var/log`
Traditionellt lagras de flesta systemloggar i katalogen /var/log. Här hittar Ni många filer, där varje fil vanligtvis är avsedd för en viss tjänst eller typ av händelse.
auth.log: Registrerar autentiseringsförsök.syslog: Allmänna meddelanden om systemaktivitet.kern.log: Meddelanden från Linux-kärnan.
Det är en guldgruva av information, men det kan vara komplicerat att navigera i den.
Visa klassiska loggar
För äldre loggfiler eller filer som inte hanteras av systemd kan Ni använda grundläggande kommandon som cat, less eller tail för att visa innehållet.
tail -f är särskilt användbart för att följa loggar i realtid när nya poster läggs till.
Prova att visa slutet av filen syslog (om den finns på Ert system):
tail /var/log/syslogModern loggning med `journalctl`
Moderna Linux-system använder ofta systemd, som har ett eget loggningssystem kallat Journal. Kommandoradsverktyget för att interagera med denna journal är journalctl.
journalctl ger ett centraliserat sätt att komma åt loggar från kärnan, tjänster och program, vilket gör felsökningen mycket effektivare än att gå igenom många filer.
Ert första `journalctl`-kommando
Om Ni kör journalctl utan argument visas alla loggmeddelanden som samlats in av systemd-journalen, med början från den äldsta tillgängliga posten.
Det är mycket information! Ni kan bläddra med piltangenterna, Page Up/Down eller trycka på ”q” för att avsluta. Detta är Er fullständiga systemlogg:
journalctlBegränsa loggposter
Den verkliga styrkan hos journalctl ligger i dess filtreringsfunktioner. Ni kan ange exakt vad Ni vill se:
-u <unit>: Visa loggar för en specifik systemd-enhet (till exempel en tjänst somnginxellersshd).-b: Visa loggar från den aktuella uppstarten.--since "YYYY-MM-DD HH:MM:SS": Filtrera efter en viss tidpunkt eller ett visst datum.
Vi kontrollerar specifikt loggarna för tjänsten `ssh` (enheten sshd), om den körs:
journalctl -u sshdFölj loggar i realtid
Precis som tail -f kan journalctl också visa nya loggposter när de uppstår. Det är mycket användbart när Ni försöker felsöka ett problem i realtid, till exempel när en tjänst startas.
Använd alternativet -f (follow) för att kontinuerligt övervaka journalen efter nya meddelanden:
journalctl -fEn plan för problemlösning
Effektiv felsökning handlar inte bara om att titta på loggar, utan också om att ha ett systematiskt tillvägagångssätt. Här är en vanlig metod:
- Observera: Vilka är symptomen? Vad fungerar inte eller beter sig märkligt?
- Definiera: Beskriv problemet tydligt. Vad fungerar exakt inte som förväntat?
- Isolera: Fastställ var problemet kan finnas (till exempel i nätverket, en viss tjänst, konfigurationen eller maskinvaran).
- Testa: Föreslå en lösning baserat på Era resultat och testa den.
- Dokumentera: Anteckna vad Ni gjorde, vad som fungerade och vad som inte fungerade.
Var ska Ni börja leta?
När ett problem uppstår börjar Ni med dessa grundläggande kontroller:
- Nyliga ändringar: Har något ändrats nyligen? Har ny programvara installerats, konfigurationen redigerats eller systemet uppdaterats?
- Tjänstens status: Körs den berörda tjänsten? (Använd
systemctl status <service>.) - Resursanvändning: Har Ni slut på diskutrymme, minne eller CPU? (
df -h,free -h,top). - Relevanta loggar: Använd
journalctl -u <service> -bför att kontrollera loggarna för den berörda tjänsten sedan den senaste uppstarten.
Filtreringsutmaning med `journalctl`
Ni behöver hitta loggposter som rör webbservern nginx och som inträffade sedan igår. Vilket eller vilka journalctl-kommandon passar bäst?
Sammanfattning av loggar och felsökning
Mycket bra! Ni har lärt Er hur viktiga systemloggar är för att diagnostisera problem i Linux.
Vi utforskade den traditionella katalogen /var/log och lärde oss framför allt att behärska journalctl för att visa, filtrera och följa moderna systemd-loggar.
Kom ihåg att kombinera dessa kraftfulla verktyg med ett systematiskt felsökningssätt för att effektivt identifiera och lösa komplexa systemproblem!
Lär dig Bemästra Linux-kommandoraden med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 12
- Lektioner
- 48
Vanliga frågor
Är lektionen ”Avancerade tekniker för loggning och felsökning” gratis?
Ja – hela texten till ”Avancerade tekniker för loggning och felsökning” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i Bemästra Linux-kommandoraden, kan Ni uppgradera till CoddyKit PRO. Kursen i Bemästra Linux-kommandoraden innehåller totalt 4 lektioner.
Vad lär jag mig i ”Avancerade tekniker för loggning och felsökning”?
Utforska systemloggar, använd `journalctl` och tillämpa systematiska metoder för att felsöka komplexa problem. Ni övar på Bemästra Linux-kommandoraden med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig Bemästra Linux-kommandoraden?
Du behöver inga förkunskaper. Utbildningen i Bemästra Linux-kommandoraden på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 3 av 4.
Hur lång tid tar lektionen ”Avancerade tekniker för loggning och felsökning”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här Bemästra Linux-kommandoraden-lektionen?
Ja. Varje Bemästra Linux-kommandoraden-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- Övervaka disk-I/O: `iostat`, `iotop`
- Verktyg för minnes- och processorprestanda
- Avancerade tekniker för loggning och felsökning
- Spåra systemanrop med strace och ltrace