Swatch - śledzenie logów
Śledzenie logów w poszukiwaniu wystąpienia określonych słów jest czynnością żmudną i już chociażby z tego powodu warto ją zautomatyzować. Z pomocą przychodzi nam narzędzie swatch…
Swatch[1] określany jako simple watcher, jest to narzędzie napisane w perl’u. Działanie tej aplikacji sprowadza się do śledzenia wybranych plików i podejmowania akcji w przypadku wykrycia wystąpienia szukanego ciągu (wyrażenia regularnego). Najprościej opisać konfigurację swatch’a przy pomocy prostego przykładu:
:::bash
# czego szukamy
watchfor /foo(.*)/
echo bold
# info o znalezisku dla uzytkownika root
write root
# mail, ale o okreslonych porach dnia i godziny
mail address=root,subject="test alert",when=1-6:9-17
# ograniczamy liczbe powiadomien do 2 w przeciagu 60s
# dla unikalnych ciagow $1 w szukanym slowie foo
threshold track_by=$1,type=limit,count=2,seconds=60
# wywolaj skrypt
exec /tmp/logger.sh
# dzwiek powiadomienia w konsoli
bell 1
w pliku konfiguracyjnym możemy dodać wiele sekcji rozpoczynających się od watchfor. Więcej opcji monitorujących znaleźć można w man swatch. Na koniec pozostaje jeszcze zdefiniowanie plików, których zawartość zamierzamy śledzić, aby to uczynić uruchamiamy swatch z przełącznikiem -t np.
# swatch --config-file /etc/swatch.conf -t /var/log/messages --daemon
Teraz wystarczy przetestować konfigurację np. przy pomocy:
# logger -f /var/log/messages -p warning foo1
Tym sposobem możemy zamknąć zbędne konsole, na których to królował program tail, chociażby ten opisany w:
powered by Hugo and Noteworthy theme