Kunnskapsbase Enkle instruksjoner for å jobbe med Profitserver-tjenesten
Hoved Kunnskapsbase Hvordan lese Linux-logger og hvor du finner den

Hvordan lese Linux-logger og hvor du finner den


Når du støter på problemer med serverens ytelse, er det første du bør gjøre å sjekke Linux-loggene dine . I systemloggen finner du nyttige diagnostikkmeldinger fra forskjellige komponenter i operativsystemet, som kjernen eller diverse tjenester, så du finner mest sannsynlig årsaken til feilen der.

Hver melding i loggen genereres som et resultat av visse hendelser i operativsystemet: fra brukeren, autorisasjon til tjenesteavslutning eller applikasjonsfeil. Disse hendelsene har ulike prioriteter avhengig av hvor kritiske de er. Det er følgende typer hendelser i Linux:

  1. emerg - fiasko, høyeste prioritet;
  2. alert - presserende advarsel;
  3. crit - kritisk hendelse;
  4. err - vanlig feil;
  5. warn - vanlig advarsel;
  6. notice - varsel;
  7. info - informasjonsmelding;
  8. debug - feilsøkingsinformasjon;

For øyeblikket er de viktigste logginnsamlingstjenestene i Linux rsyslog og systemd-journald . De følger med de fleste moderne distribusjonspakker og fungerer uavhengig.

rsyslog

Logger for denne tjenesten ligger i mappen « /var/log/ » i form av vanlige tekstfiler. Loggmeldinger legges i forskjellige filer avhengig av hendelsestypen. For eksempel inneholder « /var/log/auth.log » informasjon om brukernes autorisasjon i systemet, og « /var/log/kern.log » inneholder kjernemeldinger. Filnavn kan variere på tvers av distribusjonspakker, så la oss ta en titt på konfigurasjonsfilen for å få en idé om hvor « /etc/rsyslog.d/50-default.conf » er.

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

Disse reglene viser hvilken fil som inneholder hver type loggmeldinger. Den venstre delen viser meldingstypen i følgende format: « [Kilde].[Prioritet] », og den høyre delen viser navnet på loggfilen. Mens du skriver meldingstypen, kan tegnet « * » legges til. Det betyr en tom verdi eller « ingen » som fjerner den fra listen. La oss se nærmere på de to første reglene.

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

Den første regelen betyr at alle meldinger mottatt fra autorisasjonsmekanismen vil bli registrert i filen « /var/log/auth.log ». Alle autorisasjonsforsøk (både vellykkede og mislykkede) vil bli registrert i denne filen. Den andre regelen indikerer at alle meldinger unntatt de som er knyttet til autorisasjon, vil bli registrert i filen « /var/log/syslog ». Disse to filene er vanligvis de mest populære. Følgende regler definerer banen for å lagre kjernelogger « kern.* » og e-posttjenestelogger « mail.* » .

Loggfiler kan åpnes ved hjelp av et hvilket som helst tekstredigeringsprogram, som less , cat eller tail . La oss åpne filen « /var/log/auth.log » .

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

Hver linje i filen er en egen melding mottatt fra applikasjonen eller tjenesten. Alle meldinger uavhengig av kilde har ett format og består av 5 deler. La oss ta den uthevede meldingen i skjermbildet som et eksempel.

  1. Meldingstidsstempel - "12. feb 06:18:33"
  2. Navnet på datamaskinen som sendte meldingen - "vds"
  3. Navn på applikasjonen eller tjenesten som sendte meldingen - "sshd"
  4. Prosess-ID - [653]
  5. Meldingstekst - "Godtatt passord for mihail fra 188.19.42.165 port 2849 ssh2"

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

Og slik ser et mislykket påloggingsforsøk ut:

Читаем логи Linux

Denne filen registrerer også kommandoer med avanserte tillatelser

Kan du bruke Linux

La oss åpne /var/log/syslog -filen

En uthevet melding på skjermbildet er meldingen om nedleggelse av nettverksgrensesnittet.

Утилита logorotere

For å søke etter informasjon gjennom lange tekstfiler, bruk grep- verktøyet. Du finner alle meldinger mottatt fra pptpd- tjenesten i filen « /var/log/syslog ».

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

Under diagnostikken kan du bruke verktøyet tail , som kan vise flere av de siste linjene med filer. Kommandoen « tail -f /var/log/syslog » lar deg se loggene som registreres i sanntid.

