Swatchdog - Simple Log File Watcher u realnom vremenu u Linuxu


Swatchdog (“Simple WATCH DOG”) je jednostavna Perl skripta za praćenje aktivnih log fajlova na sistemima sličnim Unixu kao što je Linux. On prati vaše zapise na osnovu regularnih izraza koje možete definirati u konfiguracijskoj datoteci. Možete ga pokrenuti iz komandne linije ili u pozadini, odvojeno od bilo kojeg terminala koristeći opciju demonskog načina rada.

Imajte na umu da se program prvobitno zvao swatch (“Simple Watcher ”), ali je zahtjev stare švicarske kompanije satova za promjenu imena doveo do toga da je programer promijenio ime u swatchdog.

Pročitajte također: 4 dobra alata za praćenje i upravljanje dnevnikom otvorenog koda za Linux

Važno je da je swatchdog izrastao iz skripte za gledanje dnevnika koje proizvodi Unix-ov sistem syslog, i može pratiti bilo koju vrstu dnevnika.

Kako instalirati Swatch u Linux

Paket swatchdog je dostupan za instalaciju iz zvaničnih repozitorija mainstream Linux distribucija kao paket “swatch” putem menadžera paketa kao što je prikazano.


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+]

Da biste instalirali najnoviju verziju swatchdoga, morate je kompajlirati iz izvora koristeći sljedeće naredbe u bilo kojoj Linux distribuciji.


git clone https://github.com/ToddAtkins/swatchdog.git
cd swatchdog/
perl Makefile.PL
make
sudo make install
sudo make realclean

Nakon što instalirate swatch, trebate kreirati njegovu konfiguracijsku datoteku (podrazumevana lokacija je /home/$USER/.swatchdogrc ili .swatchrc ), da odredite koje tipove obrazaca izraza tražiti i koju vrstu radnje(a) treba poduzeti kada se uzorak podudara.


touch /home/tecmint/.swatchdogrc
OR
touch /home/tecmint/.swatchrc

Dodajte svoj regularni izraz u ovu datoteku i svaki red bi trebao sadržavati ključnu riječ i vrijednost (ponekad opcionu), odvojene razmakom ili znakom jednakosti (=). Morate navesti obrazac i radnju(e) koje će se poduzeti kada se uzorak podudara.

Koristit ćemo jednostavnu konfiguracijsku datoteku, više opcija možete pronaći na swatchdog man stranici, na primjer.

watchfor  /sudo/
	echo red
	[email , subject="Sudo Command"

Ovdje je naš regularni izraz literalni niz – “sudo”, znači svaki put kada se niz sudo pojavi u log datoteci, biti će ispisan na terminalu u crvenom tekstu i mail specificira radnju koju treba poduzeti, a to je eho podudarnog uzorka na terminalu i slanje e-pošte na navedenu adresu, prijemčivo.

Nakon što ste ga konfigurisali, swatchdog po defaultu čita /var/log/syslog datoteku dnevnika, ako ova datoteka nije prisutna, čita /var/log/messages.


swatch     [On RHEL/CentOS & Fedora]
swatchdog  [On Ubuntu/Debian]

Možete odrediti drugu konfiguracijsku datoteku koristeći -c zastavu kao što je prikazano u sljedećem primjeru.

Prvo kreirajte direktorij konfiguracije uzorka i datoteku.

mkdir swatch
touch swatch/secure.conf

Zatim dodajte sljedeću konfiguraciju u datoteku da nadgledate neuspjele pokušaje prijave, neuspjele pokušaje SSH prijave, uspješne SSH prijave iz /var/log/secure datoteke evidencije.

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"

Sada pokrenite Swatch navodeći konfiguracijsku datoteku pomoću -c i log datoteku koristeći -t zastavicu kao što je prikazano.

swatchdog -c ~/swatch/secure.conf -t /var/log/secure

Da biste ga pokrenuli u pozadini, koristite oznaku --daemon; u ovom načinu rada se odvaja od bilo kojeg terminala.

swatchdog ~/swatch/secure.conf -t /var/log/secure --daemon  

Sada da testirate konfiguraciju uzorka, pokušajte da se prijavite na server sa drugog terminala, videćete sledeći izlaz odštampan na terminalu na kojem je pokrenut Swatchdog.

*** 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)

Također možete pokrenuti višestruke procese uzorka za praćenje različitih datoteka evidencije.

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

Za više informacija, pogledajte stranicu swatchdog man.

man swatchdog

Swatchdog SourceForge spremište: https://sourceforge.net/projects/swatch/

Slijede neki dodatni vodiči za praćenje dnevnika koji će vam biti korisni:

  1. 4 načina za gledanje ili praćenje datoteka dnevnika u realnom vremenu
  2. Kako kreirati centralizirani log server pomoću Rsyslog-a
  3. Nadgledanje serverskih prijava u realnom vremenu pomoću alata “Log.io”.
  4. lnav – Gledajte i analizirajte Apache zapise sa Linux terminala
  5. ngxtop – Nadgledanje Nginx log fajlova u realnom vremenu u Linuxu

Swatchdog je jednostavan aktivni alat za praćenje datoteka dnevnika za sisteme slične Unixu kao što je Linux. Isprobajte i podijelite svoje mišljenje ili postavite bilo kakva pitanja u odjeljku za komentare.