Ubuntu-logging. Linux-loggfiler i rekkefølge. loggfiler og deres plassering i Linux

Introduksjon

En av tingene som gjør GNU/Linux til et flott operativsystem er at praktisk talt alt som skjer på og til systemet kan bli logget på en eller annen måte. Denne informasjonen er uvurderlig for å bruke systemet på en informert måte, og bør være en av de første ressursene du bruker til å feilsøke systemet og applikasjonsproblemer. Loggene kan fortelle deg nesten alt du trenger å vite, så lenge du har en idé om hvor du skal lete først.

Ubuntu-systemet ditt gir viktig informasjon ved hjelp av ulike systemloggfiler. Disse loggfilene er vanligvis ren ASCII-tekst i et standard loggfilformat, og de fleste av dem ligger i den tradisjonelle systemloggunderkatalogen /var/log . Mange genereres av systemloggdaemonen, syslogd på vegne av systemet og visse applikasjoner, mens noen applikasjoner genererer sine egne logger ved å skrive direkte til filer i /var/log .

Denne veiledningen snakker om hvordan du leser og bruker flere av disse systemloggfilene, hvordan du bruker og konfigurerer systemloggingsdemonen, syslogd , og hvordan loggrotasjon fungerer. Se Ressurser delen for ytterligere informasjon.

Målgruppe

Denne veiledningen vil være enkel nok å bruke hvis du har noen erfaring med å bruke konsollen og redigere tekstfiler ved hjelp av et tekstredigeringsprogram. Se slutten av dette dokumentet for noen viktige kommandoer som kan hjelpe deg å finne veien rundt disse filene hvis du er relativt ny på kommandolinjen.

Systemlogger

Systemlogger omhandler først og fremst funksjonen til Ubuntu-systemet, ikke nødvendigvis med tilleggsapplikasjoner lagt til av brukere. Eksempler inkluderer autorisasjonsmekanismer, systemdemoner, systemmeldinger og selve den altomfattende systemloggen, syslog.

Autorisasjonslogg

Autorisasjonsloggen sporer bruk av autorisasjonssystemer, mekanismene for å autorisere brukere som ber om brukerpassord, for eksempel PAM-systemet (Pluggable Authentication Module), sudo-kommandoen, ekstern pålogging til sshd og så videre. Autorisasjonsloggfilen kan nås på /var/log/auth.log . Denne loggen er nyttig for å lære om brukerpålogginger og bruk av sudo-kommandoen.

Bruk grep for å redusere volumet. Hvis du for eksempel bare vil se informasjon i autorisasjonsloggen som gjelder sshd-pålogginger, bruker du denne:

grep sshd /var/log/auth.log | mindre

Demonlogg

En daemon er et program som kjører i bakgrunnen, vanligvis uten menneskelig innblanding, og utfører en operasjon som er viktig for at systemet skal fungere riktig. Daemonloggen på /var/log/daemon.log og inneholder informasjon om å kjøre system- og applikasjonsdemoner som Gnome Display Manager-daemonen gdm, Bluetooth HCI-daemonen hcid eller MySQL-databasedemonen mysqld. Dette kan hjelpe deg med å feilsøke problemer med en bestemt demon.

Igjen, bruk grep for å finne spesifikk informasjon, plugg inn navnet på demonen du er interessert i.

Feilsøkingslogg

Feilsøkingsloggen på /var/log/debug og gir detaljerte feilsøkingsmeldinger fra Ubuntu-systemet og applikasjoner som logger til syslogd på DEBUG-nivå.

Kjernelogg

Kjerneloggen på /var/log/kern.log gir en detaljert logg over meldinger fra Ubuntu Linux-kjernen. Disse meldingene kan vise seg å være nyttige for å feilsøke en ny eller spesialbygd kjerne, for eksempel.

Kjerneringbuffer

Kjerneringbufferen er egentlig ikke en loggfil i seg selv, men snarere et område i den kjørende kjernen du kan spørre etter kjerneoppstartsmeldinger via dmesg-verktøyet. For å se meldingene, bruk dette:

dmesg | mindre

Eller for å søke etter linjer som nevner Plug & Play-systemet, for eksempel, bruk grep slik:

dmesg | grep pnp | mindre

