Kunskapsbas Enkla instruktioner för att arbeta med Profitserver-tjänsten
Huvudsida Kunskapsbas Hur man läser Linux-loggar och var man hittar det

Hur man läser Linux-loggar och var man hittar det


När du stöter på några problem med din servers prestanda är det första du vill göra att kontrollera dina Linux-loggar. I systemloggen kan du hitta några användbara diagnostikmeddelanden från olika komponenter i operativsystemet som kärnan eller olika tjänster, så du hittar troligen felorsaken där.

Varje meddelande i loggen genereras som ett resultat av vissa händelser i operativsystemet: från användaren, auktorisering till serviceavstängning eller applikationsfel. Dessa händelser har olika prioriteringar beroende på hur kritiska de är. Det finns följande typer av händelser i Linux:

  1. emerg - misslyckande, högsta prioritet;
  2. alert - brådskande varning;
  3. crit - kritisk händelse;
  4. err - vanligt fel;
  5. warn - vanlig varning;
  6. notice - anmälan;
  7. info - informationsmeddelande;
  8. debug - felsökningsinformation;

För tillfället är de huvudsakliga loggar-tjänsterna i Linux rsyslog och systemd-journalad. De går med de flesta moderna distributionspaket och arbetar självständigt.

rsyslog

Loggar för denna tjänst finns i "/ var / log /" i form av vanliga textfiler. Loggmeddelanden läggs i olika filer beroende på typ av händelse. Till exempel "/var/log/auth.log” innehåller information om användarnas behörighet i systemet, och ”/var/log/kern.log” innehåller kärnmeddelanden. Filnamn kan skilja sig åt mellan distributionspaket, så låt oss ta en titt på konfigurationsfilen för att få en uppfattning om vad som är var ”/etc/rsyslog.d/50-default.conf".

Сбор логов Linux утилитой rsyslog

Dessa regler visar vilken fil som innehåller varje typ av loggmeddelanden. Den vänstra delen visar typen av meddelande i följande formulär "[Källa].[Prioritet]" och den högra delen visar namnet på loggfilen. När du skriver meddelandetypen "*"-tecken kan läggas till. Det betyder tomt värde eller "ingen” som tar bort det från listan. Låt oss titta närmare på de två första reglerna.

“auth,authpriv.* /var/log/auth.log”
“*.*;auth,authpriv.none -/var/log/syslog”

Den första regeln innebär att alla meddelanden som tas emot från auktoriseringsmekanismen kommer att registreras i "/var/log/auth.log"-fil. Alla auktoriseringsförsök (både framgångsrika och inte) kommer att registreras i denna fil. Den andra regeln anger att alla meddelanden utom de som är kopplade till auktorisering kommer att spelas in i "/ Var / log / syslog" fil. Dessa två filer är vanligtvis de mest populära. Följande regler definierar sökvägen för att lagra kärnloggar "kern.*" och posttjänstloggar "post.*"

Loggfiler kan öppnas med hjälp av vilken textredigerare som helst, som mindre, hur, svans. Låt oss öppna "/var/log/auth.log”-Fil

less /var/log/auth.log
Запись в лог-файле Линукс о неудачной попытке авторизации SSH

Varje rad i filen är ett separat meddelande som tas emot från applikationen eller tjänsten. Alla meddelanden oavsett källa har ett format och består av 5 delar. Låt oss ta det markerade meddelandet i skärmdumpen som ett exempel.

  1. Meddelande tidsstämpel - "12 feb 06:18:33"
  2. Namnet på datorn som skickade meddelandet - "vds"
  3. Namn på applikationen eller tjänsten som skickade meddelandet - "sshd"
  4. Process-ID - [653]
  5. Meddelandetext - "Accepterat lösenord för mihail från 188.19.42.165 port 2849 ssh2"

Detta var ett exempel på en framgångsrik anslutning till SSH.

Och så här ser ett misslyckat inloggningsförsök ut:

Читаем логи Linux

Den här filen registrerar också kommandon med avancerade behörigheter

Hur kan jag använda Linux

Låt oss öppna / Var / log / syslog fil

Ett markerat meddelande på skärmdumpen är meddelandet om avstängning av nätverksgränssnittet.

Утилита logorotate

För att söka information genom långa textfiler använd grep nytta. Du kan hitta alla meddelanden som tas emot från pptpd service i "/ Var / log / syslog" fil.

grep 'pptpd' /var/log/syslog
файл "/etc/logrotate.d/rsyslog"

Under diagnostiken kan du använda svans verktyg som kan visa flera sista rader med filer. Kommando "svans -f / var / log / syslog” låter dig titta på loggar som spelas in i realtid.

