Linu. Logging Basics

operativsystem logs giver et væld af diagnostiske oplysninger om din computer, og Linu. er ingen undtagelse. Alt fra kernehændelser til brugerhandlinger logges af Linu., så du kan se næsten enhver handling udført på dine servere. I dette afsnit forklarer vi, hvad Linu. – logfiler er, hvor du kan finde dem, og hvordan du fortolker dem.

Linu.System Logs

Linu. har en særlig mappe til lagring logs kaldet /var/log., Denne mappe indeholder logfiler fra OS selv, tjenester og forskellige applikationer, der kører på systemet. Sådan ser denne mappe ud på et typisk Ubuntu-system.

Nogle af de vigtigste Linux-system logs er:

  • /var/log/syslog og /var/log/messages gemme alle globale data for systemaktivitet, herunder start-beskeder. Debian-baserede systemer, som Ubuntu gemme dette i /var/log/syslog, mens Red Hat-baserede systemer som RHEL eller CentOS bruge /var/log/messages.,
  • /var/log/auth.log og /var/log/secure gem alle sikkerheds-relaterede begivenheder som logins, root brugerens handlinger, og output fra pluggable authentication modules (PAM). Ubuntu og Debian-brug /var/log/auth.log, mens Red Hat og CentOS bruge /var/log/secure.
  • /var/log/kern.log gemmer kernehændelser, fejl og advarselslogfiler, som er særligt nyttige til fejlfinding af brugerdefinerede kerner.
  • /var/log/cron gemmer oplysninger om planlagte opgaver (cron-job)., Brug disse data til at kontrollere, at dine cron-job kører med succes.

Nogle programmer skriver også logfiler i denne mappe. For eksempel skriver Apache-webebserveren logfiler til /var/log/apache2 – mappen (på Debian), mens Mys .l skriver logfiler til /var/log/mysql – mappen. Nogle applikationer logger også via syslog, som vi forklarer i næste afsnit.
syslog

Hvad er Syslog?

Syslog er en standard til oprettelse og transmission af logfiler. Ordet “syslog” kan henvise til et af følgende.,

  1. syslog-tjenesten, som modtager og behandler syslog-meddelelser. Det lytter til begivenheder ved at oprette en stikkontakt placeret på /dev/log, hvilke applikationer kan skrive til. Det kan skrive beskeder til en lokal fil eller videresende beskeder til en ekstern server. Der er forskellige syslog implementeringer, herunder rsyslogd og syslog-ng.
  2. syslog-protokollen (RFC 5424), som er en transportprotokol, der angiver, hvordan logfiler overføres via et netværk. Det er også et dataformat, der definerer, hvordan meddelelser er struktureret., Som standard bruger den port 514 til klartekst-meddelelser og port 6514 til krypterede meddelelser.
  3. en syslog besked, som er en log formateret i syslog besked format. En syslog besked består af en standardiseret header og besked, der indeholder logens indhold.

Da syslog kan sende beskeder til eksterne servere, er det ofte bruges til at sende system logs til log management løsninger som SolarWinds® Loggly® og SolarWinds Papertrail™.

Syslog-Format og felter

Syslog-meddelelser indeholder en standardiseret overskrift med flere felter., Disse inkluderer tidsstempel, navnet på den applikation, der genererede begivenheden, placeringen i det system, hvor meddelelsen stammer fra, og dens prioritet. Du kan ændre dette format i din syslog-implementerings konfigurationsfil, men ved hjælp af standardformatet gør det lettere at analysere, analysere og rute syslog-begivenheder.

Her er et eksempel log besked ved hjælp af standardformatet. Det er fra SSHD-dæmonen, som styrer fjernlogins til systemet., Denne meddelelse beskriver en mislykkede login-forsøg:

Jun 4 22:14:15 server1 sshd : Failed password for root from 10.0.2.2 port 22 ssh2
<%pri%>%protocol-version% %timestamp:::date-rfc3339% %HOSTNAME% %app-name% %procid% %msgid% %msg%n

Dette genererer følgende logfil:

Nedenfor finder du beskrivelser af nogle af de mest almindeligt anvendte syslog felter, når du søger eller fejlfinding af problemer.

tidsstempel

tidsstempelfeltet angiver tid og dato for, hvornår meddelelsen blev genereret på det system, der sendte meddelelsen. Eksemplet tidsstempel bryder ned som dette:

  • “2019-06-05″er året, måneden og dagen.
  • “T” er et påkrævet element i tidsstempelfeltet, der adskiller dato og klokkeslæt.,
  • “22: 14: 15.003″er 24-timers formatet af tiden, herunder antallet af millisekunder (003).
  • “Z” angiver UTC-tid. I stedet for z kunne eksemplet have inkluderet en forskydning, såsom -08: 00, hvilket indikerer, at tiden er forskudt fra UTC med otte timer.

værtsnavn

feltet værtsnavn (“server1” i eksemplet ovenfor) angiver navnet på den vært eller det system, der oprindeligt sendte meddelelsen.

App-navn

feltet app-navn (“sshd:auth” i eksemplet) angiver navnet på det program, der sendte meddelelsen.,prioritet

prioritet

prioritetsfeltet eller pri kort (“<34> ” i eksemplet ovenfor) fortæller dig, hvor presserende eller alvorlig begivenheden er. Det er en kombination af to numeriske felter: faciliteten og sværhedsgraden. Faciliteten specificerer den type proces, der skabte begivenheden, lige fra 0 for kernemeddelelser til 23 for lokale applikationer. Sværhedsgraden varierer fra 0-7, med 0 angiver en nødsituation og 7 angiver en debug begivenhed.

Pri kan udskrives på to måder., Den første er som et enkelt tal, privat, der beregnes som facilitetsfeltværdien multipliceret med otte, så tilføjes resultatet til sværhedsfeltværdien: (facilitet) (8) + (sværhedsgrad). Den anden er pri-tekst, som vil output i strengen format “facilitet.sværhedsgrad”. Sidstnævnte format kan ofte være lettere at læse og søge, men optager mere lagerplads.

logning med Systemd

mange Linu. – distributioner leveres med systemd, som er en proces-og servicemanager. Systemd implementerer sin egen logning tjeneste kaldet journald, der kan erstatte eller supplere syslog., Journald logger på en markant anden måde end systemd, hvorfor det har sit eget afsnit i Ultimate Guide to Logging. Du kan få mere at vide om logning via systemd i afsnittet Systemd logning.

Share

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *