Есть ли способ определить тип журнала (чтобы его можно было правильно проанализировать), если у меня нет предварительной информации о типе (например, syslog, apache log, IIS log) журнала? Я пытаюсь написать фильтр Grok для журналов, но понятия не имею, что представляют собой поля.
Это первые несколько строк из логов:
14;1074585600;147.33.10.112;89ccfad2c4bbc02c91ed66055a235fca;/ls/index.php? &id=62&view=1,2,3,4,6,9&sort=,13,4&pozice=40;hXXX://YYY.shop4.cz/ls/index.php?&id=62&view=1,2,3,4,6,9&sort=,13,4&pozice=20
12;1074585600;57.66.66.138;17bff4c98f96413dbe748c9cd8822da9;/ct/?c=158;hXXX://YYY.shop3.cz
14;1074585600;194.196.100.86;e9455a109435408eb7b8e170d636d024;/klient/seznam.php;hXXX://YYY.shop4.cz/klient/zpravy.php
11;1074585600;66.77.73.176;88dc79e8eb5968d936a7d563af55bd08;/dt/?id=9354;
10;1074585601;158.196.177.79;cbf84093e4740423436abaf3c1a65ebc;/;
Конечно. Похоже, это журнал от Европейские конференции по машинному обучению и европейские конференции по принципам и практике обнаружения знаний в базах данных Discovery Challenge 2005 конкуренция. Они получили страница с описанием формата данных и FAQ о данных на сайте.
(Я мог сказать, что это были какие-то старые временные метки unix, просто взглянув на них ... год выпуска 2004 года, это так.)
Это не какой-либо стандартный формат журнала (и, кстати, syslog - это протокол, а не формат журнала).
Что касается методологии, я начал с того, что просто посмотрел на линии. Я мог сказать, что второе поле было датой эпохи Unix, просто взглянув на размер чисел. Очевидно, третье поле - это IPv4-адрес. Пятое поле состоит из 32 шестнадцатеричных цифр, поэтому, скорее всего, это сумма MD5. Следующее поле выглядит как иерархическая часть URL-адреса и запроса. Последнее поле выглядит как URL-адрес, и я бы предположил, что это реферер.
Итак, это похоже на журнал веб-сервера.
Я искал хеши с помощью Google, потому что мне было любопытно посмотреть, не появятся ли эти данные где-нибудь еще. Конечно, один из хешей появляется на страницах, на которые я ссылался выше.