Kennisbank Eenvoudige instructies om met de Profitserver-service te werken
Hoofd Kennisbank Hoe Linux-logs te lezen en waar ze te vinden zijn

Hoe Linux-logs te lezen en waar ze te vinden zijn


Wanneer u problemen ondervindt met de prestaties van uw server, is het eerste wat u wilt doen: controleer uw Linux-logsIn het systeemlogboek vindt u nuttige diagnostische berichten van verschillende onderdelen van het besturingssysteem, zoals de kernel of verschillende services. De kans is groot dat u daar de oorzaak van de fout vindt.

Elk bericht in het log wordt gegenereerd als resultaat van bepaalde gebeurtenissen in het besturingssysteem: van de gebruiker, autorisatie tot service shutdown of applicatie failure. Deze gebeurtenissen hebben verschillende prioriteiten, afhankelijk van hoe kritisch ze zijn. Er zijn de volgende typen gebeurtenissen in Linux:

  1. emerg - mislukking, hoogste prioriteit;
  2. alert - dringende waarschuwing;
  3. crit - kritieke gebeurtenis;
  4. err - gewone fout;
  5. warn - gewone waarschuwing;
  6. notice - kennisgeving;
  7. info - informatiebericht;
  8. debug - foutopsporingsinformatie;

Op dit moment zijn de belangrijkste log-harvestingservices in Linux: rsyslog en systemd-journalZe worden meegeleverd met de meeste moderne distributiepakketten en werken onafhankelijk.

rsyslog

Logboeken van deze service bevinden zich in “/ var / log /” map in de vorm van gewone tekstbestanden. Logberichten worden in verschillende bestanden geplaatst, afhankelijk van het type gebeurtenis. Bijvoorbeeld, “/var/log/auth.log"bevat informatie over de autorisatie van gebruikers in het systeem, en"/var/log/kern.log” bevat kernelberichten. Bestandsnamen kunnen verschillen tussen distributiepakketten, dus laten we eens kijken naar het configuratiebestand om een ​​idee te krijgen van wat waar staat “/etc/rsyslog.d/50-default.conf'.

Download rsyslog voor Linux

Deze regels geven weer welk bestand elk type logberichten bevat. Het linkerdeel geeft het type bericht weer in de volgende vorm "[Bron].[Prioriteit]" en het rechterdeel toont de naam van het logbestand. Tijdens het schrijven van het type bericht "*” kan worden toegevoegd aan. Het betekent lege waarde of “geen", waardoor het van de lijst wordt verwijderd. Laten we de eerste twee regels eens nader bekijken.

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

De eerste regel houdt in dat alle berichten die van het autorisatiemechanisme worden ontvangen, worden vastgelegd in “/var/log/auth.log” bestand. Alle autorisatiepogingen (zowel geslaagd als mislukt) worden in dit bestand geregistreerd. De tweede regel geeft aan dat alle berichten, behalve berichten die met autorisatie te maken hebben, worden geregistreerd in “/ Var / log / syslog” bestand. Deze twee bestanden zijn meestal het populairst. De volgende regels definiëren het pad om kernellogs op te slaan “kern.*" en mail service logs "mail.*"

Logbestanden kunnen worden geopend met behulp van elke teksteditor, zoals minder, hoe, staartLaten we de "/var/log/auth.log" bestand

less /var/log/auth.log
Gebruik een verbinding met SSH

Elke regel van het bestand is een apart bericht dat is ontvangen van de applicatie of service. Alle berichten, ongeacht hun bron, hebben één formaat en bestaan ​​uit 5 delen. Laten we het gemarkeerde bericht in de schermafbeelding als voorbeeld nemen.

  1. Tijdstempel bericht - "12 feb 06:18:33"
  2. Naam van de computer die het bericht heeft verzonden - "vds"
  3. Naam van de applicatie of service die het bericht heeft verzonden - "sshd"
  4. Proces-ID - [653]
  5. Berichttekst - "Wachtwoord voor mihail geaccepteerd vanaf 188.19.42.165 poort 2849 ssh2"

Dit was een voorbeeld van een succesvolle verbinding met SSH.

En dit is hoe een mislukte inlogpoging eruitziet:

Linux-thema

Dit bestand registreert ook opdrachten met geavanceerde machtigingen

Gebruik een Linux-versie

Laten we de / Var / log / syslog filet

Een gemarkeerd bericht op de schermafbeelding is het bericht over het afsluiten van de netwerkinterface.

Logorotate-uitgave

Voor het zoeken naar informatie in lange tekstbestanden gebruikt u grep hulpprogramma. U kunt alle berichten vinden die u van ons hebt ontvangen pptpd dienst in de “/ Var / log / syslog" het dossier.

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

Tijdens de diagnostiek kunt u gebruik maken van staart hulpprogramma dat de laatste regels van een bestand kan weergeven. Opdracht “tail -f / var / log / syslog” kunt u de logboekregistratie in realtime bekijken.

