To było bardzo czasochłonne zadanie. I tak, z pewnością musiał być skryptowany, jeśli zamierzasz wyszukiwać wiele ciągów w wielu różnych dziennikach jednocześnie. Ale ostatnio musiałem to zrobić i było to dość bolesne. Niemniej jednak jest to gotowe i gotowe i można je pobrać z następującego linku:
Skrypt wyszukiwania dziennika Pobierz
Sposób działania jest dość prosty.
Scenariusz 1: Monitoruj JEDEN ciąg w JEDNYM pliku dziennika
./logsearch.sh localhost /var/tmp/logXray autonda /var/log/messages 60m 'can.*t.*open' '.' 1 2 single_errCheck -ndshow
Scenariusz 2: Monitoruj WIELE ciągów w JEDNYM pliku dziennika
./logsearch.sh localhost /var/tmp/logXray autonda /var/log/messages 60m 'can.*t.*open_P_ntpd.*stat' '.' 1 2 multi_errCheck -ndshow
Scenariusz 3: Monitoruj pojedyncze / wiele ciągów w wielu plikach dziennika
./logsearch.sh localhost /var/tmp/logXray autonda /var/log 60m 'can.*t.*open_P_ntpd.*stat' '.' 1 2 multi_err_multi_logCheck -ndshow
Uwagi:
_P_ oznacza LUB - zastępuje potok „|” symbol, ponieważ jest mniej prawdopodobne, że będziesz musiał wyszukać ciąg zawierający „_P_”. Jeśli nie chcesz wpisywać „_P_”, możesz po prostu zastąpić _P_ przez „|”.
Podczas korzystania z tego skryptu parametry, które często zmieniasz, to:
- Plik dziennika lub katalog dziennika do monitorowania
- Wiek, w jakim plik dziennika musi być monitorowany. Nie monitoruj ani nie wykrywaj żadnego pliku dziennika, który ma znacznik czasu dłuższy niż 60 minut
- Ciągi / wzorce, na które chcesz uważać
- Tag - jest to przedostatni argument, który musisz podać. Zapisuje statystyki dotyczące monitorowanych plików dziennika w / var / tmp / logXray
- Opcja dziennika -ndshow - jest to parametr, którego chcesz użyć, jeśli chcesz wypisywać wpisy ze znalezionych dzienników pasujących do podanych wzorców. Jeśli chcesz tylko zobaczyć całkowitą liczbę znalezionych znalezionych wzorów, po prostu zamień „-ndshow” na „-ndfoundmul”.
Korzystając z opcji -ndfoundmul, otrzymasz wynik podobny do:
[root@dgphxtest001]# ./logsearch.sh localhost /var/tmp/logXray autonda /var/log/messages 60m 'can.*t.*open_P_ntpd.*stat' '.' 1 2 blahblahA -ndfoundmul
OK: [/var/log/messages][1] /var/log/messages:P=(can_t_open=0 ntpd_stat=0)_F=(117s)_R=(228,228=0)
Rozwiązanie problemu z oryginalnym plakatem: Skanuj w poszukiwaniu wielu ciągów znaków w wielu plikach dziennika
./logsearch.sh localhost /var/tmp/logXray autonda /var/log 60m 'fatal_P_error_P_critical_P_failure_P_warning' '.' 1 2 multierr_logCheck -ndshow
Systemy operacyjne: przetestowano na Ubuntu i Red Hat
grep
może przyjąć więcej niż jeden argument pliku.