Som standard sender systeminitialiseringsskriptet /etc/init.d/bootmisc.sh alle oppstartsmeldinger til filen /var/log/dmesg også. Du kan se og søke i denne filen på vanlig måte.

Systemlogg

Systemloggen inneholder vanligvis den største mengden informasjon som standard om ditt Ubuntu-system. Den ligger på /var/log/syslog , og kan inneholde informasjon som andre logger ikke gjør. Se systemloggen når du ikke finner ønsket logginformasjon i en annen logg. Den inneholder også alt som pleide å være i /var/log/messages.

Applikasjonslogger

Mange applikasjoner lager også logger i /var/log . Hvis du viser innholdet i /var/log-underkatalogen din, vil du se kjente navn, for eksempel /var/log/apache2 som representerer loggene for Apache 2 Internett server, eller /var/log/samba , som inneholder loggene for Samba-serveren. Denne delen av veiledningen introduserer noen spesifikke eksempler på applikasjonslogger og informasjonen i dem.

Apache HTTP-serverlogger

Standardinstallasjonen for Apache2 på Ubuntu oppretter en loggunderkatalog: /var/log/apache2 . Innenfor denne underkatalogen er det to loggfiler med to forskjellige formål:

    /var/log/apache2/access.log - poster for hver side servert og hver fil lastet av webserveren.

    /var/log/apache2/error.log - poster over alle feiltilstander rapportert av HTTP-serveren

Som standard, hver gang Apache åpner en fil eller side, registrerer tilgangsloggene IP-adressen, klokkeslettet og datoen,, HTTP-resultatkoden og teksten til den faktiske spørringen, som vanligvis vil være en GET for en sidevisning. Se på Apache-dokumentasjonen for en fullstendig oversikt; ganske mye kan hentes fra denne filen, og det finnes faktisk mange statistiske pakker som utfører analyser av disse loggene.

Hver gang en feil oppstår, legger Apache til en linje i feilloggen. Hvis du kjører PHP med feil- og advarselsmeldinger deaktivert, kan dette være den eneste måten å identifisere feil på.

CUPS Skriv ut systemlogger

Common Unix Printing System (CUPS) bruker standardloggfilen /var/log/cups/error_log for å lagre informasjons- og feilmeldinger. Hvis du trenger å løse et utskriftsproblem i Ubuntu, kan denne loggen være et godt sted å starte.

Rootkit Hunter Logg

Rootkit Hunter-verktøyet (rkhunter) sjekker Ubuntu-systemet ditt for bakdører, sniffere og rootkits, som alle er tegn på kompromittering av systemet ditt. Loggen rkhunter bruker ligger på /var/log/rkhunter.log .

Samba SMB-serverlogger

Server Message Block Protocol (SMB)-serveren, Samba, er populært brukt for å dele filer mellom Ubuntu-datamaskinen din og andre datamaskiner som støtter SMB-protokollen. Samba holder tre forskjellige typer logger i underkatalogen /var/log/samba:

    log.nmbd - meldinger relatert til Sambas NETBIOS over IP-funksjonalitet (nettverkstingene)

    log.smbd - meldinger relatert til Sambas SMB/CIFS-funksjonalitet (fil- og utskriftsdeling)

    Logg. - meldinger relatert til forespørsler om tjenester fra IP-adressen i loggfilnavnet, for eksempel log.192.168.1.1.

X11 serverlogg

Standard X11 Windowing Server som brukes med Ubuntu er Xorg X11-serveren, og forutsatt at datamaskinen din har bare én skjerm definert, lagrer den loggmeldinger i filen /var/log/Xorg.0.log . Denne loggen er nyttig for å diagnostisere problemer med X11-miljøet.

Logger som ikke kan leses av mennesker

Noen loggfiler som finnes i underkatalogen /var/log er designet for å kunne leses av applikasjoner, ikke nødvendigvis av mennesker. Noen eksempler på slike loggfiler som vises i /var/log følger.

Logg på innloggingsfeil

Loggen på innloggingsfeil som ligger på /var/log/faillog er faktisk designet for å bli analysert og vist av faillog-kommandoen. For eksempel, for å skrive ut nylige påloggingsfeil, bruk dette:

