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år over for problemer med din servers ydeevne, er det første du vil gøre at tjek dine Linux-logfiler. I systemloggen kan du finde nogle nyttige diagnosemeddelelser fra forskellige komponenter i operativsystemet som kernen eller forskellige tjenester, så du vil højst sandsynligt finde fejlårsagen 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 vigtigste logindsamlingstjenester i Linux rsyslog og systemd-journaliseret. De passer til de fleste af de moderne distributionspakker og arbejder selvstændigt.

rsyslog

Logfiler for denne tjeneste er placeret i "/ var / log /" mappe i form af almindelige tekstfiler. Logbeskeder lægges i forskellige filer afhængigt af typen af ​​begivenhed. For eksempel "/var/log/auth.log" indeholder oplysninger om brugernes autorisation i systemet, og "/var/log/kern.log" indeholder kernemeddelelser. Filnavne kan variere på tværs af distributionspakker, så lad os tage et kig på konfigurationsfilen for at få en idé om, hvad der er hvor "/etc/rsyslog.d/50-default.conf".

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

Disse regler viser, hvilken fil der indeholder hver type logmeddelelser. Den venstre del viser meddelelsestypen i følgende form "[Kilde].[Prioritet]" og den højre del viser navnet på logfilen. Mens du skriver meddelelsestypen "*"-tegn kan tilføjes. Det betyder tom værdi eller "ingen”, der fjerner det 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 meddelelser modtaget fra autorisationsmekanismen vil blive optaget i "/var/log/auth.log" fil. Alle autorisationsforsøg (både vellykkede og ikke) vil blive registreret i denne fil. Den anden regel angiver, at alle meddelelser undtagen dem, der er forbundet med autorisation, vil blive optaget i "/ Var / log / syslog" fil. Disse to filer er normalt de mest populære. Følgende regler definerer stien til lagring af kernelogfiler "kern.*" og mail service logs "post.*"

Logfiler kan åbnes ved hjælp af enhver teksteditor, f.eks mindre, hvordan, hale. Lad os åbne "/var/log/auth.log" fil

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 fil

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

Утилита logorotate

Brug til at søge efter information gennem lange tekstfiler grep nytte. Du kan finde alle beskeder modtaget fra pptpd service i "/ Var / log / syslog" fil.

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

Under diagnosticeringen kan du bruge hale værktøj, der kan vise flere sidste linjer med filer. Kommando "hale -f / var / log / syslog” vil lade dig se logs optagelse i realtid.

Tjenesten rsyslog er meget fleksibel og kraftfuld. Det kan bruges til at høste logs 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. Rotationsmekanisme sikrer automatisk arkivering af gamle logfiler og oprettelse af nye filer. Afhængigt af reglerne kan det ske dagligt, ugentligt, månedligt eller efter størrelsesgrænse. Efterhånden som nye logfiler oprettes, kan gamle blot slettes eller sendes via e-mail. Logs rotation udføres af logrotate nytte. Du kan finde hovedkonfigurationen i "/etc/logrotate.conf" fil. Filernes indhold behandles også i "/etc/logrotate.d/”-Mappe

Nye regler kan logges ind i hovedkonfigurationsfilen. Det er dog bedst at oprette en separat fil i "/etc/logrotate.d/Som standard er der nogle få filer i denne mappe

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

Lad os tage et kig på filen "/etc/logrotate.d/rsyslog", der indeholder rotationsregler for logfiler af rsyslog service.

Пример вывода всех ошибок 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 "/ var / log /" mappe er der hovedloggen "syslog” og 7 arkiver, hvilket svarer til reglerne i konfigurationsfilen.

Du kan finde en mere detaljeret beskrivelse af logrotate i manualen ved at udføre "mand logrotere” kommando

Indsamling af Linux-logfiler - journalført

Tjenester til høst af træstammer systemd-journaliseret 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 nytte. Records format er nøjagtigt det samme som i rsyslog.

Kommando journalctl uden attributter viser alle poster, men det er ikke egnet til større logfiler. Lad os tage et kig på nogle af mulighederne for 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 service

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

Hvis du angiver stien til den eksekverbare fil som en attribut, vil hjælpeprogrammet vise alle meddelelser sendt af denne fil. Lad os vise alle beskeder sendt af filen "/usr/bin/sudo” siden 04:15 den 18. februar 2020. Faktisk vil den 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 tage et kig på nogle specielle filer i "/ var / log /” mappe, hvor alle login-forsøg er gemt Disse filer er binære og kan kun åbnes med specielle programmer.

/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 linjer, der vises fra slutningen af ​​filen.

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

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

Spørg os om VPS

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