„Swatchdog“ – paprasta žurnalo failų stebėjimo priemonė realiuoju laiku sistemoje „Linux“.


Swatchdog („Simple WATCH DOG“) yra paprastas „Perl“ scenarijus, skirtas stebėti aktyvius žurnalo failus „Unix“ tipo sistemose, pvz., „Linux“. Jis stebi jūsų žurnalus pagal reguliariąsias išraiškas, kurias galite apibrėžti konfigūracijos faile. Galite paleisti jį iš komandinės eilutės arba fone, atskirtą nuo bet kurio terminalo naudodami demono režimo parinktį.

Atminkite, kad programa iš pradžių vadinosi swatch („Simple Watcher“), tačiau senosios Šveicarijos laikrodžių įmonės prašymas pakeisti pavadinimą paskatino kūrėją pakeisti pavadinimą į Swatchdog.

Taip pat skaitykite: 4 geri atvirojo kodo žurnalų stebėjimo ir valdymo įrankiai, skirti Linux

Svarbu tai, kad swatchdog išaugo iš scenarijaus, skirto žiūrėti žurnalus, sukurtus naudojant Unix sistemos žurnalą, ir gali stebėti beveik bet kokius žurnalus.

Kaip įdiegti „Swatch“ sistemoje „Linux“.

Paketą swatchdog galima įdiegti iš oficialių pagrindinių „Linux“ platinimų saugyklų kaip paketą „swatch“ per paketų tvarkyklę, kaip parodyta.


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

Norėdami įdiegti naujausią swatchdog versiją, turite ją kompiliuoti iš šaltinio naudodami toliau nurodytas komandas bet kuriame „Linux“ paskirstyme.


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

Įdiegę pavyzdį, turite sukurti jo konfigūracijos failą (numatytoji vieta yra /home/$USER/.swatchdogrc arba .swatchrc ), nustatyti, kokių tipų išraiškos modelių ieškoti ir kokio tipo veiksmo (-ų) reikia imtis, kai modelis yra suderintas.


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

Pridėkite savo reguliarųjį reiškinį šiame faile ir kiekvienoje eilutėje turėtų būti raktinis žodis ir reikšmė (kartais neprivaloma), atskirti tarpu arba lygybės ženklu (=). Turite nurodyti šabloną ir veiksmą (-us), kurių (-ių) reikia atlikti, kai modelis yra suderintas.

Naudosime paprastą konfigūracijos failą, daugiau parinkčių rasite, pavyzdžiui, swatchdog vadovo puslapyje.

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

Čia mūsų reguliarioji išraiška yra pažodinė eilutė – „sudo“ reiškia, kad kiekvieną kartą, kai eilutė sudo pasirodys žurnalo faile, bus išspausdinta į terminalą raudonu tekstu ir paštas nurodykite veiksmą, kurio reikia imtis, ty atkartoti suderintą šabloną terminale ir išsiųsti el. laišką nurodytu adresu.

Kai jį sukonfigūravote, swatchdog pagal numatytuosius nustatymus nuskaito /var/log/syslog žurnalo failą, o jei šio failo nėra, jis nuskaito /var/log/messages.


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

Galite nurodyti kitą konfigūracijos failą naudodami vėliavėlę -c, kaip parodyta šiame pavyzdyje.

Pirmiausia sukurkite pavyzdžio konfigūracijos katalogą ir failą.

mkdir swatch
touch swatch/secure.conf

Tada į failą pridėkite šią konfigūraciją, kad galėtumėte stebėti nesėkmingus prisijungimo bandymus, nesėkmingus SSH prisijungimo bandymus, sėkmingus SSH prisijungimus iš /var/log/secure žurnalo failo.

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"

Dabar paleiskite Swatch nurodydami konfigūracijos failą naudodami -c ir žurnalo failą naudodami vėliavėlę -t, kaip parodyta.

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

Norėdami jį paleisti fone, naudokite vėliavėlę --demon; šiuo režimu jis yra atskirtas nuo bet kurio terminalo.

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

Dabar norėdami išbandyti pavyzdžio konfigūraciją, pabandykite prisijungti prie serverio iš kito terminalo, pamatysite toliau pateiktą išvestį, išspausdintą terminale, kuriame veikia 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)

Taip pat galite paleisti kelis pavyzdžių procesus, kad galėtumėte stebėti įvairius žurnalo failus.

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

Norėdami gauti daugiau informacijos, apsilankykite swatchdog vadovo puslapyje.

man swatchdog

Swatchdog SourceForge saugykla: https://sourceforge.net/projects/swatch/

Toliau pateikiami keli papildomi žurnalo stebėjimo vadovai, kurie jums bus naudingi:

  1. 4 būdai žiūrėti arba stebėti žurnalo failus realiuoju laiku
  2. Kaip sukurti centralizuotą žurnalo serverį naudojant Rsyslog
  3. Stebėkite serverio žurnalus realiuoju laiku naudodami „Log.io“ įrankį
  4. lnav – žiūrėkite ir analizuokite „Apache“ žurnalus iš „Linux“ terminalo
  5. ngxtop – Stebėkite „Nginx“ žurnalo failus realiuoju laiku sistemoje „Linux“.

Swatchdog yra paprastas aktyvus žurnalo failų stebėjimo įrankis, skirtas Unix tipo sistemoms, pvz., Linux. Išbandykite ir pasidalykite savo mintimis arba užduokite klausimų komentarų skiltyje.