Назад | Перейти на главную страницу

Logstash продолжил работу после _grokparsefailure

Добрый день,

(с использованием logstash 1.4.2)

Я пытаюсь сделать что-то вроде:

filter {
 if type == "feed" {
   grok {
     match => [ "message", "%{COMBINEDAPACHELOGS}" ]
     add_tag => [ "grokked", "web" ]
     tag_on_failure => [ "notweb" ]
   }
  }
  if type == "feed" and "notweb" in [tags] {
    grok {
      patterns_dir => "/opt/logstash/patterns"
      match => [ "message", "%{ERROPARSING}" ]
      add_tag => [ "grokked", "%{[level]}" ] # %{level} named from ERRORPARSING
    }
   }
}

Но весь материал notweb заканчивается ошибкой _grokparsefailure, как если бы следующий шаг не был протестирован / оценен.

% {ERRORPARSING} правильно протестирован в Grokdebugger.

Не уверен, что это причина, но все же предположение, это:

if type == "feed" and "notweb" in [tags] {

Возможно, это не совсем необходимо, если у вас нет нескольких разных вещей, которые вы помечаете notweb, и в этом случае вы можете изменить тег:

if "notweb" in [tags] {

Кроме того, то, что что-то работает в Grokdebugger, не всегда означает, что это будет работать в logstash, есть несколько отличий, вставьте свой шаблон, если мое первое предложение не помогает