Кто-нибудь знает инструмент для обнаружения и создания отчетов о повторяющихся шаблонах в файле журнала? [закрыто]


12

Мне нужно отслеживать некоторые большие шумные файлы журнала (500 м / день) из приложения Java (log4j). Прямо сейчас я вручную смотрю на файлы, grep для "ОШИБКИ" и так далее. Однако для инструмента должна быть возможность обнаружить повторяющиеся шаблоны в файле, сосчитать их и обеспечить детализацию отдельных записей. Кто-нибудь знает такой инструмент? Текстовый или веб-интерфейс был бы хорош.


1
Для меня этот вопрос абсолютно кричит perl.
— Джон Гарденье

Хм, это начинает выглядеть так, как будто мне придется написать bash-скрипт с большим количеством greps. Я надеялся, что что-то определит шаблоны автоматически.
— Дэвид Тинкер

серьезно, это именно то, для чего был создан Perl. Вы можете написать сценарий самообучения для этих шаблонов, хотя здесь это явно выходит за рамки.
— Джон Гарденье

У stackoverflow.com/questions/2590251/… есть решение под названием Chainsaw.
— Джон aka hot2use

datadoghq.com/blog/log-patterns <- очень рекомендую, но хотя это и не безумно дорого, но и не супер дешево.
— Неокил

Ответы:


3

Я слышал о людях, применяющих байесовскую фильтрацию к файлам журналов, чтобы находить интересные вещи по сравнению с обычными записями журнала. Они использовали спам-фильтры, где рутинные неинтересные записи считались «хорошими», а необычные - «спамом», и с помощью этой раскраски они могли перемещаться.

Для меня это звучит очень похоже на машинное обучение, но опять же, я не видел его в действии, только слышал об этом из-за пива.


Мне это кажется вполне разумным, и вы могли бы даже иметь очень сильные предварительные предположения (в байесовском смысле) об определенных словах, которые всегда отображаются в журналах сервера.
— DrewConway

Да, это сделало бы работу. Кто-нибудь знает реализацию, которую я мог бы обучить?
— Дэвид Тинкер

Я мог бы начать с CRM114 . Или подождите, пока Дрю Конуэй не опубликует свое машинное обучение для хакеров . Я все еще работаю, чтобы найти оригинальную ссылку на то, что я предложил.
— Адамо

Ага! Я читал об этом еще в 2005 году в этой ветке sage-members . Автор электронного письма упоминает о spamprobe .
— Адамо

6

Splunk творит чудеса для такого рода вещей. Я использую это внутренне, чтобы собрать все журналы и сделать быстрый поиск через его превосходный интерфейс на основе браузера.


К сожалению, нам, вероятно, понадобится несвободная версия, и она будет немного дороже
— Дэвид Тинкер,

3

syslog-ng имеет функцию patterndb с именем feature. Вы можете создавать шаблоны и сопоставлять записи в журнале с ними в режиме реального времени, а затем отправлять эти записи в отдельные файлы журналов.


2

Просматривая syslog-ng и patterndb (+1 к ответу выше), я обнаружил веб-инструмент под названием ELSA: http://code.google.com/p/enterprise-log-search-and-archive/ , Это F / OSS на Perl, с веб-интерфейсом и должен быть очень быстрым.

Я еще не пробовал, но как только я закончу фильтрацию с помощью patterndb, я попробую ELSA.


1

Попробуйте Пети .
Я не уверен, что он будет работать с форматом log4j, но вы можете написать собственный фильтр для этого.
У Petit нет веб-интерфейса, он отображает графики в вашей оболочке (ASCII art ftw!).
Очень полезно быстро увидеть повторяющиеся сообщения и выяснить, когда они произошли или стали происходить чаще.



0

Glogg - очень хороший обозреватель журналов, так как у вас есть возможность создать базу фильтров на основе строки и цветовой линии или извлечь все вхождения в строку.

http://glogg.bonnefon.org/


0

Splunk обычно является хорошим решением для этого. Но вы упомянули, что это слишком дорого для вас. Поэтому я рекомендую вам взглянуть на Logstash или GrayLog .


-1

Вы можете попробовать LogXtender от SEQREL, который автоматически обнаруживает шаблоны и объединяет похожие журналы. Это достигается путем создания регулярных выражений на лету и использования кэшированного регулярного выражения для сопоставления с другими журналами. С дополнительным обнаружением таксономии можно добавить больше детализации. Бесплатная версия может быть загружена в https://try.logxtender.net .

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.