Swatchdog - yksinkertainen lokitiedostojen tarkkailija reaaliajassa Linuxissa


Swatchdog (\ "Simple WATCH DOG") on yksinkertainen Perl-komentosarja aktiivisten lokitiedostojen seuraamiseen Unix-tyyppisissä järjestelmissä, kuten Linuxissa. Se seuraa lokiasi säännöllisten lausekkeiden perusteella, jotka voit määrittää määritystiedostossa. Voit suorittaa sen komentoriviltä tai taustalla, irrotettu mistä tahansa päätelaitteesta daemon-tilavaihtoehdolla.

Huomaa, että ohjelmaa alun perin kutsuttiin swatchiksi (\ "Simple Watcher"), mutta sveitsiläisen vanhan kelloyrityksen pyyntö nimimuutoksesta kehittäjä muutti nimensä swatchdogiksi.

Tärkeää on, että swatchdog on kasvanut Unixin syslog-laitoksen tuottamien lokien katselua koskevasta komentosarjasta, ja se pystyy valvomaan kaikenlaisia lokeja.

Kuinka asentaa Swatch Linuxiin

Pakettikortti on saatavana asennettavaksi Linux-pääjakelujen virallisista arkistoista pakettimallina pakettienhallinnan kautta, kuten kuvassa.

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

Asentaaksesi uusimman version swatchdogista, 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 värimallin, sinun on luotava sen määritystiedosto (oletussijainti on /home/$USER/.swatchdogrc tai .swatchrc) sen määrittämiseksi, minkä tyyppisiä lausekemalleja etsitään ja minkä tyyppisiä toimintoja tulisi käyttää tulee ottaa, kun kuvio on sovitettu.

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

Lisää säännöllinen lauseke tähän tiedostoon, ja jokaisella rivillä tulisi olla avainsana ja arvo (joskus valinnainen), erotettu välilyönnillä tai yhtälöllä (=) . Sinun on määritettävä malli ja toiminto (t), joka suoritetaan, kun malli sovitetaan.

Käytämme yksinkertaista määritystiedostoa. Löydät lisää vaihtoehtoja esimerkiksi swatchdog man -sivulta.

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

Tässä säännöllinen lausekkeemme on kirjaimellinen merkkijono - "sudo" tarkoittaa sitä, että merkkijono sudo ilmestyi lokitiedostoon aina, kun se tulostettaisiin päätelaitteeseen punaisena tekstinä ja posti määrittäisi suoritettavan toiminnon, joka on toistaa vastaava kuvion päätelaitteessa ja lähettää sähköpostia määritettyyn osoitteeseen vastaanottavasti

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

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

Voit määrittää toisen määritystiedoston -c -merkinnällä seuraavan esimerkin mukaisesti.

Luo ensin värimallin kokoonpanohakemisto ja tiedosto.

$ mkdir swatch
$ touch swatch/secure.conf

Lisää seuraavaksi tiedostoon seuraava kokoonpano seurataksesi epäonnistuneita kirjautumisyrityksiä, epäonnistuneita SSH-kirjautumisyrityksiä, 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 Värimalli määrittämällä määritystiedosto -c -toiminnolla ja lokitiedosto -t -lipulla, kuten kuvassa.

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

Suorita se taustalla käyttämällä --daemon -lippua; tässä tilassa se irrotetaan mistä tahansa päätelaitteesta.

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

Nyt voit testata värimallin kokoonpanoa yrittämällä kirjautua palvelimeen eri päätelaitteesta, näet seuraavan lähdön tulostettuna päätelaitteeseen, 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 malliprosesseja erilaisten lokitiedostojen seuraamiseksi.

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

$ man swatchdog

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

Seuraavassa on joitain ylimääräisiä lokinvalvontaoppaita, joista löydät hyödyllisiä:

  1. 4 tapaa katsella tai seurata lokitiedostoja reaaliajassa
  2. Keskitetyn lokipalvelimen luominen Rsyslogilla
  3. Seuraa palvelinlokeja reaaliajassa\"Log.io" -työkalulla
  4. lnav - Tarkastele ja analysoi Apache-lokeja Linux-päätelaitteesta
  5. ngxtop - Seuraa Nginx-lokitiedostoja reaaliajassa Linuxissa

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