Swatchdog - vienkāršs žurnālfailu vērotājs reāllaikā Linux


Swatchdog (“Simple WATCH DOG”) ir vienkāršs Perl skripts aktīvo žurnālfailu uzraudzībai Unix tipa sistēmās, piemēram, Linux. Tas skatās jūsu žurnālus, pamatojoties uz regulārām izteiksmēm, kuras varat definēt konfigurācijas failā. To var palaist no komandrindas vai fonā, atdalot no jebkura termināla, izmantojot opciju Dēmona režīms.

Ņemiet vērā, ka programmu sākotnēji sauca par paraugu (“Simple Watcher”), bet vecās Šveices pulksteņu firmas pieprasījums pēc nosaukuma maiņas redzēja, ka izstrādātājs mainīja savu nosaukumu uz swatchdog.

Svarīgi ir tas, ka swatchdog ir pieaudzis no skripta žurnālu skatīšanai, ko izveidojusi Unix syslog iespēja, un tas var kontrolēt gandrīz jebkura veida žurnālus.

Kā instalēt paraugu Linux

Pakešu paraugs ir pieejams instalēšanai no oficiālo Linux izplatīšanas izplatītāju oficiālajiem krātuvēm kā paketes “paraugs”, izmantojot pakotņu pārvaldnieku, kā parādīts.

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

Lai instalētu jaunāko swatchdog versiju, tā jāapkopo no avota, izmantojot jebkuras Linux izplatīšanas komandas.

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

Kad esat uzinstalējis paraugu, jums jāizveido tā konfigurācijas fails (noklusējuma atrašanās vieta ir /home/$USER/.swatchdogrc vai .swatchrc), lai noteiktu, kāda veida izteiksmes modeļus meklēt un kāda veida darbībām vajadzētu darboties. jāņem, kad modelis ir saskaņots.

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

Pievienojiet regulāro izteiksmi šim failam, un katrā rindā jābūt atslēgvārdam un vērtībai (dažreiz neobligātai), atdalot ar atstarpi vai vienādu zīmi (=) . Jums jānorāda modelis un darbība (-as), kas jāveic, kad modelis tiek saskaņots.

Mēs izmantosim vienkāršu konfigurācijas failu, piemēram, Swatchdog man lapā varat atrast vairāk opciju.

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

Šeit mūsu regulārā izteiksme ir burtiska virkne - “sudo” nozīmē, ka vienmēr, kad virkne sudo parādījās žurnāla failā, terminālā tiks drukāta sarkanā tekstā, un pasts norādīs veicamo darbību, kas atbalss atbilstošo modeli terminālā un nosūtiet e-pastu uz norādīto adresi.

Kad esat to konfigurējis, swatchdog pēc noklusējuma nolasa/var/log/syslog žurnāla failu, ja šī faila nav, tas lasa/var/log/messages.

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

Izmantojot karodziņu -c , varat norādīt citu konfigurācijas failu, kā parādīts šajā piemērā.

Vispirms izveidojiet parauga konfigurācijas direktoriju un failu.

$ mkdir swatch
$ touch swatch/secure.conf

Pēc tam pievienojiet failā šādu konfigurāciju, lai uzraudzītu neveiksmīgus pieteikšanās mēģinājumus, neveiksmīgus SSH pieteikšanās mēģinājumus, veiksmīgus SSH pieteikumvārdus no/var/log/secure log faila.

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"

Tagad palaidiet Swatch, norādot konfigurācijas failu, izmantojot -c , un žurnālfailā izmantojot -t karodziņu, kā parādīts.

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

Lai to palaistu fonā, izmantojiet karodziņu --daemon ; šajā režīmā tas ir atvienots no jebkura termināla.

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

Tagad, lai pārbaudītu parauga konfigurāciju, mēģiniet pieteikties serverī no cita termināļa. Jūs redzat šādu izvadi, kas iespiesta terminālā, kurā darbojas 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)

Varat arī palaist vairākus paraugu procesus, lai uzraudzītu dažādus žurnālfailus.

$ 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

Lai iegūtu papildinformāciju, skatiet swatchdog man lapu.

$ man swatchdog

Swatchdog SourceForge krātuve: https://sourceforge.net/projects/swatch/

Tālāk ir sniegtas dažas papildu žurnālu uzraudzības rokasgrāmatas, kuras jums noderēs:

  1. 4 veidi, kā reāllaikā skatīties vai pārraudzīt žurnālfailus
  2. Kā izveidot centralizētu žurnālu serveri ar Rsyslog
  3. Monitorējiet servera žurnālus reāllaikā, izmantojot rīku “Log.io”
  4. lnav - skatieties un analizējiet Apache žurnālus no Linux termināļa
  5. ngxtop - uzraugiet Nginx žurnālfailus reāllaikā Linux

Swatchdog ir vienkāršs aktīvs žurnālfailu uzraudzības rīks Unix līdzīgām sistēmām, piemēram, Linux. Izmēģiniet to un dalieties savās domās vai uzdodiet jautājumus komentāru sadaļā.