Swatchdog - Enkel loggfilovervåking i sanntid i Linux
Swatchdog ("Simple WATCH DOG ") er et enkelt Perl-skript for å overvåke aktive loggfiler på Unix-lignende systemer som Linux. Den overvåker loggene dine basert på regulære uttrykk som du kan definere i en konfigurasjonsfil. Du kan kjøre den fra kommandolinjen eller i bakgrunnen, løsrevet fra hvilken som helst terminal ved å bruke daemon-modus-alternativet.
Merk at programmet opprinnelig ble kalt swatch ("Simple Watcher "), men en forespørsel fra det gamle sveitsiske klokkeselskapet om navneendring førte til at utvikleren endret navn til swatchdog.
Les også: 4 gode loggovervåkings- og administrasjonsverktøy for åpen kildekode for Linux
Viktigere er at swatchdog har vokst fra et skript for å se logger produsert av Unixs syslog-anlegg, og det kan overvåke omtrent alle typer logger.
Hvordan installere Swatch i Linux
Pakken swatchdog er tilgjengelig for installasjon fra de offisielle depotene til mainstream Linux-distribusjoner som en pakke "swatch" via en pakkebehandling som vist.
sudo apt install swatch [On Ubuntu/Debian]
sudo yum install epel-release && sudo yum install swatch [On RHEL/CentOS]
sudo dnf install swatch [On Fedora 22+]
For å installere den nyeste versjonen av swatchdog, må du kompilere den fra kilden ved å bruke følgende kommandoer i enhver Linux-distribusjon.
git clone https://github.com/ToddAtkins/swatchdog.git
cd swatchdog/
perl Makefile.PL
make
sudo make install
sudo make realclean
Når du har installert swatch, må du opprette konfigurasjonsfilen (standardplasseringen er /home/$USER/.swatchdogrc eller .swatchrc ), for å bestemme hvilke typer uttrykksmønstre du skal se etter og hvilken type handling(er) som skal utføres når et mønster matches.
touch /home/tecmint/.swatchdogrc
OR
touch /home/tecmint/.swatchrc
Legg til det regulære uttrykket ditt i denne filen, og hver linje skal inneholde et nøkkelord og en verdi (noen ganger valgfritt), atskilt med et mellomrom eller et likt (=)
-tegn. Du må spesifisere et mønster og en handling(er) som skal utføres når et mønster matches.
Vi vil bruke en enkel konfigurasjonsfil, du kan for eksempel finne flere alternativer på swatchdog-man-siden.
watchfor /sudo/
echo red
[email , subject="Sudo Command"
Her er vårt regulære uttrykk en bokstavelig streng – “sudo”, betyr at enhver gang strengen sudo dukket opp i loggfilen, vil bli skrevet ut til terminalen i rød tekst og mail spesifiserer handlingen som skal utføres, som er å gjenta det matchede mønsteret på terminalen og sende en e-post til den spesifiserte adressen mottakelig.
Etter at du har konfigurert den, leser swatchdog /var/log/syslog-loggfilen som standard, hvis denne filen ikke er til stede, leser den /var/log/messages.
swatch [On RHEL/CentOS & Fedora]
swatchdog [On Ubuntu/Debian]
Du kan spesifisere en annen konfigurasjonsfil ved å bruke -c
-flagget som vist i følgende eksempel.
Opprett først en fargeprøvekonfigurasjonskatalog og en fil.
mkdir swatch
touch swatch/secure.conf
Deretter legger du til følgende konfigurasjon i filen for å overvåke mislykkede påloggingsforsøk, mislykkede SSH-påloggingsforsøk, vellykkede SSH-pålogginger fra /var/log/secure-loggfilen.
watchfor /FAILED/
echo red
[email , subject="Failed Login Attempt"
watchfor /ROOT LOGIN/
echo red
[email , subject="Successful Root Login"
watchfor /ssh.*: Failed password/
echo red
[email , subject="Failed SSH Login Attempt"
watchfor /ssh.*: session opened for user root/
echo red
[email , subject="Successful SSH Root Login"
Kjør nå fargeprøven ved å spesifisere konfigurasjonsfilen ved å bruke -c
og loggfilen ved å bruke -t
-flagget som vist.
swatchdog -c ~/swatch/secure.conf -t /var/log/secure
For å kjøre den i bakgrunnen, bruk --daemon
-flagget; i denne modusen er den løsrevet fra en hvilken som helst terminal.
swatchdog ~/swatch/secure.conf -t /var/log/secure --daemon
Nå for å teste fargeprøvekonfigurasjonen, prøv å logge på serveren fra den andre terminalen, du ser følgende utgang skrevet ut til terminalen der Swatchdog kjører.
*** swatch version 3.2.3 (pid:16531) started at Thu Jul 12 12:45:10 BST 2018
Jul 12 12:51:19 tecmint sshd[16739]: Failed password for root from 192.168.0.103 port 33324 ssh2
Jul 12 12:51:19 tecmint sshd[16739]: Failed password for root from 192.168.0.103 port 33324 ssh2
Jul 12 12:52:07 tecmint sshd[16739]: pam_unix(sshd:session): session opened for user root by (uid=0)
Jul 12 12:52:07 tecmint sshd[16739]: pam_unix(sshd:session): session opened for user root by (uid=0)
Du kan også kjøre flere fargeprøveprosesser for å overvåke ulike loggfiler.
swatchdog -c ~/site1_watch_config -t /var/log/nginx/site1/access_log --daemon
swatchdog -c ~/messages_watch_config -t /var/log/messages --daemon
swatchdog -c ~/auth_watch_config -t /var/log/auth.log --daemon
For mer informasjon, sjekk swatchdog-man-siden.
man swatchdog
Swatchdog SourceForge Repository: https://sourceforge.net/projects/swatch/
Følgende er noen ekstra loggovervåkingsveiledninger som du vil finne nyttige:
- 4 måter å se eller overvåke loggfiler i sanntid
- Hvordan lage en sentralisert loggserver med Rsyslog
- Overvåk server logger i sanntid med "Log.io"-verktøyet
- lnav – Se og analyser Apache-logger fra en Linux-terminal
- ngxtop – Overvåk Nginx-loggfiler i sanntid i Linux
Swatchdog er et enkelt aktivt loggfilovervåkingsverktøy for Unix-lignende systemer som Linux. Prøv det og del tankene dine eller still spørsmål i kommentarfeltet.