Tjenesten rsyslog er svært fleksibel og kraftig. Den kan brukes til å samle logger i lokale systemer så vel som på bedriftsnivå. Du finner fullstendig dokumentasjon på det offisielle nettstedet https://www.rsyslog.com/

Loggrotasjon i Linux

Loggregistrering skjer kontinuerlig, så størrelsen på filene øker stadig. Rotasjonsmekanismen sikrer automatisk arkivering av gamle logger og oppretting av nye filer. Avhengig av reglene kan dette skje daglig, ukentlig, månedlig eller med en størrelsesbegrensning. Etter hvert som nye logger opprettes, kan gamle slettes eller sendes via e-post. Loggrotasjon utføres av logrotate- verktøyet. Du finner hovedkonfigurasjonen i filen « /etc/logrotate.conf ». Filinnholdet behandles også i mappen « /etc/logrotate.d/ ».

Nye regler kan logges inn i hovedkonfigurasjonsfilen. Det er imidlertid best å opprette en egen fil i « /etc/logrotate.d/ ». Som standard er det noen få filer i denne katalogen.

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

La oss ta en titt på filen « /etc/logrotate.d/rsyslog » som inneholder rotasjonsregler for logger for rsyslog- tjenesten.

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

Først bør regelen inneholde banen til loggfilen og deretter gå alle retningslinjer i buede parenteser.

  • roter 7 - antall filer å beholde - 7
  • daglig - Lag en ny fil hver dag
  • komprimere - komprimere og arkivere gamle filer
Учимся читать логи Линукс

Du kan se på skjermbildet at i mappen « /var/log/ » ligger hovedloggen « syslog » og 7 arkiver, som samsvarer med reglene i konfigurasjonsfilen.

Du finner en mer detaljert beskrivelse av logrotate i manualen, ved å kjøre kommandoen « man logrotate ».

Samle Linux-logger - journalført

Logghøstingstjenesten systemd-journald er en del av initialiseringssystemet systemd . Linux-loggfiler lagres i « /var/log/journal/ » i et spesielt format og kan åpnes ved hjelp av journalctl- verktøyet. Postformatet er nøyaktig det samme som i rsyslog.

Kommandoen journalctl uten attributter viser alle poster, men den er ikke egnet for større logger. La oss ta en titt på noen alternativer i dette verktøyet.

  • journalctl -b - vis alle poster siden siste start
  • journalctl -S "2020-02-17 12:00" -U "2020-02-17 12:10" - Vis rekord innen en viss tidsperiode
  • journalctl -u pptpd - vise registreringer av en bestemt tjeneste
  • journalctl -k - Vis kjernemeldinger
  • journalctl -p err - vis meldinger med en viss prioritet, meldinger med høyere prioritet i dette tilfellet (crit, alert, emerg)
  • journalctl -f - Vis meldinger i sanntid

For bedre fleksibilitet kan du kombinere disse alternativene. La oss vise alle feilene i pptpd- tjenesten.

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

Hvis du angir banen til den kjørbare filen som et attributt, vil verktøyet vise alle meldinger sendt av denne filen. La oss vise alle meldinger sendt av filen « /usr/bin/sudo » siden 04:15 den 18. februar 2020. Faktisk vil det vise alle kommandoer utført med høyere tillatelser.

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

For å finne ut hvor mye diskplass loggfiler tar opp for å utføre følgende kommando

journalctl --disk-usage

For å begrense loggfilen til 1 Gb, utfør følgende kommando

journalctl --vacuum-size=1G

Åpne binære filer

La oss nå se på noen spesialfiler i mappen « /var/log/ » der alle innloggingsforsøk lagres. Disse filene er binære og kan bare åpnes med spesialprogrammer.

/var/log/wtmp inneholder informasjon om vellykkede innloggingsforsøk. Bruk siste verktøy for å åpne den.

утилита lastlog

/var/log/btmp - inneholder alle mislykkede innloggingsforsøk. Den kan åpnes med lastb med avanserte tillatelser. Attributtet -n definerer antall linjer som vises fra slutten av filen.

/var/log/lastlog - inneholder tidspunktet for siste innloggingshandling for hver kontooppføring. Den kan åpnes med lastlog

❮ Forrige artikkel Linux tekstredigerere
Neste artikkel ❯ Hvordan konfigurere nettverksgrensesnitt i CentOS

Spør oss om VPS

Vi er alltid klare til å svare på spørsmålene dine når som helst på dagen eller natten.