feillogg

Logg på siste pålogging

Den siste påloggingsloggen på /var/log/lastlog skal vanligvis ikke analyseres og undersøkes av mennesker, men bør heller brukes sammen med lastlog-kommandoen. For for eksempel å se en liste over pålogginger med lastlog-kommandoen, vist én side per skjerm med mindre-kommandoen, bruk følgende kommando:

lastlog | mindre

Logg inn journaler

Filen /var/log/wtmp inneholder påloggingsposter, men i motsetning til /var/log/lastlog ovenfor, brukes ikke /var/log/wtmp til å vise en liste over nylige pålogginger, men brukes i stedet av andre verktøy som hvem kommando for å presentere en liste over påloggede brukere. Denne kommandoen viser brukerne som er logget på maskinen din:

WHO

System Logging Daemon (syslogd)

Systemloggingsdemonen syslogd , også kjent som sysklogd , venter på loggmeldinger fra en rekke kilder og ruter meldingene til riktig fil eller nettverksdestinasjon. Meldinger som er logget på syslogd inneholder vanligvis vanlige elementer som systemvertsnavn og tidsstempler i tillegg til den spesifikke logginformasjonen.

Konfigurasjon av syslogd

Syslogd-daemonens konfigurasjonsfil er /etc/syslog.conf . Hver oppføring i denne filen består av to felt, velgeren og handlingen. Velgerfeltet spesifiserer en funksjon som skal logges, som f.eks. auth anlegg som omhandler autorisasjon, og et prioritetsnivå å logge slik informasjon på, som f.eks info, eller advarsel. Handlingsfeltet består av et mål for logginformasjonen, for eksempel en standard loggfil (dvs. /var/log/syslog), eller vertsnavnet til en ekstern datamaskin å sende logginformasjonen til.

Ekko meldinger til syslogd med Logger

Et ryddig verktøy finnes i loggeverktøyet, som lar en plassere meldinger i systemloggen (dvs. /var/log/syslog) vilkårlig. Anta for eksempel at brukernavnet ditt er buddha , og du ønsker å legge inn en melding i syslogen om en spesielt deilig pizza du spiser, kan du bruke en kommando som følgende ved en terminalprompt:

logger Denne pizzaen fra Vinnys Gourmet Rocks

og du ville ende opp med en linje i /var/log/syslog-filen slik:

12. jan 23:34:45 localhost buddha: This Pizza from Vinnys Gourmet Rocks

Du kan til og med spesifisere en tag meldingene kommer fra, og omdirigere standardfeilen for utdata også.

# # sample logger error jive # logmsg="/usr/bin/logger -s -t MyScript " # kunngjør hva dette skriptet er, selv til loggen $logmsg "Directory Checker FooScript Jive 1.0" # test for eksistensen av Fred" s hjemmekatalog på denne maskinen hvis [ -d /home/fred ]; deretter $logmsg "I. Freds hjemmekatalog funnet" else $logmsg "E. Freds hjemmekatalog ble IKKE funnet. "Boo Hoo." exit 1 fi

Å kjøre dette skriptet som chkdir.sh på maskinsmør hvor Fred ikke har en hjemmekatalog, /home/fred , gir følgende resultater:

bumpy@butters:~$./chkdir.sh MyScript: Directory Checker FooScript Jive 1.0 MyScript: E. Freds hjemmekatalog ble IKKE funnet. Boo Hoo. bumpy@butters:~$tail -n 2 /var/log/syslog 12. januar 23:23:11 localhost MyScript: Directory Checker FooScript Jive 1.0 Jan 12 23:23:11 localhost MyScript: E. Freds hjemmekatalog ble IKKE funnet. Boo Ho.

Så, som du kan se, mottok vi meldingene både via standardfeil, ved terminalprompten, og de vises også i vår syslog.

Logg rotasjon