Tjänsten rsyslog är mycket flexibel och kraftfull. Den kan användas för att skörda stockar i lokala system såväl som på företagsnivå. Du kan hitta fullständig dokumentation på den officiella webbplatsen https://www.rsyslog.com/

Loggar rotation i Linux

Logginspelning sker kontinuerligt, så storleken på filerna växer hela tiden. Rotationsmekanism säkerställer automatisk arkivering av gamla loggar och skapandet av nya filer. Beroende på reglerna kan det ske dagligen, veckovis, månadsvis eller efter storleksgräns. När nya loggar skapas kan gamla bara raderas eller skickas via e-post. Loggrotation utförs av logrotate nytta. Du hittar huvudkonfigurationen i "/etc/logrotate.conf" fil. Filinnehåll bearbetas också i "/etc/logrotate.d/" mapp

Nya regler kan loggas in i huvudkonfigurationsfilen. Det är dock bäst att skapa en separat fil i "/etc/logrotate.d/Som standard finns det några filer i den här katalogen

Настраиваем ротацию логов в Линукс

Låt oss ta en titt på filen "/etc/logrotate.d/rsyslog" som innehåller rotationsregler för loggar av rsyslog tjänsten.

Пример вывода всех ошибок pptpd в лог-файлах

Först bör regeln innehålla sökvägen till loggfilen och sedan gå alla riktlinjer inom böjda parenteser.

  • rotera 7 - antal filer att behålla - 7
  • dagligen - skapa en ny fil varje dag
  • komprimera - komprimera och arkivera gamla filer
Учимся читать логи Линукс

Du kan se på skärmdumpen att i "/ var / log /" mapp där finns huvudloggen "syslog” och 7 arkiv, vilket motsvarar reglerna i inställningsfilen.

Du kan hitta en mer detaljerad beskrivning av logrotate i manualen, genom att utföra "man logrotera”Kommando

Samla Linux-loggar - journalförd

Service för timmerskörd systemd-journalad är en del av initieringssystemet SYSTEMD. Linux-loggfiler lagras i "/var/log/journal/” i ett speciellt format och kan öppnas med hjälp av journalctl nytta. Records format är exakt samma som i rsyslog.

Kommando journalctl utan attribut visar alla poster men det är inte lämpligt för större loggar. Låt oss ta en titt på några alternativ för detta verktyg.

  • journalctl -b - visa alla poster sedan senaste start
  • journalctl -S "2020-02-17 12:00" -U "2020-02-17 12:10" - visa rekord inom en viss tidsperiod
  • journalctl -u pptpd - visa register över en viss tjänst
  • journalctl -k - visa kärnmeddelanden
  • journalctl -p err - visa meddelanden med en viss prioritet, meddelanden med högre prioritet i detta fall (crit, alert, emerg)
  • journalctl -f - visa meddelanden i realtid

För bättre flexibilitet kan du kombinera dessa alternativ. Låt oss visa alla fel i pptpd service

journalctl -u pptpd -p err
утилита sist

Om du anger sökvägen till den körbara filen som ett attribut kommer verktyget att visa alla meddelanden som skickas av den här filen. Låt oss visa alla meddelanden som skickas av filen "/usr/bin/sudo” sedan 04:15 den 18 februari 2020. Faktum är att den visar alla kommandon som körs med högre behörigheter.

journalctl -S "2020-02-18 04:15" /usr/bin/sudo
командой lastb

För att ta reda på hur mycket diskutrymme loggfiler tar upp för att utföra följande kommando

journalctl --disk-usage

Utför följande kommando för att begränsa loggfilen till 1 Gb

journalctl --vacuum-size=1G

Öppna binära filer

Låt oss nu ta en titt på några speciella filer i "/ var / log /” mapp där alla inloggningsförsök lagras. Dessa filer är binära och kan endast öppnas med specialprogram.

/var/log/wtmp innehåller information om lyckade inloggningsförsök. Använd det senaste verktyget för att öppna det.

утилита lastlog

/var/log/btmp - innehåller alla misslyckade inloggningsförsök. Den kan öppnas med lastb med avancerade behörigheter. Attribut -n definierar antalet rader som visas från slutet av filen.

/var/log/lastlog - innehåller tidpunkten för den senaste inloggningsåtgärden för varje kontopost. Den kan öppnas med sista loggen

❮ Föregående artikel Hur man konfigurerar nätverksgränssnitt i CentOS
Nästa artikel ❯ Linux textredigerare

Fråga oss om VPS

Vi är alltid redo att svara på dina frågor när som helst på dygnet.