Swatchdog - lihtne logifailide jälgija reaalajas Linuxis


Swatchdog (\ "Simple WATCH DOG") on lihtne Perli skript aktiivsete logifailide jälgimiseks Unixi-laadsetes süsteemides, näiteks Linuxis. See jälgib teie logisid regulaaravaldiste põhjal, mille saate määratleda konfiguratsioonifailis. Saate seda käivitada käsurealt või taustal, mis on lahti deemonirežiimi abil mis tahes terminalist.

Pange tähele, et programmi nimetati algselt swatchiks (\ "Simple Watcher \"), kuid Šveitsi vana kellafirma taotles nime muutmist, mistõttu arendaja muutis oma nime swatchdogiks.

Oluline on see, et swatchdog on välja kasvanud Unixi syslogirajatise loodud logide vaatamise skriptist ja see suudab jälgida peaaegu kõiki logisid.

Kuidas Swatchi Linuxi installida

Pakett-swatchdogi saab installida Linuxi peavoolu distributsioonide ametlikest hoidlatest pakettmallina pakettihalduri kaudu, nagu näidatud.

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

Swatchdogi uusima versiooni installimiseks peate selle kompileerima allikast, kasutades järgmisi käske mis tahes Linuxi distributsioonis.

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

Kui olete proovivõtte installinud, peate looma selle konfiguratsioonifaili (vaikeasukoht on /home/$USER/.swatchdogrc või .swatchrc), et määrata, millist tüüpi avaldismustreid otsida ja millist tüüpi toiminguid peaks toimuma tuleb võtta siis, kui muster sobib.

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

Lisage sellesse faili oma regulaaravaldis ja iga rida peaks sisaldama märksõna ja väärtust (mõnikord valikuline), eraldatuna tühiku või võrdse tähisega (=) . Peate määrama mustri ja toimingu (d), mis tuleb teha, kui muster sobib.

Kasutame lihtsat konfiguratsioonifaili, rohkem võimalusi leiate näiteks swatchdogi käsulehelt.

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

Siin on meie regulaarne avaldis sõnasõnaline string - “sudo” tähendab, et kui string sudo ilmus logifaili, trükitaks terminali punase tekstiga ja post määraks toimingu, mis tuleb sobitada. terminalis ja saatke vastuvõtlikule e-kiri määratud aadressile.

Pärast selle konfigureerimist loeb swatchdog vaikimisi/var/log/syslog logifaili, kui seda faili pole, loeb see faili/var/log/messages.

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

Teise konfiguratsioonifaili saate määrata lipu -c abil, nagu on näidatud järgmises näites.

Kõigepealt looge proovivõtme konfiguratsioonikataloog ja fail.

$ mkdir swatch
$ touch swatch/secure.conf

Seejärel lisage faili järgmine konfiguratsioon, et jälgida ebaõnnestunud sisselogimiskatseid, ebaõnnestunud SSH-i sisselogimiskatseid, edukaid SSH-i sisselogimisi/var/log/secure logifailist.

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"

Käivitage Swatch, määrates konfiguratsioonifaili -c abil ja logifaili lipuga -t , nagu näidatud.

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

Selle käivitamiseks taustal kasutage lippu --daemon ; selles režiimis on see lahti ühendatud mis tahes terminalist.

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

Nüüd proovige proovivormi konfiguratsiooni proovimiseks serverist sisse logida erinevast terminalist. Näete järgmist väljundit, mis on trükitud terminali, kus Swatchdog töötab.

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

Erinevate logifailide jälgimiseks võite käivitada ka mitu proovivõtuprotsessi.

$ 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

Lisateabe saamiseks vaadake swatchdogi manulehte.

$ man swatchdog

Swatchdogi SourceForge'i hoidla: https://sourceforge.net/projects/swatch/

Järgmised on mõned täiendavad logide jälgimise juhendid, mis võivad teile kasulikud olla:

  1. 4 viisi logifailide vaatamiseks või jälgimiseks reaalajas
  2. Kuidas luua tsentraliseeritud logiserver Rsyslogiga
  3. Serveri logide jälgimine reaalajas tööriistaga "Log.io"
  4. lnav - vaadake ja analüüsige Linuxi terminali Apache'i logisid
  5. ngxtop - jälgige Nginxi logifaile reaalajas Linuxis

Swatchdog on lihtne aktiivne logifailide jälgimise tööriist Unixi-laadsetele süsteemidele nagu Linux. Proovige järele ja jagage oma mõtteid või küsige kommentaaride osas küsimusi.