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

12

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

Дэвид Тинкер
источник
1
Для меня этот вопрос абсолютно кричит perl.
Джон Гарденье
Хм, это начинает выглядеть так, как будто мне придется написать bash-скрипт с большим количеством greps. Я надеялся, что что-то определит шаблоны автоматически.
Дэвид Тинкер
серьезно, это именно то, для чего был создан Perl. Вы можете написать сценарий самообучения для этих шаблонов, хотя здесь это явно выходит за рамки.
Джон Гарденье
У stackoverflow.com/questions/2590251/… есть решение под названием Chainsaw.
Джон aka hot2use
datadoghq.com/blog/log-patterns <- очень рекомендую, но хотя это и не безумно дорого, но и не супер дешево.
Неокил

Ответы:

3

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

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

Adamo
источник
Мне это кажется вполне разумным, и вы могли бы даже иметь очень сильные предварительные предположения (в байесовском смысле) об определенных словах, которые всегда отображаются в журналах сервера.
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.

EdwardTeach
источник
1

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

обманщик
источник
0

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

http://glogg.bonnefon.org/

Александр Ру
источник
0

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

Рафаэль Лютигер
источник
-1

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

Михню
источник