Als u een systeembeheerder bent, kent u waarschijnlijk het belang van logbestanden en de pijn die u ondervindt bij het analyseren ervan, vooral als u te maken hebt met een drukke server. Gelukkig zijn er bepaalde hulpmiddelen die je het leven gemakkelijk maken, en een daarvan is Logwatch, een commandoregelhulpmiddel voor loganalyse en rapportage onder Linux.

In dit artikel bespreken we de basis van deze tool, samen met de functies die deze biedt.

Opmerking : alle voorbeelden die in dit artikel worden besproken, worden getest op Ubuntu 14.04 en GNU bash, versie 4.3.11 (1). Logwatch is echter beschikbaar voor de meeste Linux-distro's.

Installatie

De Logwatch-opdracht wordt gevonden in de repository van de meeste Linux-distro en kan worden geïnstalleerd met behulp van de volgende opdracht.

Ubuntu of Debian-gebaseerde distro:

 sudo apt-get install logwatch 

of

 sudo yum installeer logwatch 

voor Centos, Fedora of op Redhat gebaseerde distro.

U kunt het ook vanuit de bron installeren vanaf de officiële projectpagina.

logwatch

Logwatch is in principe gericht op het helpen met systeemlogbeheer. Het heeft de mogelijkheid om uw logboeken voor een bepaalde periode door te nemen en een rapport te maken in de gebieden die u wenst met de details die u wenst. Hier zijn enkele voorbeelden van het gebruik ervan:

Krijg informatie over alles

Standaard analyseert en rapporteert Logwatch-logboeken met betrekking tot een breed scala aan services. Hier is bijvoorbeeld de uitvoer wanneer de opdracht zonder opties werd uitgevoerd:

Zoals u kunt zien, is de uitvoerinformatie groot en niet handig genoeg om op het terminalscherm te worden bekeken. Dus, het is het beste dat je het doorstuurt naar een tekstbestand om het gemakkelijk te kunnen bekijken.

De bovenstaande schermafbeelding zou u een idee moeten geven van het soort rapport dat Logwatch maakt. De koptekst bovenaan geeft een samenvatting van de standaardconfiguratie van het commando. Het veld "Bezig met verwerken geïnitieerd" bevat bijvoorbeeld informatie over de datum en tijd waarop de opdracht is uitgevoerd, het veld "Datumbereik verwerkt" bevat informatie over de tijdsperiode van de geanalyseerde logboeken, het veld "Detailniveau van de uitvoer" bevat informatie op het detailniveau van het rapport en de laatste twee velden bevatten informatie over het uitvoerformaat en de lokale host.

Na al deze informatie begint het eigenlijke rapport, waarbij logs gescheiden worden op basis van services. De eerste service hier is bijvoorbeeld de dpkg-status, gevolgd door Kernel, pam_unix, Connections, sudo en meer.

Beperk de uitvoer naar een bepaalde service

Als u wilt, kunt u de uitvoer van de opdracht beperken tot een bepaalde service. Dit kan worden bereikt door de optie --service gebruiken. Hier is een voorbeeld:

U kunt dus zien dat de opdracht alleen een rapport produceerde dat specifiek was voor de pam_unix-service.

Geef het detailniveau op

Met de opdracht kunt u ook het detailniveau van het rapport opgeven met de optie --detail . Het argument voor deze optie kan hoog, med of laag zijn, wat overeenkomt met de gehele getallen 10, 5 en 0, respectievelijk.

Zoals duidelijk is uit het eerste voorbeeld dat in dit artikel wordt besproken, is het standaard detailniveau 0. Hier is de standaarduitvoer van de opdracht voor de kernel service:

en hier is de uitvoer wanneer het detailniveau expliciet was ingesteld op 10 of hoog:

U ziet dus dat naarmate het detailniveau toenam van 0 naar 10, de informatie die door het commando werd geproduceerd, ook toenam.

Geef een datumbereik op

U kunt ook een te bewerken datumbereik specificeren, wat betekent dat u de opdracht een tijdsperiode kunt geven voor het verwerken van logboekitems. Dit kan worden bereikt door de optie --range gebruiken. Algemene bereiken zijn Gisteren, Vandaag en Alles. Hier is een voorbeeld:

Verzend het rapport naar een e-mailadres

Logwatch is ook in staat om het rapport naar een bepaald e-mailadres te mailen. Dit kan worden bereikt door de optie --mailto gebruiken. Hier is een voorbeeld:

 logwatch --service pam_unix --range all --detail high --mailto [email protected] 

De bovenstaande opdracht stuurde het rapport naar een e-mailaccount. U moet waarschijnlijk de map Spam voor de e-mail controleren omdat Gmail deze heeft gemarkeerd als spam voor mijn e-mailaccount.

Ga voor meer informatie over Logwatch door de manpagina van het commando.

Conclusie

Als u op zoek bent naar een opdrachtregelprogramma dat systeemlogbestanden kan scannen en de informatie in een voor mensen leesbare vorm kan presenteren, kunt u Logwatch proberen. Het kan gemakkelijk worden beschouwd als een van de handigste opdrachtregelprogramma's voor het parseren en filteren van logbestanden voor algemene doeleinden.