Vidensdatabase Enkle instruktioner til at arbejde med Profitserver-tjenesten
Main Vidensdatabase Hvordan man læser Linux-logfiler, og hvor man finder det

Hvordan man læser Linux-logfiler, og hvor man finder det


Når du støder på problemer med din servers ydeevne, er det første, du bør gøre, at tjekke dine Linux-logfiler . I systemloggen kan du finde nogle nyttige diagnosticeringsmeddelelser fra forskellige komponenter i operativsystemet, såsom kernen eller forskellige tjenester, så du vil højst sandsynligt finde årsagen til fejlen der.

Hver meddelelse i loggen genereres som et resultat af visse hændelser i operativsystemet: fra brugeren, autorisation til servicenedlukning eller applikationsfejl. Disse begivenheder har forskellige prioriteter afhængigt af, hvor kritiske de er. Der er følgende typer begivenheder i Linux:

  1. emerg - fiasko, højeste prioritet;
  2. alert - presserende advarsel;
  3. crit - kritisk begivenhed;
  4. err - almindelig fejl;
  5. warn - almindelig advarsel;
  6. notice - meddelelse;
  7. info - informationsmeddelelse;
  8. debug - debugging information;

I øjeblikket er de primære logindsamlingstjenester i Linux rsyslog og systemd-journald . De følger med de fleste moderne distributionspakker og fungerer uafhængigt.

rsyslog

Logfiler for denne tjeneste findes i mappen “ /var/log/ ” i form af almindelige tekstfiler. Logmeddelelser placeres i forskellige filer afhængigt af hændelsestypen. For eksempel indeholder “ /var/log/auth.log ” oplysninger om brugernes autorisation i systemet, og “ /var/log/kern.log ” indeholder kernemeddelelser. Filnavne kan variere på tværs af distributionspakker, så lad os se på konfigurationsfilen for at få en idé om, hvor “ /etc/rsyslog.d/50-default.conf ” er placeret.

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

Disse regler viser, hvilken fil der indeholder hver type logmeddelelse. Den venstre del viser meddelelsestypen i følgende format " [Kilde].[Prioritet] ", og den højre del viser navnet på logfilen. Under skrivning af meddelelsestypen kan tegnet " * " tilføjes. Det betyder en tom værdi eller " ingen ", der fjerner den fra listen. Lad os se nærmere på de to første regler.

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

Den første regel betyder, at alle beskeder modtaget fra autorisationsmekanismen vil blive registreret i filen " /var/log/auth.log ". Alle autorisationsforsøg (både vellykkede og mislykkede) vil blive registreret i denne fil. Den anden regel angiver, at alle beskeder undtagen dem, der er forbundet med autorisation, vil blive registreret i filen " /var/log/syslog ". Disse to filer er normalt de mest populære. Følgende regler definerer stien til lagring af kernelogfiler " kern.* " og mailtjenestelogfiler " mail.* " .

Logfiler kan åbnes ved hjælp af enhver teksteditor, f.eks. less , cat eller tail . Lad os åbne filen “ /var/log/auth.log ” .

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

Hver linje i filen er en separat besked modtaget fra applikationen eller tjenesten. Alle beskeder uanset deres kilde har ét format og består af 5 dele. Lad os tage den fremhævede besked på skærmbilledet som et eksempel.

  1. Besked tidsstempel - "12. feb 06:18:33"
  2. Navnet på den computer, der sendte beskeden - "vds"
  3. Navn på applikationen eller tjenesten, der sendte beskeden - "sshd"
  4. Proces-id - [653]
  5. Meddelelsestekst - "Accepteret adgangskode til mihail fra 188.19.42.165 port 2849 ssh2"

Dette var et eksempel på en vellykket forbindelse til SSH.

Og sådan ser et mislykket loginforsøg ud:

Читаем логи Linux

Denne fil optager også kommandoer med avancerede tilladelser

Hvordan kan man bruge Linux

Lad os åbne /var/log/syslog -filen

En fremhævet besked på skærmbilledet er beskeden om nedlukning af netværksgrænsefladen.

Утилита logorotate

Brug grep- værktøjet til at søge efter information i lange tekstfiler . Du kan finde alle beskeder modtaget fra pptpd- tjenesten i filen " /var/log/syslog ".

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

Under diagnosticeringen kan du bruge værktøjet tail , der kan vise de sidste linjer i filer. Kommandoen " tail -f /var/log/syslog " giver dig mulighed for at se logfilerne i realtid.

Tjenesten rsyslog er meget fleksibel og kraftfuld. Den kan bruges til at indsamle logfiler i lokale systemer såvel som på virksomhedsniveau. Du kan finde fuld dokumentation på den officielle hjemmeside https://www.rsyslog.com/

Log rotation i Linux

Logregistrering sker kontinuerligt, så størrelsen på filerne vokser konstant. Rotationsmekanismen sikrer automatisk arkivering af gamle logs og oprettelse af nye filer. Afhængigt af reglerne kan det ske dagligt, ugentligt, månedligt eller med en størrelsesgrænse. Når nye logs oprettes, kan gamle blot slettes eller sendes via e-mail. Logrotation udføres af logrotate -værktøjet. Du kan finde hovedkonfigurationen i filen " /etc/logrotate.conf ". Filindholdet behandles også i mappen " /etc/logrotate.d/ ".

Nye regler kan logges i den primære konfigurationsfil. Det er dog bedst at oprette en separat fil i “ /etc/logrotate.d/ ”. Som standard er der et par filer i denne mappe.

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

Lad os se på filen “ /etc/logrotate.d/rsyslog ”, der indeholder rotationsregler for logfiler fra rsyslog- tjenesten.

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

Først skal reglen indeholde stien til logfilen og derefter gå alle retningslinjer i buede parenteser.

  • drej 7 - antal filer at beholde - 7
  • dagligt - Opret en ny fil hver dag
  • komprimere - komprimere og arkivere gamle filer
Учимся читать логи Линукс

Du kan se på skærmbilledet, at i mappen " /var/log/ " findes hovedloggen " syslog " og 7 arkiver, hvilket svarer til reglerne i konfigurationsfilen.

Du kan finde en mere detaljeret beskrivelse af logrotate i manualen, hvor du udfører kommandoen " man logrotate ".

Indsamling af Linux-logfiler - journalført

Logindsamlingstjenesten systemd-journald er en del af initialiseringssystemet systemd . Linux-logfiler gemmes i " /var/log/journal/ " i et særligt format og kan åbnes ved hjælp af journalctl- værktøjet. Records-formatet er nøjagtigt det samme som i rsyslog.

Kommandoen journalctl uden attributter viser alle poster, men den er ikke egnet til større logfiler. Lad os se på nogle muligheder i dette værktøj.

  • journalctl -b - vis alle poster siden sidste start
  • journalctl -S "2020-02-17 12:00" -U "2020-02-17 12:10" - vis rekord inden for et bestemt tidsrum
  • journalctl -u pptpd - vise registreringer af en bestemt tjeneste
  • journalctl -k - Vis kernebeskeder
  • journalctl -p err - vis meddelelser med en bestemt prioritet, meddelelser med højere prioritet i dette tilfælde (crit, alert, emerg)
  • journalctl -f - Vis beskeder i realtid

For bedre fleksibilitet kan du kombinere disse muligheder. Lad os vise alle fejl i pptpd- tjenesten.

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

Hvis du angiver stien til den eksekverbare fil som en attribut, vil værktøjet vise alle beskeder sendt af denne fil. Lad os vise alle beskeder sendt af filen “ /usr/bin/sudo ” siden kl. 04:15 den 18. februar 2020. Faktisk vil det vise alle kommandoer udført med højere tilladelser.

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

For at finde ud af, hvor meget diskplads logfiler optager for at udføre følgende kommando

journalctl --disk-usage

For at begrænse logfilen til 1 Gb skal du udføre følgende kommando

journalctl --vacuum-size=1G

Åbning af binære filer

Lad os nu se på nogle specialfiler i mappen " /var/log/ ", hvor alle loginforsøg er gemt. Disse filer er binære og kan kun åbnes med specialprogrammer.

/var/log/wtmp indeholder oplysninger om vellykkede loginforsøg. Brug det sidste værktøj til at åbne det.

утилита lastlog

/var/log/btmp - indeholder alle mislykkede loginforsøg. Den kan åbnes med lastb med avancerede tilladelser. Attribut -n definerer antallet af viste linjer fra slutningen af ​​filen.

/var/log/lastlog - indeholder tidspunktet for den sidste login-handling for hver kontopost. Den kan åbnes med lastlog

❮ Forrige artikel Linux teksteditorer
Næste artikel ❯ Sådan konfigureres netværksgrænseflader i CentOS

Spørg os om VPS

Vi er altid klar til at besvare dine spørgsmål når som helst på dagen eller natten.