Swatchdog - Jednostavni nadzornik datoteka dnevnika u stvarnom vremenu na Linuxu


Swatchdog ("Jednostavni WATCH DOG") jednostavna je Perl skripta za praćenje aktivnih datoteka dnevnika na Unix-sličnim sustavima kao što je Linux. Gleda vaše zapisnike na temelju regularnih izraza koje možete definirati u konfiguracijskoj datoteci. Možete ga pokrenuti iz naredbenog retka ili u pozadini, odvojeno od bilo kojeg terminala pomoću opcije daemon mode.

Imajte na umu da se program izvorno zvao swatch ("Jednostavni gledatelj"), ali je zahtjev švicarske satova za promjenu imena vidio da je programer promijenio ime u swatchdog.

Što je najvažnije, swatchdog je prerastao iz skripte za gledanje dnevnika koju je izradio Unixov sistem syslog-a, a može nadzirati gotovo svaku vrstu dnevnika.

Kako instalirati Swatch u Linux

Swatchdog paketa dostupan je za instalaciju iz službenih spremišta glavne distribucije Linuxa kao "swatch" paketa putem upravitelja 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 prevesti iz izvora pomoću sljedećih naredbi 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, morate stvoriti njegovu konfiguracijsku datoteku (zadano mjesto je /home/$USER/.swatchdogrc ili .swatchrc), kako biste odredili koje vrste uzoraka izraza treba tražiti i koju vrstu radnje treba (e) učiniti uzeti kad se podudara obrazac.

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

Dodajte svoj regularni izraz u ovu datoteku i svaki bi redak trebao sadržavati ključnu riječ i vrijednost (ponekad neobavezno), odvojene razmakom ili znakom jednako (=) . Morate navesti uzorak i radnju (akcije) koje treba poduzeti kada se uzorak podudara.

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

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

Ovdje je naš regularni izraz doslovni niz - "sudo", znači da će se svaki put kada se sudo pojavi u datoteci dnevnika, ispisati na terminal crvenim tekstom i pošta odrediti radnju koju treba poduzeti, a to je odjek usklađenog uzorak na terminalu i prihvatljivo pošaljite e-mail na navedenu adresu.

Nakon što ste je konfigurirali, swatchdog prema zadanim postavkama čita datoteku dnevnika/var/log/syslog, ako nije prisutna, čita/var/log/messages.

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

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

Prvo stvorite swatch konfiguracijski direktorij i datoteku.

$ mkdir swatch
$ touch swatch/secure.conf

Dalje, dodajte sljedeću konfiguraciju u datoteku za praćenje neuspjelih pokušaja prijave, neuspjelih pokušaja SSH prijave, uspješnih SSH prijava iz datoteke/var/log/secure log.

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 datoteku dnevnika pomoću zastavice -t kao što je prikazano.

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

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

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

Sada da biste testirali konfiguraciju uzorka, pokušajte se prijaviti na poslužitelj s drugog terminala, vidjet ćete sljedeći izlaz ispisan na terminalu na kojem radi 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še procesa uzorkovanja za nadgledanje različitih datoteka dnevnika.

$ 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 swatchdog man stranicu.

$ man swatchdog

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

Slijedi nekoliko dodatnih vodiča za nadzor dnevnika koji će vam biti korisni:

  1. 4 načina za gledanje ili nadgledanje datoteka dnevnika u stvarnom vremenu
  2. Kako stvoriti centralizirani poslužitelj dnevnika s Rsyslogom
  3. Praćenje dnevnika poslužitelja u stvarnom vremenu pomoću alata "Log.io"
  4. lnav - gledajte i analizirajte zapise Apachea s Linux terminala
  5. ngxtop - nadziranje datoteka dnevnika Nginx u stvarnom vremenu u Linuxu

Swatchdog je jednostavan alat za aktivno praćenje datoteka dnevnika za Unix-slične sustave kao što je Linux. Isprobajte i podijelite svoje misli ili postavite bilo kakva pitanja u odjeljku za komentare.