Существует ли инструмент с открытым исходным кодом для автоматического поиска шаблонов в лог-файлах?
Я работал над кластерной системой в течение многих лет и решил, что пришло время иметь инструмент, который позволил бы нам легко запрашивать лог-файлы в виде простого текста (среди прочего). Я загрузил все файлы журналов на старую тестовую машину, где они сжали около 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 ответ
Это также может быть вариант: Grok, автоматическое обнаружение шаблона журнала в Python