Når du ser på katalogoppføringer i /var/log eller noen av underkatalogene, kan du støte på loggfiler med navn som daemon.log.0 , daemon.log.1.gz og så videre. Hva er disse loggfilene? De er "roterte" loggfiler. Det vil si at de automatisk har fått nytt navn etter en forhåndsdefinert tidsramme, og en ny original logg startet. Etter enda mer tid komprimeres loggfilene med gzip-verktøyet som i eksempelet daemon.log.1.gz. Hensikten med loggrotasjon er å arkivere og komprimere gamle logger slik at de bruker mindre diskplass, men fortsatt er tilgjengelige for inspeksjon etter behov. Hva håndterer denne funksjonaliteten? Hvorfor, logrotate kommandoen selvfølgelig! Vanligvis kalles logrotate fra det systemomfattende cron-skriptet /etc/cron.daily/logrotate , og videre definert av konfigurasjonsfilen /etc/logrotate.conf . Individuelle konfigurasjonsfiler kan legges til i /etc/logrotate.d (hvor for eksempel apache2- og mysql-konfigurasjonene er lagret).

Denne veiledningen vil ikke dekke utallige måter logrotate kan konfigureres til å håndtere automatisk rotasjon av enhver loggfil på Ubuntu-systemet. For mer detaljer, sjekk Ressurser delen av denne veiledningen.

MERK: Du kan også rotere systemloggfiler via cron.daily-skriptet /etc/cron.daily/sysklogd i stedet for å bruke logrotate. Faktisk kan verktøyets savelog produsere uventede resultater ved loggrotasjon som konfigurering av logrotate ikke ser ut til å ha noen effekt på. I slike tilfeller bør du sjekke cron.daily sysklogd-skriptet i /etc/cron.daily/sysklogd og lese manualsiden for savelog for å se om savelog faktisk ikke utfører rotasjonen på en måte som ikke er det du spesifiserer med logrotere.

Viktige kommandoer

Hvis du er ny på konsollen og Linux-kommandolinjen, vil disse kommandoene få deg i gang til et punkt hvor du kan jobbe med loggfiler på et grunnleggende nivå.

Starter

For å bytte til loggkatalogen, der de fleste av disse filene ligger, bruk cd-kommandoen. Dette sparer deg for å måtte skrive ut et fullstendig banenavn for hver påfølgende kommando:

cd /var/log

Redigering av filer

Du kan vise og redigere filer i GEdit eller Kate, de enkle tekstredigererne som følger med henholdsvis Ubuntu og Kubuntu, men disse kan være overkill når alt du vil gjøre er å se på en fil eller gjøre enkle endringer. Den enkleste editoren å bruke fra konsollen er nano, som er mindre kraftig, men også mindre komplisert enn vim eller emacs. Kommandoen for å redigere en bestemt loggfil /var/log/example.log ved å bruke nano er:

nanoeksempel.logg

Trykk Ctrl+X for å avslutte. Den vil spørre om du vil lagre endringene når du avslutter, men med mindre du kjører den med sudo-kommandoen, vil filene ikke være skrivbare. Generelt vil du selvfølgelig ikke lagre endringene i loggfiler.

Viser filer

For å bare se på en fil, er en editor overkill. Bruk less-kommandoen, som blar gjennom en fil én skjerm om gangen:

mindre eksempel.logg

Du trenger ikke sudo for å se på en fil. Trykk h for å få hjelp, eller q for å avslutte. Markørtastene og side opp/ned-tastene vil fungere som forventet, og skråstrek-tasten ("/") vil gjøre en store- og små bokstaver- sensitivt søk, n-tasten gjentar det siste søket.

Vise begynnelsen av filer

For å se de første ti linjene i en fil, bruk head-kommandoen:

head example.log

For å se et annet antall linjer fra begynnelsen av filen, legg til -n-bryteren, slik:

hode -n 20 eksempel.log

Vise slutten av filene

For å se de siste ti linjene i en fil, er den analoge kommandoen tail:

hale eksempel.logg

Igjen, -n-bryteren gir deg kontroll over hvor mange linjer den viser:

hale -n 20 eksempel.log

Ser på en fil i endring

Dessuten setter -f ("følg") bryteren inn i en løkke, og venter konstant på nye tillegg til filen den viser. Dette er nyttig for å overvåke filer som oppdateres i sanntid:

hale -f eksempel.logg

Trykk Ctrl+C for å avslutte loopen.

Søker etter filer

Fordi loggfiler kan være store og uhåndterlige, hjelper det å kunne fokusere. grep-kommandoen hjelper deg å fjerne bare innholdet du bryr deg om. For å finne alle linjene i en fil som inneholder ordet "system", bruk for eksempel dette:

grep "system" eksempel.log

For å finne alle linjene som inneholder "system" på begynnelsen av linjen, bruk dette:

grep «^system» eksempel.log

Legg merke til trinsesymbolet, et regulært uttrykk som bare samsvarer med starten på en linje. Dette er mindre nyttig for standard loggfiler, som alltid starter med dato og klokkeslett, men ellers kan det være nyttig. Ikke alle filer har et standardformat.

Hver gang resultatet av et grep fortsatt er for langt, kan du røre det gjennom mindre:

grep "system" eksempel.log | mindre

Ressurser

Ytterligere informasjon om system- og applikasjonslogger og syslogd er tilgjengelig via følgende ressurser:

Lokale systemressurser

Systemhåndbokside for dmesg kjerneringbufferverktøyet

Systemhåndbokside for faillog-kommandoen (og også faillog-konfigurasjonsfilen via man 5 faillog)

Systemhåndbokside for grep-mønstersøkeverktøyet

Systemhåndbokside for hodeverktøyet

Systemhåndbokside for kjerneloggdaemonen (klogd)

Systemhåndbok for siste kommando som viser sist påloggede brukere

Systemhåndbokside for verktøyet for mindre personsøking

Systemhåndbokside for logger-kommandolinjegrensesnittet til syslog-verktøyet

Systemhåndbokside for logrotate-verktøyet

Systemhåndbokside for lagringsverktøyet for savelog-loggfilen

Systemhåndbokside for systemloggdaemonen (syslogd)

Systemhåndbokside for syslogd-konfigurasjonsfilen

Systemhåndbokside for haleverktøyet


Når du ser på loggfiler (loggfiler) i Linux, må du noen ganger overvåke nye loggoppføringer i sanntid. Det vil si at du spesifiserer hvilken loggfil (eller filer) du vil vise og overvåke i sanntid for nye oppføringer i den filen.

Overvåking av loggfiler med hale-kommandoen

Hvis du kjører kommandoen haleFilnavn uten ytterligere argumenter, vil de siste 10 linjene i filen bli skrevet ut og kommandoen vil fullføre arbeidet.

For at halekommandoen skal sende ut kontinuerlig de siste notatene i filen, det vil si hvis nye oppføringer dukket opp i filen, ble informasjonen på skjermen oppdatert, alternativet -f brukes:
hale -f LogFileName

Kjør kommandoen tail -f for å sende ut loggfilen /var/log/syslog

hale -f /var/log/syslog

Siden alternativet er brukt -f, tail-kommandoen fullfører ikke arbeidet, men venter på at nye oppføringer skal vises i loggfilen. Så snart nye oppføringer er lagt til i loggfilen, vil de umiddelbart vises i terminalen.

For å avbryte utførelsen av en kommando, trykk hurtigtasten Ctrl+C

tailf kommando

tail -f-kommandoen tilsvarer tailf-kommandoen.

Bruk:

Tailf /var/log/mylogfile.log

En viktig forskjell mellom tailf-kommandoen og tail -f er at tailf ikke får tilgang til filen når den ikke er endret. Som en konsekvens oppdateres ikke filtilgangstiden og systemet skyller ikke filen kontinuerlig til disken når filen ikke er oppdatert.

Beskrivelsen av tailf-kommandoen indikerer at den er nyttig for å overvåke loggfiler på bærbare datamaskiner. Siden disken ikke åpnes unødvendig og batterilevetiden er bevart.

hale -F. Hvis filen har fått nytt navn eller slettet

Vanligvis, i Linux, skrives ikke loggfiler på ubestemt tid, ellers vil en slik fil være svært upraktisk å bruke i fremtiden. I stedet brukes såkalt filrotasjon. Når loggfilen blir stor, blir den enten slettet eller omdøpt (en sikkerhetskopi av filen lages), og ytterligere meldinger begynner å bli skrevet til en ny, tom fil.

