Сбой шаблона с grok из-за более длинного целого числа в столбце

Я использовал отладчик grok, чтобы заставить работать верхний формат, и elasticsearch отлично его видит. В конце концов, когда попадает строка журнала, подобная приведенной ниже, она выдает тег с «grokparsefailure» из-за дополнительного пробела перед каждым целым числом (я предполагаю). Есть ли тег, который я могу использовать для принятия чего угодно, независимо от того, насколько длинным или коротким будет каждый столбец?

0000003B 2015-03-14 07:46:14.618 16117 16121

00000DA1 2015-03-14 07:45:54.609  6382  6382

person pcproff    schedule 14.03.2015    source источник


Ответы (3)


Один или несколько пробелов между двумя целыми числами:

%{INT} +%{INT}
person Alain Collins    schedule 15.03.2015

Также можно использовать встроенный шаблон logstash %{SPACE} для соответствия любому количеству пробельных символов.

%{INT:num1}%{SPACE}%{INT:num2}

person kev.p.g    schedule 16.03.2015

В итоге я сделал собственный фильтр, так как знал, что мои значения составляют от 4 до 5 символов, а затем использовал Patterns_dir => "./patterns" в моем файле conf.

_ID [0-9A-F]{4,5}

_ID2 [0-9A-F]{4,5}

ОБНОВИТЬ*****

мое решение не сработало, потому что число может быть от 3 до 6 символов. Более простое решение было предоставлено выше. Отмечено как ответ.

person pcproff    schedule 14.03.2015