Czy ktoś zna narzędzie do wykrywania i raportowania powtarzających się wzorców w pliku dziennika? [Zamknięte]


12

Muszę monitorować niektóre duże, hałaśliwe pliki dziennika (500m / dzień) z aplikacji Java (log4j). W tej chwili ręcznie przeglądam pliki, grep dla „ERROR” i tak dalej. Jednak narzędzie powinno mieć możliwość wykrycia powtarzających się wzorców w pliku, policzenia ich i udostępnienia szczegółów poszczególnych wpisów. Czy ktoś wie o takim narzędziu? Przydałby się tekstowy lub internetowy interfejs użytkownika.


1
Dla mnie to pytanie absolutnie krzyczy perl.
John Gardeniers,

Hmm, zaczyna wyglądać, że będę musiał napisać skrypt bashowy z dużą ilością greps. Miałem nadzieję, że coś wymyślę automatycznie.
David Tinker,

na poważnie, właśnie do tego został stworzony perl. Możesz napisać samouczący się skrypt dla tych wzorców, choć tutaj oczywiście nie ma to zastosowania.
John Gardeniers,

stackoverflow.com/questions/2590251/... ma rozwiązanie o nazwie Piła łańcuchowa.
John aka hot2use,

datadoghq.com/blog/log-patterns <- bardzo polecam, ale chociaż nie jest to szalenie drogie, nie jest też super tanie.
neokyle

Odpowiedzi:


3

Słyszałem o ludziach stosujących filtrowanie bayesowskie do plików dziennika w celu wykrycia interesujących rzeczy w porównaniu z rutynowymi wpisami dziennika. Użyli filtrów antyspamowych, w których rutynowe nieciekawe wpisy były uważane za „dobre”, a te niezwykłe za „spam” i wykorzystując takie zabarwienie, przez które mogli się przełączać.

Brzmi dla mnie jak uczenie maszynowe, ale z drugiej strony nie widziałem tego w akcji, słyszałem tylko o piwie.


Wydaje mi się to całkowicie uzasadnione i można mieć nawet bardzo silne wcześniejsze założenia (w sensie bayesowskim) dotyczące niektórych słów, które zawsze pojawiają się w logach serwera.
DrewConway,

Tak, to by zadziałało. Czy ktoś zna implementację, którą mógłbym trenować?
David Tinker,

Chyba można zacząć od CRM114 . Lub poczekaj, aż Drew Conway opublikuje swoje Machine Learning dla hakerów . Nadal pracuję nad znalezieniem oryginalnego odniesienia do tego, co zaproponowałem.
adamo

Tak! Przeczytałem to w 2005 roku w tym wątku dla mędrców . Autor e-maila wspomina o sondzie spamowej .
adamo

6

Splunk czyni cuda dla tego rodzaju rzeczy. Używam go wewnętrznie do zbierania wszystkich dzienników i szybkiego wyszukiwania za pomocą doskonałego interfejsu opartego na przeglądarce.


Niestety prawdopodobnie potrzebowalibyśmy niewolnej wersji i jej nieco drogiej
David Tinker,

3

syslog-ng ma funkcję o nazwie patterndb. Możesz tworzyć wzorce i dopasowywać do nich wpisy dziennika w czasie rzeczywistym, a następnie wysyłać je do oddzielnych plików dziennika.



1

Wypróbuj petit .
Nie jestem pewien, czy będzie działać z formatem log4j, ale możesz być w stanie napisać niestandardowy filtr do tego.
Petit nie ma interfejsu sieciowego, wyświetla wykresy w twojej powłoce (ASCII art ftw!).
Bardzo przydatne jest szybkie wyświetlanie powtarzających się wiadomości i ustalanie, kiedy się pojawiły lub zaczęły się zdarzać częściej.





-1

Możesz wypróbować LogXtender SEQREL, który automatycznie wykrywa wzorce i agreguje podobne dzienniki. Sposób polega na tworzeniu wyrażeń regularnych w locie i używaniu wyrażenia regularnego w pamięci podręcznej w celu dopasowania do innych dzienników. Dzięki dodatkowemu wykrywaniu taksonomii można dodać większą szczegółowość. Bezpłatną wersję można pobrać pod https://try.logxtender.net .

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.