Halekommandoen har to alternativer: -f og -F

  • Hvis brukt alternativ -f og den sporede filen får nytt navn, fortsetter tail-kommandoen å spore den allerede omdøpte filen. Team hale i dette tilfellet er den knyttet til identifikatoren (inoden) til filen.
  • Hvis brukt alternativ -F og den sporede filen blir omdøpt, vil tail-kommandoen oppdage dette, og så snart en ny loggfil er opprettet (med navnet vi spesifiserte til kommandoen hale), team hale vil begynne å spore denne nye filen.

La oss se på et eksempel.

Vi vil overvåke loggfilen /var/log/apache2/error.log. Utfør halekommandoen med -F-alternativet

Tail -F /var/log/apache2/error.log

Hvis systemet flytter (omdøper) error.log-filen til error.log.1 og oppretter en ny error.log-fil, vil hale-kommandoen vår fortsette å overvåke den nye error.log-filen

Hvis vi skulle bruke alternativet i dette eksemplet -f, da vil tail-kommandoen fortsette å overvåke filen error.log.1, som ikke lenger er relevant for oss når vi ser på logger i sanntid.

Overvåk flere loggfiler samtidig

Halekommandoen støtter sporing av flere filer samtidig. For å gjøre dette må du spesifisere filnavn atskilt med mellomrom.

Tail -f /var/log/apache2/error.log /var/log/apache2/access.log

Så snart noen av filene endres, vises navnet på denne filen og de nye oppføringene i den på skjermen.

For samtidig overvåking av flere loggfiler er det et veldig praktisk multitail-verktøy

Den viser ikke bare data, men lager sitt eget vindu (område) for hver fil og viser dataene i dette vinduet. Med dens hjelp er det veldig praktisk å spore mange loggfiler samtidig og se dem i ett terminalvindu.

Multitail-verktøyet kan installeres fra standardlagrene til distribusjonen din. For å installere, kjør kommandoen (velg riktig kommando for distribusjonen):

Sudo apt install multitail sudo yum install multitail sudo dnf install multitail

Bruk:

Multitail /var/log/apache2/access.log /var/log/apache2/error.log

For å avslutte verktøyet, trykk på q-tasten

Alle loggfiler er plassert i /var/log-katalogen. I den katalogen er det spesifikke filer for hver type logger. For eksempel logges systemlogger, som kjerneaktiviteter, i syslog-filen.

Noen av de vanligste loggfilene i den katalogen er:

    I katalogen apt er det en fil history.log som lagrer all informasjon om installasjon og fjerning av pakken, selv den første systembyggingen som Live CD. Du kan åpne denne filen for å se denne veldig interessante filen.

    I katalog dist-upgrade er det en fil apt.log som logger informasjonen under distribusjonsoppgraderinger

    I kataloginstallasjon kan du finne loggfilene som opprettes under installasjonen.

    Det er en apport.log-fil som lagrer informasjon om krasj i systemet ditt og rapporterer dem.

    Filen auth.log inneholder informasjon om autentiseringsaktivitetene, for eksempel når du autentiserer deg som root-bruker via sudo.

    Filen dpkg.log lagrer lavnivådetaljene om pakkeinstallasjon og fjerning relatert til dpkg. Du er kanskje klar over at apt-systemet avhenger av dpkg for pakkeinstallasjon og fjerning.

    boot.log inneholder informasjon om hver oppstart.

    kern.log lagrer kjerneinformasjon som advarsler, feil osv.

    alternatives.log inkluderer historien til alle alternativene satt av forskjellige pakker og fjerning av dem via kommandoen update-alternatives.

    En annen viktig loggfil er Xorg.log som inneholder informasjon om grafikkdriveren, dens feil, advarsler osv.

Noen andre typer loggfiler kan være der avhengig av dine installerte pakker. For eksempel inkluderer Mitt system også en loggfil epoptes.log som bare vil være der hvis du installerer epoptes-pakken.

Endringer etter systemd

Med bruken av systemd blir logging for det meste håndtert av journalctl-verktøyet og lagrer loggene i binært format i /var/lib/systemd/catalog/databasefil. Denne filen oppregner alle logger inkludert kjerne-, oppstarts- og applikasjonslogger og gir nødvendige logger via journalctl-verktøyet.

Her er en god artikkel om journalctl om hvordan du kan bruke den til å hente nødvendig logginformasjon.

