Swatchdog - yksinkertainen lokitiedostojen tarkkailija reaaliajassa Linuxissa


Swatchdog ("Simple WATCH DOG") on yksinkertainen Perl-skripti aktiivisten lokitiedostojen valvontaan Unix-tyyppisissä järjestelmissä, kuten Linuxissa. Se tarkkailee lokiasi säännöllisten lausekkeiden perusteella, jotka voit määrittää määritystiedostossa. Voit suorittaa sen komentoriviltä tai taustalla irrotettuna mistä tahansa päätteestä käyttämällä daemon mode -vaihtoehtoa.

Huomaa, että ohjelman nimi oli alun perin swatch ("Simple Watcher"), mutta vanhan sveitsiläisen kelloyhtiön nimenmuutospyyntö merkitsi, että kehittäjä muutti sen nimeksi swatchdog.

Lue myös: 4 hyvää avoimen lähdekoodin lokien seuranta- ja hallintatyökalua Linuxille

Tärkeää on, että swatchdog on kasvanut Unixin syslog-toiminnon tuottamien lokien katseluun tarkoitetusta skriptistä, ja se voi valvoa melkein mitä tahansa lokeja.

Kuinka asentaa Swatch Linuxiin

Paketti swatchdog on asennettavissa yleisten Linux-jakelujen virallisista arkistoista pakettina "swatch" paketinhallinnan kautta kuvan mukaisesti.


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

Jotta voit asentaa uusimman swatchdogin-version, sinun on käännettävä se lähteestä käyttämällä seuraavia komentoja missä tahansa Linux-jakelussa.


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

Kun olet asentanut swatchin, sinun on luotava sen määritystiedosto (oletussijainti on /home/$USER/.swatchdogrc tai .swatchrc ), määrittääkseen, minkä tyyppisiä ilmaisumalleja kannattaa etsiä ja minkä tyyppisiä toimenpiteitä tulisi tehdä, kun kaava on sovitettu.


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

Lisää säännöllinen lauseke tähän tiedostoon, ja jokaisella rivillä tulee sisältää avainsana ja arvo (joskus valinnainen) erotettuna välilyönnillä tai yhtäläisyysmerkillä (=). Sinun on määritettävä kuvio ja toiminnot, jotka suoritetaan, kun mallia sovitetaan.

Käytämme yksinkertaista asetustiedostoa, lisää vaihtoehtoja löydät esimerkiksi swatchdog-manuaalisivulta.

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

Tässä säännöllinen lausekkeemme on kirjaimellinen merkkijono – "sudo" tarkoittaa, että aina kun merkkijono sudo ilmestyy lokitiedostoon, tulostetaan päätteelle punaisena tekstinä ja posti määrittää suoritettavan toimenpiteen eli toistaa vastaavan kuvion päätelaitteessa ja lähettää sähköpostin määritettyyn osoitteeseen vastaanottavasti.

Kun olet määrittänyt sen, swatchdog lukee oletuksena /var/log/syslog-lokitiedoston. Jos tiedostoa ei ole, se lukee /var/log/messages.


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

Voit määrittää eri asetustiedoston käyttämällä -c-lippua seuraavan esimerkin mukaisesti.

Luo ensin swatch-määrityshakemisto ja tiedosto.

mkdir swatch
touch swatch/secure.conf

Lisää seuraavaksi tiedostoon seuraavat asetukset seurataksesi epäonnistuneita kirjautumisyrityksiä, epäonnistuneita SSH-kirjautumisyrityksiä ja onnistuneita SSH-kirjautumisia /var/log/secure-lokitiedostosta.

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"

Suorita nyt Swatch määrittämällä asetustiedosto -c-komennolla ja lokitiedosto -t-lipulla kuvan osoittamalla tavalla.

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

Jos haluat suorittaa sen taustalla, käytä lippua --daemon; tässä tilassa se on irrotettu mistä tahansa päätteestä.

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

Testaaksesi swatch-kokoonpanoa, yritä kirjautua sisään palvelimelle eri päätteestä, näet seuraavan tulosteen tulostettuna päätteeseen, jossa Swatchdog on käynnissä.

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

Voit myös suorittaa useita swatch-prosesseja seurataksesi erilaisia lokitiedostoja.

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

Lisätietoja saat swatchdog-manuaalisivulta.

man swatchdog

Swatchdog SourceForge -varasto: https://sourceforge.net/projects/swatch/

Seuraavassa on joitain muita hyödyllisiä lokinvalvontaoppaita:

  1. 4 tapaa katsella tai seurata lokitiedostoja reaaliajassa
  2. Keskitetyn lokipalvelimen luominen Rsyslogin avulla
  3. Tarkkaile palvelimen lokeja reaaliajassa "Log.io" -työkalulla
  4. lnav – Katsele ja analysoi Apache-lokeja Linux-päätteestä
  5. ngxtop - Tarkkaile Nginx-lokitiedostoja reaaliajassa Linuxissa

Swatchdog on yksinkertainen aktiivinen lokitiedostojen seurantatyökalu Unix-tyyppisille järjestelmille, kuten Linuxille. Kokeile sitä ja jaa ajatuksesi tai kysy kysymyksiä kommenttiosiossa.