Hur man får bättre känsla av loggfiler på Linux och Mac

När Linux går fel kan det vara en mardröm att felsöka. Slösa inte tid på Reddit - ta saker i egna händer och dyka in i systemets loggfiler för att lösa problemet!

När Linux går fel kan det vara en mardröm att felsöka.  Slösa inte tid på Reddit - ta saker i egna händer och dyka in i systemets loggfiler för att lösa problemet!
Annons

När saker går fel med Linux kan det vara en mardröm att felsöka. De inneboende utmaningarna i samband med detta fördubblas när problemet du står inför är intermittent, och du vet inte vad som orsakar det.

Jag antar att du kunde spendera timme efter timme genom att läsa Stack Overflow och fråga Reddit för hjälp. Den fantastiska guiden till Reddit. Den fantastiska guiden till Reddit. Undrar hur dina vänner alltid hittar coola saker på Internet före dig? De använder förmodligen Reddit, den självutnämnda "Internetansidan". Läs mer . Eller du kan ta saker i egna händer och dyka in i systemets loggfiler, i syfte att ta reda på vad problemet är.

Vad är loggfiler?

Många program - det vill säga för Windows, Mac eller Linux - generera loggfiler som de går. Även Android genererar dem Hur man får en Logcat för rapportering av fel på Android Hur man får en Logcat för rapportering av fel på Android Om du någonsin har blivit ombedd för en logcat, så gör du det! Läs mer . Det här är enkla textfiler som innehåller information om hur ett program körs. Varje händelse kommer att vara på egen linje, tidsstämplad till den andra.

Även om detta inte är universellt sant för alla applikationer tenderar loggfiler ofta att finnas i / var / loggkatalogen.

varlog

Överväldigande kommer data i dessa filer vara vardagliga. Det kommer inte nödvändigtvis att vara en indikation på ett problem. Det blir bara uppdateringar om vad programmet gjorde vid en given tidpunkt.

Men när det finns ett problem kan du garantera att information om det kommer att finnas i loggfilerna. Denna information kan användas för att avhjälpa den, eller att fråga en beskrivande fråga om någon som kanske vet.

Så, hur hanterar du loggfiler, hur isolerar du informationen du bryr dig om från de saker du inte gör?

Använda standard Linux-hjälpprogram

Som vi nämnde tidigare är loggfiler inte exklusiva för någon plattform. Trots detta kommer fokusen på denna artikel att vara Linux och OS X, eftersom dessa två operativsystem skickar med de grundläggande UNIX-kommandoradsverktygen. En snabbguide för att komma igång med Linux-kommandoraden. En snabbguide för att komma igång med Linux Kommandorad Du kan göra massor av fantastiska saker med kommandon i Linux och det är verkligen inte svårt att lära. Läs mer som krävs för att analysera dem.

Eftersom loggfiler är vanliga textfiler kan du använda alla verktyg som du skulle använda för att visa sådana filer. Av dessa är grep förmodligen det svåraste att lära sig, men också det mest användbara. Det låter dig söka efter specifika fraser och termer inom en viss fil. Syntaxen för detta är grep [term] [filnamn] .

greperrorlog

På deras mest avancerade kan du använda reguljära uttryck (RegEx) för att söka efter termer och objekt med laserfokus. Även om RegEx ofta ser ut som trollkarl, är det faktiskt ganska enkelt att få hänga på.

Sedan finns det kommandon "huvud" och "svans". Inga poäng för att gissa vad de gör. De visar dig respektive topp- och botten tio rader. Så, om du vill se de senaste objekten i en loggfil, kör du "tail filename".

taillog

Du kan ändra antalet rader som visas med hjälp av '-n' triggeren. Så, om du ville se de första 20 raderna i en fil, skulle du springa

huvudet -n 20 [filnamn]

headlog