Under driften overvåker og lagrer systemet i spesielle filer noen hendelser som det anser som viktige eller bare nødvendige for bruk for å korrigere og feilsøke feil, feilkonfigurasjoner osv. Filene der disse hendelsene er lagret kalles loggfiler eller registrering filer. Ofte tar loggingsfiler for mye diskplass, noe som kan indikere en systemfeil, konfigurasjonsfeil eller rett og slett feil konfigurasjon av hendelsesloggingsdemonene som overvåker og samler alt. Derfor er det å jobbe med et hendelsesregistreringssystem en viktig komponent i arbeidet til enhver systemadministrator, som kvaliteten på systemtjenesten og, som et resultat, deres pålitelighet og holdbarhet helt avhenger av.

Hvordan fungerert?

Erfarne systemadministratorer vet at det er nødvendig å gjennomgå og analysere registreringslogger (filer) regelmessig og med spesiell forsiktighet. Informasjonen i loggene hjelper ofte med å raskt løse problemer eller identifisere skjulte problemer i systemkonfigurasjonen. For å spore hendelser av systemet, sjekke logger, registrere, lagre, arkivere og slette informasjon fra disse loggene, må det utvikles og godkjennes spesielle forskrifter for organisasjonen som driver og/eller vedlikeholder systemer, servere og nettverk.

Hovedhendelsesloggingsverktøyet i UNIX og Linu gjenstår fortsatt syslogd daemon Syslog-systemer. Men du bør også huske på at i lang tid, på grunn av variasjonen av ulike grener av UNIX og Linux-versjoner Mange programvarepakker, tjenesteskript og nettverksdemoner bruker sine egne logger, noen ganger med eksotiske formater.

Generelt avskjærer Syslog-systemet (og andre spesialiserte programmer) den overvåkede hendelsen og registrerer den i en loggfil. Selve den registrerte hendelsen er en tekstlinje som inneholder data om dato/klokkeslett, type og alvorlighetsgrad av hendelsen. Avhengig av situasjonen kan dette settet også inneholde andre data. Linjen til selve den registrerte hendelsen brytes opp ved å skille tegn: mellomrom, tabulatorer og skilletegn for å markere de spesifiserte komponentene.

Logger er enkle å se fordi de er vanlige tekstfiler. Til effektivt arbeid med magasiner mest standard verktøy fra den grunnleggende distribusjonen av enhver distribusjon - kommandoer og . Hvis du trenger å gre gjennom veldig store og komplekse logger, kan du (og til og med trenger) i stedet for grep-verktøyet bruke et annet verktøy som er mye mer produktivt og fleksibelt i slike oppgaver - . Tekstbehandlingsspråket Perl er også veldig godt egnet til dette.

En typisk Syslog-systemloggoppføring ser vanligvis slik ut:

