Vyhledávání na webu

Swatchdog - Jednoduchý Log File Watcher v reálném čase v Linuxu


Swatchdog („Simple WATCH DOG “) je jednoduchý skript v Perlu pro monitorování aktivních log souborů na unixových systémech, jako je Linux. Sleduje vaše protokoly na základě regulárních výrazů, které můžete definovat v konfiguračním souboru. Můžete jej spustit z příkazového řádku nebo na pozadí, odděleně od libovolného terminálu pomocí volby režimu démona.

Všimněte si, že program se původně jmenoval swatch („Simple Watcher “), ale na žádost staré švýcarské hodinářské společnosti o změnu názvu vývojář změnil název na swatchdog.

Přečtěte si také: 4 dobré nástroje pro monitorování a správu protokolů s otevřeným zdrojovým kódem pro Linux

Důležité je, že swatchdog vyrostl ze skriptu pro sledování protokolů vytvořených zařízením syslog systému Unix a může monitorovat téměř jakýkoli druh protokolů.

Jak nainstalovat Swatch v Linuxu

Balíček swatchdog je k dispozici k instalaci z oficiálních repozitářů běžných distribucí Linuxu jako balíček „swatch“ prostřednictvím správce balíčků, jak je znázorněno.


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

Chcete-li nainstalovat nejnovější verzi swatchdog, musíte ji zkompilovat ze zdroje pomocí následujících příkazů v jakékoli distribuci Linuxu.


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

Jakmile nainstalujete swatch, musíte vytvořit jeho konfigurační soubor (výchozí umístění je /home/$USER/.swatchdogrc nebo .swatchrc ), abyste určili, jaké typy vzorců výrazu hledat a jaký typ akce (činností) by se měl provést, když je vzor nalezen.


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

Přidejte svůj regulární výraz do tohoto souboru a každý řádek by měl obsahovat klíčové slovo a hodnotu (někdy volitelné), oddělené mezerou nebo rovnítkem (=). Musíte specifikovat vzor a akci(y), které se mají provést, když je vzor nalezen.

Použijeme jednoduchý konfigurační soubor, více možností najdete například v manuálové stránce swatchdog.

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

Zde je naším regulárním výrazem doslovný řetězec – “sudo”, znamená, že kdykoli se řetězec sudo objeví v souboru protokolu, vytiskne se na terminál červeným textem a mail specifikuje akci, která má být provedena, což je ozvěna shodného vzoru na terminálu a přijetí e-mailu na zadanou adresu.

Poté, co jej nakonfigurujete, swatchdog čte ve výchozím nastavení soubor protokolu /var/log/syslog, pokud tento soubor není přítomen, čte /var/log/messages.


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

Můžete zadat jiný konfigurační soubor pomocí parametru -c, jak je znázorněno v následujícím příkladu.

Nejprve vytvořte konfigurační adresář vzorníku a soubor.

mkdir swatch
touch swatch/secure.conf

Dále do souboru přidejte následující konfiguraci pro sledování neúspěšných pokusů o přihlášení, neúspěšných pokusů o přihlášení SSH a úspěšných přihlášení SSH ze souboru protokolu /var/log/secure.

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"

Nyní spusťte Swatch zadáním konfiguračního souboru pomocí -c a log souboru pomocí příznaku -t, jak je znázorněno.

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

Chcete-li jej spustit na pozadí, použijte příznak --daemon; v tomto režimu je odpojen od libovolného terminálu.

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

Nyní, abyste otestovali konfiguraci vzorníku, zkuste se přihlásit na server z jiného terminálu, uvidíte následující výstup vytištěný na terminálu, kde běží 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)

Můžete také spustit více procesů vzorníku pro sledování různých souborů protokolu.

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

Pro více informací se podívejte na manuálovou stránku swatchdog.

man swatchdog

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

Níže jsou uvedeny některé další příručky monitorování protokolů, které se vám budou hodit:

  1. 4 způsoby, jak sledovat nebo monitorovat soubory protokolu v reálném čase
  2. Jak vytvořit centralizovaný server protokolů s Rsyslog
  3. Monitorujte protokoly serveru v reálném čase pomocí nástroje „Log.io“.
  4. lnav – Sledujte a analyzujte protokoly Apache z terminálu Linux
  5. ngxtop – Monitorujte soubory protokolu Nginx v reálném čase v systému Linux

Swatchdog je jednoduchý aktivní nástroj pro monitorování souborů protokolu pro systémy podobné Unixu, jako je Linux. Vyzkoušejte to a podělte se o své myšlenky nebo se zeptejte na jakékoli otázky v sekci komentářů.