Logwatch: Kraftig System Log Analyzer og Reporter for Linux
Hvis du er systemadministrator, vil du sikkert vide vigtigheden af logfiler såvel som den smerte man går igennem, mens du analyserer dem, især når du har at gøre med en travl server. Heldigvis er der visse værktøjer, der gør livet let for dig, og en af dem er Logwatch, et kommandolinjeværktøj til loganalyse og rapportering i Linux.
I denne artikel vil vi diskutere det grundlæggende i dette værktøj sammen med de funktioner, det giver.
Bemærk : Alle eksempler diskuteret i denne artikel er testet på Ubuntu 14.04 og GNU bash, version 4.3.11 (1). Logwatch er dog tilgængelig for de fleste Linux distroer.
Installation
Logwatch kommandoen findes i opbevaringsstedet for de fleste Linux distro og kan installeres ved hjælp af følgende kommando.
Ubuntu eller Debian-baseret distro:
sudo apt-get install logwatch
eller
sudo yum installer logwatch
for Centos, Fedora eller Redhat-baserede distro.
Du kan også installere den fra kilden fra sin officielle projektside.
Logwatch
Logwatch er grundlæggende rettet mod at hjælpe med systemlogstyring. Det har evnen til at gennemgå dine logfiler i en given periode og lave en rapport på de områder, du ønsker med de detaljer, du ønsker. Her er nogle af eksemplerne, der forklarer brugen af det:
Få oplysninger om alt
Som standard analyserer logwatchværktøjet og rapporterne logfiler i forbindelse med en bred vifte af tjenester. Her er f.eks. Outputen, da kommandoen blev kørt uden nogen muligheder:
Som du kan se, er outputinformationen stor og er ikke praktisk nok til at blive vist på terminalskærmen. Så det er bedst at omdirigere det til en tekstfil for nem visning.
Skærmbilledet ovenfor skal give dig en ide om, hvilken type rapport Logwatch opretter. Overskriften til stede øverst giver dig et abstrakt af kommandos standardkonfiguration. F.eks. "Processing Initiated Field" indeholder oplysninger om dato og klokkeslæt, da kommandoen blev udført, feltet "Datoområde behandlet" indeholder oplysninger om tidsperioden for logfilerne analyseret, feltet "Detailniveau af udgang" indeholder information på detaljeringsniveauet i rapporten, og de to sidste felter indeholder oplysninger om outputformat og lokal vært.
Efter al denne information begynder den egentlige rapport, hvor logs er adskilt på basis af tjenester. For eksempel er den første tjeneste her dpkg status, efterfulgt af Kernel, pam_unix, Connections, sudo og meget mere.
Begræns output til en bestemt tjeneste
Hvis du vil, kan du begrænse kommandoen til en bestemt tjeneste. Dette kan opnås ved at bruge funktionen - service. Her er et eksempel:
Så du kan se, at kommandoen kun producerede en rapport, der er specifik for pam_unix-tjenesten.
Angiv detailniveauet
Kommandoen giver dig også mulighed for at angive detaljeringsniveauet for rapporten ved hjælp af indstillingen --detail
. Argumentet for denne indstilling kan være højt, med eller lavt, hvilket svarer til henholdsvis heltalene 10, 5 og 0.
Som det fremgår af det første eksempel, der er diskuteret i denne artikel, er standarddetaljeniveauet 0. Her er standardudgangen af kommandoen til Kernel-tjenesten:
og her er outputen, når detailniveauet eksplicit blev sat til 10 eller højt:
Så du kan se, da detaljeringsniveauet blev øget fra 0 til 10, steg informationen fra kommandoen også.
Angiv en datointerval
Du kan også angive et datoperiode for at behandle, hvilket betyder, at du kan give kommandoen et tidsinterval for at behandle logposter. Dette kan opnås ved at bruge --range
indstillingen. Fællesområder er i går, i dag og alle. Her er et eksempel:
Send rapporten til en e-mail-adresse
Logwatch kan også sende rapporten til en bestemt e-mail-adresse. Dette kan opnås ved at bruge --mailto
indstillingen. Her er et eksempel:
logwatch - service pam_unix --range alle - detaljer høj - mail til [email protected]
Kommandoen ovenfor sendte rapporten til en e-mail-konto. Du skal sandsynligvis tjekke din spam mappe til e-mailen, da Gmail har markeret det som spam til min e-mail-konto.
For mere information om Logwatch, gå gennem kommandos man side.
Konklusion
Hvis du leder efter et kommandolinjeværktøj, som kan scanne systemlogfiler og præsentere oplysningerne i en læsbar form, skal du prøve Logwatch. Det kan let betragtes som et af de mest nyttige kommandolinjeværktøjer til generel logfileanalyse og filtrering.