18. desember 15:12:42 backup.main.superhosting.ru sbatchd: sbatchd/main: ls_info() mislyktes: LIM er nede; Prøv senere; prøver ... 18. desember 15:14:28 system.main.superhosting.ru pop-proxy: Tilkobling fra 186.115.198.84 18. desember 15:14:30 control.main.superhosting.ru pingem : office.main.superhosting.ru har ikke svart 42 ganger 18. desember 15:15:05 service.main.superhosting.ru vmunix: Flere softerrors: Sett 100Corrected Softerrors fra SIMM J0201 18. desember 15:15:16 backup.main.superhosting) session: (PAMshdunix.ru lukket "for brukertrent

I dette tilfellet kan du se at en av Syslog-loggene inneholder hendelser fra flere kilder: sbathd, pingem, pop-proxy-programmer. Du kan også se at hendelser logges for flere verter som samhandler med dette systemet: backup, system, kontor og tjeneste.

loggfiler og deres plassering i Linux

Som allerede nevnt, i UNIX-systemer og Linux er det ingen klare konvensjoner om hvor og hvordan logger skal lagres. De kan være spredt over hele filsystemet, så det er viktig for hver administrator å umiddelbart forstå hvor og for hvilke pakker og demoner de tilsvarende loggfilene er plassert. Men til tross for mangelen på klare formelle regler for hvor logger lagres, er det fortsatt en tradisjonell regel om at disse filene skal være plassert i /var/log, /var/log/syslog, og også i /var/adm-katalogene.

Som regel er det kun superbrukeren som får tilgang til å lese filer i spesifiserte kataloger, men det er ikke noe galt i å sette opp en mer "demokratisk" tilgangsmodus for ofte viste logger som heller ikke inneholder viktig systeminformasjon. Vanligvis brukes dette alternativet også for enkelhets skyld og for å spare tid når du ofte og regelmessig trenger å undersøke noen logger, for eksempel for Apache-nettserveren, som vanligvis er plassert i /var/log/apache2 eller /var/log/httpd .

Det er også verdt å huske at det er tilfeller når (spesielt ved feilkonfigurasjoner) det totale volumet av loggfiler øker kraftig, og det er stor risiko for å krasje systemet. For å lette overvåking av ledig plass på lagringsenheter, så vel som for pålitelighet, er /var-katalogen ofte plassert i en separat filsystem på en egen seksjon.

Noen spesielle loggfiler

Følgende tabell gir informasjon om noen loggfiler, hvor informasjonen er svært nyttig for systemadministrasjon:

Fil Program Plass Frekvens Systemer Hensikt
sur sur F 64k RZ Strømsystemhendelser
auth.log sudo og andre S M U Autorisasjonsinformasjon
apache2/* httpd eller apache2 F D ZU Apache webserverlogger
passende* APT F M U Pakkeinstallatører
boot.log Start skript F M R Start skriptlogger
boot.msg Kjerne I - Z Kjernemeldingsbufferbilde
cron cron S N RAH Logger og informasjon om cron-demonen
kopper/* KOPPER F N ZRU Meldinger relatert til utskriftssystemet
daemon.log Diverse S N U Demon Tool-meldinger
feilsøke Diverse S D U Feilsøking av meldinger
dmesg Kjerne I - RU Kjernemeldingsbufferbilde
dpkg.log dpkg F M U Pakkeinstallatører
feillogg Logg Inn N N RZU Informasjon om mislykkede autorisasjonsforsøk
apache2/* Httpd eller apache2 F D R Apache-nettserverlogger for /etc-katalogen
kern.log Logg Inn I - RZ Alle meldinger om kjerneverktøy
siste logg Logg Inn I - RZ Siste påloggingstid for hver bruker (denne filen er binær)
post* E-postprogrammer S N Alle Elektronisk kommunikasjon
meldinger Diverse S N RZUS
rpmpkgs cron.daglig I D R Liste over installerte RPM-pakker
samba/* smbd og andre F N - Informasjon om Samba-serveren
sikre sshd og andre S M R Konfidensielle autorisasjonsmeldinger
sulog su F - SAH Informasjon om vellykkede og mislykkede forsøk på å bruke su-kommandoen
syslog* Diverse S H SUH Hovedsystemloggfil
varsle wpar S H Z Systemadvarsel/feilnivåhendelser
wpars/* wpar F - EN Oppstartspartisjonshendelsesinformasjon
wtmp Logg Inn I M Alle Systemregistreringsmeldinger (binær fil)
xen/* Xen F 1m RZU Informasjon fra Xen Virtual Machine Monitor
Xorg.n.log Xorg F N R.S. X Windows Server-feilmeldinger
nam.logg nam F M R Pakkehåndteringslogg

Følgende betegnelser gjelder for denne tabellen: S - Syslog, B - innebygd navn, F - konfigurasjonsfil, D - daglig, N - ukentlig, M - månedlig, NN - størrelse i kilobyte eller megabyte, Z - SUSE, R - Red Hat og CentOS, S - Solaris, H - HP-UX, A - AIX. Frekvens-kolonnen angir hvor ofte utdatert informasjon knyttet til tid eller filstørrelse slettes. Programkolonnen angir programmet som opprettet filen.

Det bør også bemerkes at de fleste meldingene for filene presentert i tabellen sendes til Syslog-systemet. Alvorlighetsnivået og programmet som oppretter filen er spesifisert i /etc/initlog.conf konfigurasjonsfilen. - slik fungerer Syslog-systemet. Feilloggfilen er binær og kan derfor leses av failog-verktøyet.

Hvis du finner en feil, merk en tekst og klikk Ctrl+Enter.