Systemloggar i Linux ger dig stor insikt i kärnaktiviteterna på din PC eller serverinfrastruktur. De är avgörande för att hålla ditt system stabilt och säkert. Systemloggar ger dig också en möjlighet att granska olika aktiviteter som har ägt rum tidigare.
Den här guiden introducerar dig till loggningssystemet i Linux. Alla större aktiviteter som utförs av kärnsystemapplikationer och tjänster registreras i form av loggar och i hjärtat av allt detta är ett system känt som Syslog.
Varför är systemloggar viktiga?
Föreställ dig att din Linux-dator nyligen har upplevt startfel eller att du misstänker att någon har försökt logga in på ditt system. Dessa händelser kan lätt spåras eftersom ditt system håller reda på sådana aktiviteter i form av loggar.
I Linux är systemloggar läsbara register över kärnsystemets aktiviteter som utförs av tjänster, demoner och systemapplikationer. Några av de viktiga aktiviteter som är inloggade på en Linux-maskin inkluderar användarinloggningar och inloggningsfel, uppstart av operativsystem, systemfel, etc.
Linux har en dedikerad tjänst som kallas Syslog som är specifikt ansvarig för att skapa loggar via System Logger. Syslog består av flera komponenter såsom Syslog Message Format, Syslog Protocol och Syslog Daemon: populärt känd som syslogd eller rsyslogd i nyare versioner av Linux.
De /var/log katalogen lagrar de flesta loggarna på ett Linux-system. De /var katalogen innehåller oftast variabla filer och kataloger, dvs data som kommer att ändras ofta. Det finns inget standardformat för loggar, men som minimum bör loggar innehålla en tidsstämpel och information om aktiviteten som loggas.
Lista filer som hanteras av syslog
Alla allmänna loggar på ditt system lagras i /var/log/syslog fil på Debian-baserade Linux-distros. Andra distributioner använder /var/log/meddelanden fil för att lagra loggar.
Notera: Olika Linux-distros kan använda olika filer för att logga specifika meddelanden. Till exempel, på Debian-baserade Linux-distros, den /var/log/auth.log filen innehåller autentiseringsloggar, medan RedHat-system använder /var/log/secure fil för att lagra sådana loggar.
För att ta reda på mer om alla filer som är ansvariga för att lagra loggar kan du ta en titt på /etc/rsyslog.d katalog, som innehåller viktiga Syslog-konfigurationsfiler. Till exempel, för att lista standardloggfiler kan du ta en titt på /etc/rsyslog.d/50-default.conf fil.
cat /etc/rsyslog.d/50-default.conf
Filen visar dig namnen på systemapplikationerna och motsvarande loggfiler som är associerade med dem.
Hur man inspekterar loggfiler
De flesta loggfiler är ganska långa. Som sådant är ett av de viktigaste kommandona för att inspektera loggfiler på Linux mindre kommando, som matar ut filinnehåll i lättnavigerade avsnitt.
Till exempel för att se innehållet i /var/log/syslog fil, använd kommandot less enligt följande.
less /var/log/syslog
Använd F tangentbordet för att bläddra framåt och B för att bläddra bakåt.
Syslog-filen innehåller loggar över några av de mest kritiska aktiviteterna som systemfel och serviceaktiviteter på ditt system.
Om du bara vill inspektera de senaste loggarna kan du använda svans kommando, som endast listar de senaste 10 loggmeddelandena som standard.
tail /var/log/syslog
Du kan också ange antalet loggmeddelanden som du vill se med svansverktyget. Kommandot har följande format tail -n fil-att-inspektera, var n är antalet rader du vill se. Till exempel, för att se de senaste 7 loggmeddelandena i syslog-filen kan du använda följande kommando.
tail -7 /var/log/syslog
För att se de senaste loggarna i realtid kan du använda svanskommandot med -f alternativ enligt följande.
tail -f /var/log/syslog
Ett annat viktigt kommando för att inspektera loggmeddelanden är huvud kommando. Till skillnad från tail-kommandot som visar de sista loggmeddelandena i en fil, visar head-kommandot dig de första raderna i en fil. Som standard kommer kommandot endast att mata ut de första 10 raderna.
head /var/log/syslog
Autentiseringsloggar
Om du vill hitta information om användarinloggningar på ditt system kan du ta en titt på /var/log/auth.log fil. Information relaterad till användarinloggningar, inloggningsfel och den använda autentiseringsmetoden finns här.
Kärnloggar
När ditt Linux-system startar, registreras viktig data om kärnringbufferten i /var/log/dmesg fil. Övrig information om hårdvarudrivrutiner, kärna och startstatus finns registrerad i den här filen.
Istället för att inspektera uppstartsloggmeddelandena med kommandot less eller cat, kan du använda dmesg för att visa dessa loggfiler.
dmesg
Notera: Logga meddelanden i /var/log/dmesg filen återställs när systemet startar.
En annan viktig loggfil relaterad till kärnproblem är /var/log/kern.log.
Logga meddelanden med loggerkommandot
Förutom att bara visa loggmeddelanden som loggats av systemapplikationer eller tjänster, låter loggningssystemet i Linux dig också logga meddelanden manuellt med hjälp av logger kommando. En användare kan logga meddelanden till /var/log/syslog fil som standard. Till exempel, för att logga ett enkelt meddelande kan du köra följande kommando.
logger hello world!
Du kan nu använda svanskommandot för att se det nyligen loggade meddelandet.
tail -3 /var/log/syslog
Du kan till och med logga utdata från andra kommandon med loggerkommandot genom att inkludera kommandot i back-tick (`) karaktär.
logger `whoami`
Du kan också använda loggerkommandot i dina skript för att logga viktiga händelser. Använd man-sidorna för att lära dig mer om loggerkommandot och dess alternativ.
man logger
Hantera loggfiler
Som du kanske har märkt finns det mycket data som loggas på en Linux-maskin. Därför måste du ha ett ordentligt system på plats för att hantera diskutrymme som används av loggfilerna. Utöver det säkerställer ett loggningssystem att du enkelt hittar de loggmeddelanden du letar efter. Linuxs lösning på detta problem är logrotera verktyg.
Använd logrotate-verktyget för att konfigurera vilken loggfil som ska behållas, hur länge du vill behålla dem, hantera utskick av loggar och hur man komprimerar gamla loggfiler, etc.
Du kan konfigurera logrotate-verktyget med valfri textredigerare. Konfigurationsfilen för logrotate finns på /etc/logrotate.conf.
Håll ditt system robust med loggar
Systemloggar i Linux är ett bra sätt att få inblick i de viktigaste aktiviteterna som händer på ditt system som kan omfatta säkerhet och övergripande stabilitet i systemet. Att veta hur man visar och analyserar loggmeddelanden på en server eller PC kommer att hjälpa dig att hålla ditt system robust.
Ibland har användare svårt att använda vissa applikationer på sitt system på grund av den låga tillgängligheten av systemresurser. I sådana situationer kan döda program som inte svarar free upp utrymme på ditt systems huvudminne.
Om författaren
Mwiza Kumwenda (48 artiklar publicerade)
Mwiza utvecklar mjukvara till yrket och skriver mycket om Linux och front-end-programmering. Några av hans intressen inkluderar historia, ekonomi, politik och företagsarkitektur.
Mer från Mwiza Kumwenda
Prenumerera på vårt nyhetsbrev
Gå med i vårt nyhetsbrev för tekniska tips, recensioner, free e-böcker och exklusiva erbjudanden!
Klicka här för att prenumerera
