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.