2016-07-08 2 views
0

Прошел прошлый час, пытаясь настроить фильтр grok для логсташа. Работая с отладчиком Grok, все хорошо, пока я не доберусь до метки времени. Грок задыхается на четырехзначном году.Logstash Grok Проблемы с 4-значным годом

Вот запись файл_журнала как его послал к logstash:

Jul 8 11:54:29 192.168.1.144 1 2016-07-08T15: 55: 09.629Z era.somedomain.local ETAServer 1755 Syslog {"event_type": "Threat_Event", "ipv4": "192.168.1.118", "source_uid": "7ecab29a-7db3-4c79-96f5-3946de54cbbf", "occured": "08-Jul-2016 15:54:54 »,« серьезность »:« Предупреждение »,« угроза »:« троян »,« угроза »:« HTML/Agent.V »,« scanner_id »:« HTTP-фильтр »,« scan_id »:« virlog.dat », engine_version ":" 13773 (20160708) "," object_type ":" file "," object_uri ":" http://malware.wicar.org/data/java_jre17_exec.html "," action_taken ":" connection terminated "," threat_handled ": true," need_restart ": false," username " : «DOMAIN \ username», «processname»: «C: \ Program Files (x86) \ Google \ Chrome \ Application \ chrome.exe" }

У меня возникли проблемы с первой частью перед данными JSON. Первая часть моего ГРОК заявления:

% {МЕСЯЦ} \% {MONTHDAY}% {пробел}% {TIME}% {пробел}% {IPV4}% {пробел}% {NUMBER}% {ПРОСТРАНСТВО }

прекрасно работает, идентифицируя все до числа «1» незадолго до года в метке времени. Проблема заключается в том, когда я добавляю следующее:

% {МЕСЯЦ} \% {MONTHDAY}% {пробел}% {TIME}% {пробел}% {IPV4}% {пробел}% {NUMBER}% { SPACE}% {TIMESTAMP_ISO8601}

затем я получаю «Нет совпадений» в отладчике grok. Размещаясь с ним немного больше, похоже, что проблема находится где-то между числом «1» и двумя первыми двумя цифрами года в метке времени, поскольку% {TIMESTAMP_ISO8601} использует только двухзначный год.

Любые предложения или помощь были бы весьма полезны.

ответ

1

Копаем немного глубже в Regex и Grok, как будто я понял это. Я заменил% {TIMESTAMP_ISO8601} с:

([^ \ D \ d] {%} ГОД) [./-]% {MONTHNUM} [./-]% {MONTHDAY} [Т]% { HOUR}:?% {MINUTE} (? ::?% {SECOND})?% {ISO8601_TIMEZONE}

и он отлично работал. Ключ был [^ \ d \ d] перед% {YEAR}

Смежные вопросы