De dienst rsyslog is erg flexibel en krachtig. Het kan worden gebruikt voor het oogsten van logs in lokale systemen en op ondernemingsniveau. U kunt de volledige documentatie vinden op de officiële website https://www.rsyslog.com/

Rotatie van logs in Linux

Logboekregistratie vindt continu plaats, dus de grootte van de bestanden groeit voortdurend. Rotatiemechanisme zorgt voor automatische archivering van oude logs en het maken van nieuwe bestanden. Afhankelijk van de regels kan dit dagelijks, wekelijks, maandelijks of op basis van de groottelimiet gebeuren. Naarmate er nieuwe logs worden gemaakt, kunnen oude logs gewoon worden verwijderd of per e-mail worden verzonden. Logrotatie wordt uitgevoerd door logrotate hulpprogramma. U vindt de hoofdconfiguratie in “/etc/logrotate.conf” bestand. Bestandsinhoud wordt ook verwerkt in “/etc/logrotate.d/"map

Nieuwe regels kunnen worden vastgelegd in het hoofdconfiguratiebestand. Het is echter het beste om een ​​apart bestand te maken in "/etc/logrotate.d/Standaard staan ​​er een paar bestanden in deze map

Uw bedrijf in Линукс

Laten we eens kijken naar het bestand "/etc/logrotate.d/rsyslog" die rotatieregels bevat voor logs van de rsyslog service te halen.

Gebruik pptpd in лог-файлах

Eerst moet de regel het pad naar het logbestand bevatten en daarna moeten alle richtlijnen tussen gebogen haakjes staan.

  • draaien 7 - aantal te bewaren bestanden - 7
  • dagelijks - maak elke dag een nieuw bestand aan
  • samendrukken - oude bestanden comprimeren en archiveren
De beste manier om dit te doen

Op de schermafbeelding kunt u zien dat in de "/ var / log /” map bevat het hoofdlogboek “syslog” en 7 archieven, wat overeenkomt met de regels in het configuratiebestand.

Een meer gedetailleerde beschrijving van logrotate vindt u in de handleiding, door de "man logrotate" commando

Linux-logs verzamelen - journald

Dienst voor het oogsten van boomstammen systemd-journal is een onderdeel van het initialisatiesysteem systemd. Linux-logbestanden worden opgeslagen in "/var/log/dagboek/"in een speciaal formaat en kan worden geopend met behulp van journalctl hulpprogramma. Records-indeling is exact hetzelfde als in rsyslog.

commando journalctl zonder attributen toont alle records, maar is niet geschikt voor grotere logs. Laten we eens kijken naar enkele opties van dit hulpprogramma.

  • journalctl -b - toon alle records sinds de laatste start
  • journalctl -S "2020-02-17 12:00" -U "2020-02-17 12:10" - toon record binnen een bepaalde tijdsperiode
  • journalctl -u pptpd - gegevens van een bepaalde dienst weergeven
  • journalctl -k - kernelberichten weergeven
  • journalctl -p err - berichten met een bepaalde prioriteit weergeven, in dit geval berichten met een hogere prioriteit (crit, alert, emerg)
  • journalctl -f - berichten in realtime weergeven

Voor meer flexibiliteit kunt u deze opties combineren. Laten we alle fouten van de pptpd service

journalctl -u pptpd -p err
laatste keer

Als u het pad naar het uitvoerbare bestand als kenmerk opgeeft, toont het hulpprogramma alle berichten die door dit bestand zijn verzonden. Laten we alle berichten weergeven die door het bestand zijn verzonden "/usr/bin/sudo"sinds 04:15 op 18 februari 2020. Het zal in feite alle opdrachten tonen die met hogere rechten zijn uitgevoerd.

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

Om erachter te komen hoeveel schijfruimte logbestanden in beslag nemen, voert u de volgende opdracht uit

journalctl --disk-usage

Om het logbestand te beperken tot 1 GB voert u de volgende opdracht uit

journalctl --vacuum-size=1G

Binaire bestanden openen

Laten we nu eens kijken naar enkele speciale bestanden in de "/ var / log /” map waar alle inlogpogingen worden opgeslagen. Deze bestanden zijn binair en kunnen alleen met speciale programma's worden geopend.

/ var / log / wtmp bevat informatie over succesvolle inlogpogingen. Gebruik last utility om het te openen.

vertaling lastlog

/var/log/btmp - bevat alle mislukte inlogpogingen. Kan worden geopend met lastb met geavanceerde rechten. Attribuut -n definieert het aantal regels dat vanaf het einde van het bestand wordt weergegeven.

/var/log/loadlog - bevat de tijd van de laatste inlogactie voor elk accountrecord. Het kan worden geopend met laatste logboek

❮ Vorig artikel Hoe netwerkinterfaces in CentOS te configureren
Volgend artikel ❯ Linux-teksteditors

Vraag ons over VPS

Wij staan ​​altijd klaar om uw vragen te beantwoorden, op elk moment van de dag of nacht.