Я тестирую свою конфигурацию logstash с помощью rspec, чтобы соответствовать основному журналу tomcat, но когда я указываю поля в моем шаблоне grok, он терпит неудачу (без полей, он преуспевает!)._grokparsefailure при включении «семантической» части
config <<-CONFIG
filter {
grok {
patterns_dir -> "./patterns"
pattern => "%{CATALINA_DATESTAMP:logTimestamp} %{JAVACLASS} %{WORD}"
}
}
CONFIG
sample 'Jul 15, 2015 9:33:23 AM org.apache.catalina.core.ApplicationContext log'
// EDIT: исправлены TOMCAT_DATESTAMP к CATALINA_DATESTAMP, который: не
CATALINA_DATESTAMP %{MONTH} %{MONTHDAY}, 20%{YEAR} %{HOUR}:?%{MINUTE}(?::?%{SECOND}) (?:AM|PM)
Когда ": logTimestamp" часть находится в шаблоне, ничего подобран. когда он удаляется, он соответствует строке ... любые идеи о том, почему? Это ошибка пользователя, установка ошибки или что-то еще?
Я сделал ошибку в моем примере, я имел в виду положить% {CATALINA_DATESTAMP}, которая делает матч, и без: logTimestamp части, она проходит ... с: logTimestamp он терпит неудачу , – DUBYATOO
Какую версию Logstash вы используете? Вы можете использовать _match_ вместо _pattern_ (_pattern_ is [устарело] (https://www.elastic.co/guide/en/logstash/current/plugins-filters-grok.html#plugins-filters-grok-pattern)) , – hurb
Я использовал 1.4.2, когда эта проблема возникла ... С тех пор я переключился на 1.5.2 и теперь все работает – DUBYATOO