Существует ли инструмент с открытым исходным кодом для автоматического поиска шаблонов в лог-файлах?

Я работал над кластерной системой в течение многих лет и решил, что пришло время иметь инструмент, который позволил бы нам легко запрашивать лог-файлы в виде простого текста (среди прочего). Я загрузил все файлы журналов на старую тестовую машину, где они сжали около 20 ГБ, но без сжатия 550 ГБ (частично из-за большого количества трассировок стека). У нас разные "темы", поддерживаемые разными людьми, и наши форматы журналов менялись с годами. Но давайте просто предположим, что я мог бы как-то превратить его в единый согласованный формат по всем темам.

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

User John Smith has logged in from IP aaa.bbb.ccc.ddd. Duration: zzz ms.

Учитывая много экземпляров такого сообщения, инструмент будет обрабатывать шаблон, например:

User * has logged in from IP *. Duration: * ms.

Где * является заполнителем для изменяющихся данных. Получив эти шаблоны (которые необходимо регулярно обновлять), мы можем сопоставить каждое новое сообщение с шаблонами и построить полезную статистику.

В идеале, инструмент будет Java, Python или Perl, если мы их используем, и мы находимся в смешанной среде Windows/Linux.

1 ответ

Другие вопросы по тегам