SWATCHDOG - Prosty obserwator plików dziennika w czasie rzeczywistym w Linux

SWATCHDOG - Prosty obserwator plików dziennika w czasie rzeczywistym w Linux

Swatchdog („Prosty pies zegarek”) To prosty skrypt Perl do monitorowania aktywnych plików dziennika w systemach podobnych do UNIX, takich jak Linux. Obserwuje dzienniki na podstawie wyrażeń regularnych, które można zdefiniować w pliku konfiguracyjnym. Możesz uruchomić go z wiersza poleceń lub w tle, odłączony od dowolnego terminala za pomocą opcji trybu demon.

Zauważ, że program został pierwotnie nazywany próbka („Prosty obserwator”) Ale żądanie starej szwajcarskiej firmy zegarkowej o zmianę nazwiska sprawiło, że programista zmienił nazwę na swatchdog.

Przeczytaj także: 4 dobre narzędzia do monitorowania i zarządzania dziennikiem typu open source dla Linux

Co ważne, swatchdog wyrósł ze scenariusza do oglądania dzienników wyprodukowanych przez zakład Syslog UNIX i może monitorować niemal dowody.

Jak zainstalować próbkę w Linux

Paczka swatchdog można zainstalować z oficjalnych repozytoriów głównego nurtu dystrybucji Linux jako pakietu „próbka”Za pośrednictwem menedżera pakietów, jak pokazano.

$ sudo apt instal instaluj [Na Ubuntu/Debian] $ sudo yum instaluj epel-release && sudo yum instaluj próbkę [Na RHEL/CENTOS] $ sudo dnf instaluj próbkę [Na Fedorze 22+] 

Aby zainstalować większość najnowszych wersji swatchdog, Musisz skompilować go ze źródła za pomocą następujących poleceń w dowolnym rozkładowi Linux.

$ git clone https: // github.com/toddatkins/swatchdog.Git $ CD SWATCHDOG/ $ PERL Makefile.Pl $ sprawi, że $ sudo sprawiają, że instalat 

Po zainstalowaniu próbka, Musisz utworzyć jego plik konfiguracyjny (domyślna lokalizacja to /Home/$ użytkownik/.swatchdogrc Lub .SWATCHRC), aby określić, jakie rodzaje wzorców wyrażeń należy szukać i jakiego rodzaju działań należy podjąć, gdy wzór jest dopasowany.

$ touch/home/tecmint/.swatchdogrc lub $ touch/home/tecmint/.SWATCHRC 

Dodaj swoje wyrażenie regularne w tym pliku, a każda linia powinna zawierać słowo kluczowe i wartość (czasem opcjonalnie), oddzielone przez a przestrzeń lub równe (=) podpisać. Musisz określić wzór i działania, które należy podjąć, gdy wzór jest dopasowany.

Użyjemy prostego pliku konfiguracyjnego, na przykład na stronie Swatchdog Man można znaleźć więcej.

WatchFor / sudo / echo Red [e -mail chroniony], tematy = „polecenie sudo” 

Tutaj nasz wyrażenie regularne jest dosłownym sznurkiem - „Sudo”, oznacza za każdym razem, gdy ciąg sudo pojawił się w pliku dziennika, zostanie wydrukowany na terminalu w czerwonym tekście i Poczta Określ działanie, które należy podjąć, czyli odzwierciedlenie dopasowanego wzoru na terminalu i wysłanie wiadomości e-mail na określony adres.

Po jego skonfigurowaniu Swatchdog odczytuje /var/log/syslog Domyślnie plik dziennika, jeśli ten plik nie jest obecny, odczytuje /var/log/wiadomości.

$ próbka [Na Rhel/Centos i Fedora] $ swatchdog [Na Ubuntu/Debian] 

Możesz określić inny plik konfiguracyjny za pomocą -C flaga, jak pokazano w poniższym przykładzie.

Najpierw utwórz katalog konfiguracji Swatch i plik.

$ Mkdir Swatch $ Touch Swatch/Secure.conf 

Następnie dodaj następującą konfigurację w pliku w celu monitorowania nieudanych prób logowania, nieudane próby logowania SSH, udane loginy SSH z /var/log/bezpiecznie plik dziennika.

WatchFor / Failed / Echo Red [e -mail chroniony], tematy = "Nieudana próba logowania„WatchFor / Root Login / Echo Red [e -mail chroniony], tematy =”Udane logowanie root„Watchfor /ssh.*: Nieudane hasło/ echo czerwone [chronione e -mail], tematy = "Nieudana próba logowania SSH„Watchfor /ssh.*: Otwarta sesja dla użytkownika root/ echo czerwony [e -mail chroniony], tematy = "Udane logowanie do root SSH" 

Teraz uruchom próbę, określając plik konfiguracyjny za pomocą -C i plik dziennika za pomocą -T flaga jak pokazano.

$ swatchdog -c ~/sweatch/bezpiecznie.conf -t/var/log/bezpiecznie 

Aby uruchomić go w tle, użyj --Demon flaga; W tym trybie jest odłączony od dowolnego terminalu.

$ sWatchdog ~/Swatch/Secure.conf -t/var/log/secure - -daemon 

Teraz, aby przetestować konfigurację Swatch, spróbuj zalogować się na serwerze z innego terminalu, zobaczysz następujące dane wyjściowe na terminalu, w którym działa Swatchdog.

*** Wersja 3.2.3 (PID: 16531) Rozpoczęło się w czwartek 12 lipca 12:45:10 BST 2018 lipca 12:51:19 Tecmint Sshd [16739]: Nieudane hasło do korzenia z 192.168.0.103 Port 33324 SSH2 12 lipca 12:51:19 TecMint Sshd [16739]: Nieudane hasło dla root z 192.168.0.103 Port 33324 SSH2 12 lipca 12:52:07 TecMint Sshd [16739]: Pam_unix (SSHD: Session): Sesja otwarta dla root użytkownika przez (UID = 0) 12 lipca 12:52:07 TecMint Sshd [16739]: Pam_unix ( sshd: sesja): sesja otwarto dla root użytkownika przez (uid = 0) 
Monitoruj dzienniki Linuksa w czasie rzeczywistym

Możesz także uruchomić wiele procesów próbek w celu monitorowania różnych plików dziennika.

$ swatchdog -c ~/site1_watch_config -t/var/log/nginx/site1/access_log - -daemon $ sWatchdog -c ~/message_watch_config -t/var/log/message - -Daemon $ SWATCHDOG -C ~/AUTH_WATCH_CONFIG -t /t/ var/log/auth.Log - -Daemon 

Aby uzyskać więcej informacji, sprawdź stronę Swatchdog Man.

$ MAN SWATCHDOG 

SWATCHDOG SOORCEFORGE Repozytorge: https: // sourceforge.Net/Projects/Swatch/

Poniżej przedstawiono dodatkowe przewodniki monitorowania dziennika, które okażą się przydatne:

  1. 4 sposoby oglądania lub monitorowania plików dziennika w czasie rzeczywistym
  2. Jak utworzyć scentralizowany serwer dziennika za pomocą RSYSLOG
  3. Monitoruj dzienniki serwera w czasie rzeczywistym za pomocą „Log.Narzędzie IO ”
  4. LNAV - Obserwuj i analizuj dzienniki Apache z terminalu Linux
  5. NGXTOP - Monitoruj pliki dziennika Nginx w czasie rzeczywistym w Linux

Swatchdog to proste narzędzie do monitorowania aktywnego pliku dziennika dla systemów podobnych do UNIX, takich jak Linux. Wypróbuj i podziel się swoimi przemyśleniami lub zadaj pytania w sekcji komentarzy.