Swatchdog - Enostaven nadzornik datotek dnevnikov v realnem času v Linuxu
Swatchdog (\ "Simple WATCH DOG") je preprost skript Perl za spremljanje aktivnih datotek dnevnikov v sistemih, podobnih Unixu, kot je Linux. Opazuje vaše dnevnike na podlagi regularnih izrazov, ki jih lahko definirate v konfiguracijski datoteki. Lahko ga zaženete iz ukazne vrstice ali v ozadju, ločeno od katerega koli terminala z možnostjo daemon mode.
Upoštevajte, da se je program prvotno imenoval swatch (\ "Simple Watcher"), vendar je zahtevek starega švicarskega urarskega podjetja za spremembo imena razvijalca spremenil v swatchdog.
Pomembno je, da je swatchdog zrasel iz skripta za ogled dnevnikov, ki jih je izdelal Unixov sistem syslog, in lahko spremlja skoraj vse vrste dnevnikov.
Kako namestiti Swatch v Linux
Paket swatchdog je na voljo za namestitev iz uradnih skladišč običajnih distribucij Linuxa kot paket "swatch" prek upravitelja paketov, kot 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+]
Če želite namestiti najnovejšo različico swatchdoga, jo morate sestaviti iz vira z uporabo naslednjih ukazov v kateri koli distribuciji Linuxa.
$ git clone https://github.com/ToddAtkins/swatchdog.git $ cd swatchdog/ $ perl Makefile.PL $ make $ sudo make install $ sudo make realclean
Ko namestite swatch, morate ustvariti njegovo konfiguracijsko datoteko (privzeta lokacija je /home/$USER/.swatchdogrc ali .swatchrc), da ugotovite, katere vrste vzorcev izrazov je treba iskati in kakšne vrste dejanj je treba vzeti, ko se vzorec ujema.
$ touch /home/tecmint/.swatchdogrc OR $ touch /home/tecmint/.swatchrc
V to datoteko dodajte svoj regularni izraz in vsaka vrstica mora vsebovati ključno besedo in vrednost (včasih neobvezno), ločena s presledkom ali enakim znakom (=)
. Določiti morate vzorec in dejanja, ki jih je treba izvesti, ko se vzorec ujema.
Uporabili bomo preprosto konfiguracijsko datoteko, več možnosti najdete na primer na strani s swatchdogom.
watchfor /sudo/ echo red [email , subject="Sudo Command"
Tukaj je naš regularni izraz dobesedni niz - "sudo", pomeni, da bi se vsakič, ko bi se niz sudo pojavil v dnevniški datoteki, natisnil na terminal v rdečem besedilu in po pošti določil dejanje, ki ga je treba izvesti, to je, da odmeva ujemajoče se vzorec na terminalu in receptivno poslati e-pošto na določen naslov.
Ko ga konfigurirate, swatchdog privzeto prebere datoteko dnevnika/var/log/syslog, če te datoteke ni, bere/var/log/messages.
$ swatch [On RHEL/CentOS & Fedora] $ swatchdog [On Ubuntu/Debian]
Z zastavo -c
lahko podate drugo konfiguracijsko datoteko, kot je prikazano v naslednjem primeru.
Najprej ustvarite imenik konfiguracije vzorca in datoteko.
$ mkdir swatch $ touch swatch/secure.conf
Nato v datoteko dodajte naslednjo konfiguracijo za spremljanje neuspešnih poskusov prijave, neuspešnih poskusov prijave SSH, uspešnih prijav SSH 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"
Zdaj zaženite Swatch tako, da določite konfiguracijsko datoteko z -c
in datoteko dnevnika z zastavico -t
, kot je prikazano.
$ swatchdog -c ~/swatch/secure.conf -t /var/log/secure
Če ga želite zagnati v ozadju, uporabite zastavico --daemon
; v tem načinu je ločen od katerega koli terminala.
$ swatchdog ~/swatch/secure.conf -t /var/log/secure --daemon
Zdaj, da preizkusite konfiguracijo swatch, se poskusite prijaviti v strežnik z drugega terminala, vidite naslednji izhod, natisnjen na terminal, kjer deluje 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)
Za spremljanje različnih datotek dnevnika lahko zaženete tudi več procesov vzorčenja.
$ 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 več informacij si oglejte man stran swatchdog.
$ man swatchdog
Shramba Swatchdog SourceForge: https://sourceforge.net/projects/swatch/
Spodaj je nekaj dodatnih vodnikov za spremljanje dnevnikov, ki vam bodo v pomoč:
- 4 načini gledanja ali spremljanja dnevniških datotek v realnem času
- Kako ustvariti centraliziran strežnik dnevnikov z Rsyslogom
- Dnevnike strežnika spremljajte v realnem času z orodjem\"Log.io"
- lnav - Oglejte si in analizirajte dnevnike Apache iz terminala Linux
- ngxtop - Nadzirajte datoteke dnevnika Nginx v realnem času v Linuxu
Swatchdog je preprosto orodje za spremljanje datotek dnevnikov za sisteme, podobne Unixu, kot je Linux. Preizkusite in delite svoje misli ali zastavite kakršna koli vprašanja v razdelku za komentarje.