Linux Logging Basics

besturingssysteem logs bieden een schat aan diagnostische informatie over uw computer, en Linux is geen uitzondering. Alles, van kernelgebeurtenissen tot gebruikersacties, wordt door Linux geregistreerd, zodat je bijna elke actie op je servers kunt zien. In deze sectie zullen we uitleggen wat Linux logs zijn, waar je ze kunt vinden en hoe je ze kunt interpreteren.

Linux systeemlogs

Linux heeft een speciale map voor het opslaan van logs genaamd /var/log., Deze map bevat logs van het besturingssysteem zelf, services en verschillende toepassingen die op het systeem draaien. Hier is hoe deze directory eruit ziet op een typisch Ubuntu-systeem.

enkele van de belangrijkste Linux systeemlogboeken zijn:

  • /var/log/syslog en /var/log/messages slaan alle globale systeemactiviteitsgegevens op, inclusief opstartberichten. Debian – gebaseerde systemen zoals Ubuntu slaan dit op in /var/log/syslog, terwijl Red Hat-gebaseerde systemen zoals RHEL of CentOS /var/log/messagesgebruiken.,
  • /var/log/auth.log en /var/log/secure sla alle beveiligingsgerelateerde gebeurtenissen op, zoals logins, root-gebruikersacties en uitvoer van pluggable authentication modules (PAM). Ubuntu en Debian gebruiken /var/log/auth.log, terwijl Red Hat en CentOS /var/log/securegebruiken.
  • /var/log/kern.log slaat kernelgebeurtenissen, fouten en waarschuwingslogboeken op, die bijzonder nuttig zijn voor het oplossen van problemen met aangepaste kernels.
  • /var/log/cron slaat informatie op over geplande taken (cron-taken)., Gebruik deze gegevens om te controleren of uw cron-taken succesvol worden uitgevoerd.

sommige toepassingen schrijven ook logbestanden in deze map. Bijvoorbeeld, de Apache webserver schrijft logs naar de/var/log/apache2 map (op Debian), terwijl MySQL logs schrijft naar de/var/log/mysql map. Sommige toepassingen loggen ook via syslog, wat we in de volgende sectie zullen uitleggen.
syslog

Wat is Syslog?

Syslog is een standaard voor het maken en verzenden van logs. Het woord “syslog” kan verwijzen naar een van de volgende.,

  1. de syslog-service, die syslog-berichten ontvangt en verwerkt. Het luistert naar gebeurtenissen door een socket aan te maken op /dev/log, waar applicaties naar kunnen schrijven. Het kan berichten schrijven naar een lokaal bestand of berichten doorsturen naar een externe server. Er zijn verschillende syslog implementaties waaronder rsyslogd en syslog-ng.
  2. het syslog-protocol (RFC 5424), een transportprotocol dat specificeert hoe logs over een netwerk worden verzonden. Het is ook een dataformaat dat bepaalt hoe berichten worden gestructureerd., Standaard gebruikt het poort 514 voor berichten in platte tekst en poort 6514 voor versleutelde berichten.
  3. een syslog-bericht, wat een log is die is opgemaakt in het syslog-berichtformaat. Een syslog-bericht bestaat uit een gestandaardiseerde header en een bericht dat de inhoud van het logboek bevat.

omdat syslog berichten kan doorsturen naar externe servers, wordt het vaak gebruikt om systeemlogs door te sturen naar logbeheeroplossingen zoals SolarWinds® Loggly® en SolarWinds Papertrail™.

Syslog-indeling en velden

Syslog-berichten bevatten een gestandaardiseerde header met meerdere velden., Deze omvatten de tijdstempel, de naam van de toepassing die de gebeurtenis heeft gegenereerd, de locatie in het systeem waar het bericht is ontstaan en de prioriteit ervan. U kunt dit formaat wijzigen in het configuratiebestand van uw syslog-implementatie, maar het gebruik van het standaardformaat maakt het gemakkelijker om syslog-gebeurtenissen te ontleden, te analyseren en te routeren.

Hier is een voorbeeld van een logboekbericht in het standaardformaat. Het is van de SSHD daemon, die remote logins op het systeem regelt., Dit bericht beschrijft een mislukte aanmeldpoging:

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

dit genereert de volgende log:

hieronder vindt u beschrijvingen van enkele van de meest gebruikte syslog-velden bij het zoeken of oplossen van problemen.

tijdstempel

het veld tijdstempel geeft de tijd en datum aan waarop het bericht is gegenereerd op het systeem dat het bericht verzendt. Het voorbeeld tijdstempel breekt als volgt af:

  • “2019-06-05” is het jaar, de maand en de dag.
  • ” T ” is een vereist element van het veld tijdstempel, dat de datum en de tijd scheidt.,
  • “22: 14: 15.003″is het 24-uursformaat van de tijd, inclusief het aantal milliseconden (003).
  • ” Z ” geeft UTC-tijd aan. In plaats van z had het voorbeeld een offset kunnen bevatten, zoals -08: 00, wat aangeeft dat de tijd met acht uur ten opzichte van UTC wordt verschoven.

Hostname

het veld hostname (“server1” in het voorbeeld hierboven) geeft de naam aan van de host of het systeem dat het bericht oorspronkelijk heeft verzonden.

App-Naam

het veld app-naam (“sshd:auth” in het voorbeeld) geeft de naam aan van de toepassing die het bericht heeft verzonden.,

prioriteit

het prioriteitsveld of pri voor kort (“<34> ” in het voorbeeld hierboven) geeft aan hoe dringend of ernstig de gebeurtenis is. Het is een combinatie van twee numerieke velden: de faciliteit en de ernst. De faciliteit specificeert het type proces dat de gebeurtenis heeft gemaakt, variërend van 0 voor kernelberichten tot 23 voor lokale toepassingen. De ernst varieert van 0-7, waarbij 0 een noodsituatie aangeeft en 7 een foutopsporingsgebeurtenis aangeeft.

Pri kan op twee manieren worden uitgevoerd., De eerste is als een enkel getal, prival, die wordt berekend als de facility field waarde vermenigvuldigd met acht, dan wordt het resultaat toegevoegd aan de ernst veld waarde: (faciliteit)(8) + (ernst). De tweede is pri-text, die zal worden uitgevoerd in de string format “faciliteit.ernst”. De laatste indeling kan vaak gemakkelijker te lezen en te zoeken, maar neemt meer opslagruimte.

Logging met Systemd

veel Linux-distributies worden geleverd met systemd, wat een proces-en service-manager is. Systemd implementeert zijn eigen logging service genaamd journald die syslog kan vervangen of aanvullen., Journald logs op een aanzienlijk andere manier dan systemd, dat is waarom het heeft zijn eigen sectie in de Ultimate Guide to Logging. U kunt meer informatie over loggen via systemd in de Systemd Logging sectie.

Share

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *