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


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.