Om du vill titta på hela innehållet i en fil kan du använda verktyget "katt". Det kan dock vara lite otrevligt, eftersom loggfiler ofta kan mäta sig i hundratusentals linjer . En bättre idé skulle vara att röra den till mindre nytta, vilket låter dig se den en sida i taget. För att göra det, springa

katt [filnamn] | mindre

catlogless

Alternativt kan du använda sed och awk. Dessa två verktyg låter dig skriva enkla skript som behandlar textfiler. Vi skrev om dem förra året Varje Linux Geek behöver veta Sed och Awk. Här är varför ... Varje Linux-geek behöver veta Sed och Awk. Det här är varför ... Två av de mest brottsligt undervärderade Linux-verktygen är visserligen arcane Sed och Awk. Men vad är de? Hur används de? Och hur gör de det enklare att bearbeta text? Läs mer .

Slutligen, om du är övertygad om det, kanske du också vill prova vim-textredigeraren. De 7 bästa orsakerna till att ge Vim Text Editor en chans De bästa 7 skälen att ge Vim Text Editor en chans I åratal har jag försökte en textredigerare efter en annan. Du heter det, jag försökte det. Jag använde var och en av dessa redaktörer i över två månader som min primära dagliga redaktör. På något sätt, jag ... Läs mer. Detta har en massa inbyggda kommandon som gör det trivialt att analysera loggfiler. 32-bitarsversionen av vim har också en maximal filstorlek på 2 GB, men jag rekommenderar inte att du använder den på filer som är stora för prestationsskäl.

Använda Log Management Software

Om det låter som för mycket hårt arbete, eller om du vill ha något mer visuellt, kanske du vill överväga att använda ett loghanteringsprogram (ofta förvirrad med SIEM eller säkerhetsinformation och händelsehantering).

Vad som är bra med dessa är att de gör mycket av det hårda arbetet för dig. Många av dem kan titta på loggar och identifiera problem automatiskt. De kan också visualisera loggar i alla möjliga behagliga grafer och diagram, så att du kan få en bättre förståelse för hur tillförlitligt en applikation utför.

Ett av de mest kända loghanteringsprogrammen heter Splunk. Med det här logghanteringsverktyget kan du kryssa över filer via ett webbgränssnitt. Det har till och med ett eget kraftfullt och mångsidigt sökbehandlingsspråk, som gör det möjligt att programmera på resultat på ett programmerat sätt.

Splunk används av otaliga stora företag. Den är tillgänglig för Mac, Windows och Linux. Men det har också en gratis version, som kan användas av hemma och småföretagare för att hantera sina loggar.

Denna version - kallad Splunk Light - delar mycket gemensamt med företagsversionerna. Det kan bläddra i loggar, övervaka filer för problem och utfärda varningar när något är fel.

Med detta sagt har Splunk Light vissa begränsningar, som är ganska rimliga. För det första är mängden data som den kan konsumera begränsad till 500 MB per dag. Om det inte räcker kan du uppgradera till den betalda versionen av Splunk Light, som kan förbruka 20 GB loggar per dag. Realistiskt kommer de flesta användarna inte att komma någonstans i närheten av det.

Det stöder också bara fem användare, vilket inte borde vara ett problem för de flesta, särskilt om det bara körs på hushållswebben och filservrar.

Splunk erbjuder en molnversion, som är idealisk för dem som inte vill installera hela klienten på sina maskiner, eller de med ett antal fjärrservrar. Nackdelen med detta är den stora kostnaden. Den billigaste Splunk-planen kostar 125, 00 dollar per månad. #

Det är mycket pengar.

Hur hanterar du dina loggfiler?

Så vi har tittat på hur du kan ifrågasätta dina loggfiler och hitta den information du behöver för att felsöka, antingen personligen eller med fjärrhjälp. Men vet du om några bättre metoder? Använder du en logghanteringsprogramvara eller standard Linux-verktyg?

Jag vill höra om det. Låt mig veta i kommentarerna nedan.

In this article