De System log daemon is verantwoordelijk voor het loggen van de systeemberichten gegenereerd door applicaties of kernel. De systeemlog daemon ondersteunt ook het loggen op afstand. De boodschappen zijn gedifferentieerd naar faciliteit en prioriteit. In principe zijn de logs die door syslog worden verwerkt beschikbaar in de/var/ log / directory op Linux systeem:
# ls /var/logacpid cron.1 maillog.3 rpmpkgs.3 spooler.3anaconda.log cron.2 maillog.4 rpmpkgs.4 spooler.4anaconda.syslog cron.3 messages sa squidanaconda.xlog cron.4 messages.1 samba tallylogaudit cups messages.2 scrollkeeper.log vboxboot.log dmesg messages.3 secure wtmpboot.log.1 faillog messages.4 secure.1 Xorg.0.logboot.log.2 gdm oracle-validated secure.2 Xorg.0.log.oldboot.log.3 httpd pm secure.3 YaST2boot.log.4 lastlog ppp secure.4 yum.logbtmp mail prelink setroubleshootconman maillog rpmpkgs spoolerconman.old maillog.1 rpmpkgs.1 spooler.1cron maillog.2 rpmpkgs.2 spooler.2
waar sommige logs worden gedumpt onder een subdirectory zoals cups, samba, httpd. Onder de logs onder / var /log is de/var/log / messages de meest voorkomende omdat de kernel / core systeem logs daar bewaard worden. De kernelmodules dumpen daar meestal ook. Dus, voor Probleemdiagnose / monitoring is /var / log / messages het primaire logbestand om te onderzoeken.
De systeemlog daemon / service en het configuratiebestand verschilt afhankelijk van de gebruikte versie van Linux, d.w.z.:
RHEL 5: syslogd - /etc/syslog.confRHEL 6: rsyslogd - /etc/rsyslog.conf
Rsyslog
Rsyslog is de nieuwe logging daemon die rhel6 start om te concurreren met de oude syslog-ng daemon. Enkele voordelen die rsyslog daemon biedt via syslog-ng zijn:
1. Betrouwbaar netwerk
– Rsyslog gebruikt TCP in plaats van UDP, wat betrouwbaarder is. TCP maakt gebruik van de mogelijkheden voor bevestiging en doorgifte.
– Met de rsyslog daemon kunt u meerdere doelhosts/bestanden opgeven voor de bezorging van berichten als rsyslogd niet in staat is om een bericht naar een bepaalde bestemming af te leveren.
2. Precisie
– Het is mogelijk om berichten te filteren op elk deel van het Logbericht in plaats van de prioriteit van het bericht en de oorspronkelijke faciliteit.
– ondersteuning voor precieze tijdstempels om berichten te loggen die de syslog-daemon bevat.
3. Andere functies
– TLS-encryptie
– mogelijkheid om te loggen naar SQL-databases.
rsyslog.conf
het configuratiebestand- / etc / rsyslog.conf voor de rsyslogd daemon wordt gebruikt om alle berichten af te handelen. Het instellingenbestand bevat in principe regels die op hun beurt 2 dingen bevatten :
– welke berichten overeenkomen.
– selector bestaat uit een faciliteit en prioriteit gescheiden door een punt (.) (bijv. mail.info)
2. acties
– wat te doen met overeenkomende berichten
– meestal een bestemming om het bericht te loggen (bestand op een lokale machine of een externe host)
Selectors en acties
Selectors bestaan uit 2 dingen faciliteiten en prioriteiten. Ze geven aan welke berichten overeenkomen. Het veld actie geeft aan welke actie moet worden toegepast op het overeenkomende bericht. Bijvoorbeeld:
kern.debug /var/log/kernlog
– de berichten met een kernel-en priority debug-faciliteit worden ingelogd in het bestand /var/log/kernlog.
– priority statements zijn hiërarchisch in selectors. Rsyslog komt overeen met alle berichten met opgegeven prioriteit en hoger. Dus alle berichten van kernel met prioriteit debug en hoger worden gelogd. Debug is de LAAGSTE prioriteit voor alle berichten met facility kern.
– Een andere manier om dit te doen is door het sterretje (*) te gebruiken. Bijvoorbeeld:
kern.* /var/log/kernlog
– meerdere selectors kunnen worden opgegeven op een enkele regel gescheiden door puntkomma ‘ s. Dit is handig wanneer dezelfde actie moet worden toegepast op meerdere berichten.
– Wanneer een bestand wordt weergegeven in het actieveld, worden de overeenkomende berichten in het bestand geschreven.
– er kunnen andere apparaten zijn zoals FIFO, terminal etc om de berichten naar te schrijven.
– als een gebruikersnaam wordt weergegeven in het actieveld, worden de overeenkomende berichten afgedrukt naar de gebruikers alle terminals als ze zijn aangemeld.
– ( * ) in het actieveld specificeert
faciliteiten
de faciliteit wordt gebruikt om aan te geven welk type programma of toepassing het bericht genereert. Dus de syslog daemon inschakelen om verschillende bronnen anders te behandelen. De onderstaande tabel geeft een overzicht van de standaardfaciliteiten en hun beschrijving :
Facility | Description |
---|---|
auth/authpriv | security/authorization messages (private) |
cron | clock daemon (crond and atd messages) |
daemon | messages from system daemons without separate facility |
kern | kernel messages |
local0 – local7 | reserved for local use |
lpr | line printer subsystem |
messages from mail daemons | |
news | USENET nieuws subsysteem |
syslog | intern gegenereerde berichten door systeemlogdaemon | gebruiker | generieke berichten op gebruikersniveau | uucp | UUCP subsysteem |
prioriteit
de prioriteit van een bericht geeft het belang van dat bericht aan. Onderstaande tabel geeft een overzicht van de standaardprioriteiten en hun betekenis :
Priority | Description |
---|---|
emerg | system is unusable |
alert | action must be taken immediately |
crit | critical conditions |
err | error conditions |
warning | warning conditions |
notice | normal but significant importance |
info | informational messages |
debug | debugging messages |
Log Rotation
logbestanden groeien regelmatig overuren en daarom moeten ze regelmatig worden bijgesneden. Linux biedt een hulpprogramma om deze functionaliteit te bieden zonder tussenkomst van de gebruiker. Het logrotate programma kan worden gebruikt om de rotatie van het logbestand te automatiseren. De basis logrotate configuratie wordt gedaan in het configuratiebestand /etc/logrotate.conf. In het configuratiebestand kunnen we opties instellen zoals-hoe vaak logs moeten worden geroteerd en hoeveel oude logs moeten worden bewaard.
# cat /etc/logrotate.confweeklyrotate 4createinclude /etc/logrotate.d/var/log/wtmp { monthly minsize 1M create 0664 root utmp rotate 1}
volgens het bovenstaande logrotate configuratiebestand worden de logboeken elke week geroteerd (de bestaande log wordt hernoemd naar bestandsnaam.aantal volgorde):
minsize 1M-logrotate draait en trimt de berichten bestanden als de bestandsgrootte gelijk is aan of groter is dan 1 MB.
roteren 4-bewaar de meest recente 4 bestanden tijdens het roteren.
create: Maak een nieuw bestand aan tijdens het roteren met opgegeven rechten en eigendom.
include-voeg de hier genoemde bestanden toe voor de daemon specifieke log rotatie instellingen.
# ls -l /var/log/messages*-rw------- 1 root root 1973 Jun 10 15:07 /var/log/messages-rw------- 1 root root 10866 Jun 6 04:02 /var/log/messages.1-rw------- 1 root root 19931 May 30 04:02 /var/log/messages.2-rw------- 1 root root 238772 May 23 04:02 /var/log/messages.3-rw------- 1 root root 171450 May 14 18:29 /var/log/messages.4
– De logrotate daemon leest voornamelijk alle instellingen uit het bestand /etc/logrotate.conf en bevat dan daemon specifieke configuratiebestanden uit /etc / logrotate.d / directory.
– De logrotate daemon staat samen met rotatie en verwijdering van oude logboeken compressie van logbestanden toe.
– de daemon draait dagelijks vanuit /etc / cron.dagelijks / logrotaat.
Logwatch
– RHEL-systemen worden ook geleverd met logwatch-pakketten.
– Logwatch wordt gebruikt om de logs te analyseren om interessante berichten te identificeren.
– Logwatch kan worden geconfigureerd om logbestanden van populaire services en e-mailbeheerder de resultaten te analyseren.
– Het kan worden geconfigureerd op uur – of nachtbasis voor elke verdachte activiteit. Standaard in een RHEL systeem, het wordt uitgevoerd op nachtelijke basis en rapport wordt gemaild naar root gebruiker.