Обнаружение ошибок в logstash

Когда я определил шаблон для анализа файлов журнала apache tomcat и приложений в logstash, мы получаем следующую ошибку. Пример файла журнала:

2014-08-20 12:35:26,037 INFO [routerMessageListener-74] PoolableRuleEngineFactory Executing the rule -->ECE Tagging Rule

файл конфигурации:

filter{
   grok{
    type => "log4j"
    #pattern => "%{TIMESTAMP_ISO8601:logdate} %{LOGLEVEL:severity} \[\w+\[%              {GREEDYDATA:thread},.*\]\] %{JAVACLASS:class} - %{GREEDYDATA:message}"
    pattern => "%{TIMESTAMP_ISO8601:logdate}"

    #add_tag => [ "level_%{level}" ]
 }



   date {
        match => [ "logdate", "YYYY-MM-dd HH:mm:ss,SSS"]
   }
}

Неизвестная настройка 'timestamp' для даты {:level=>:error}


person user961778    schedule 04.09.2014    source источник


Ответы (1)


В вашем сообщении не отображается настройка «отметка времени» для вашего фильтра дат. Я подозреваю, что вы начали с приведенного здесь примера, в котором использовалась настройка метки времени, которая использовалась в более старых версиях фильтра даты. Вы правильно исправили его для более новой версии logstash, чтобы использовать настройку соответствия, но, возможно, не сохранили ваше изменение. У меня нет проблем с использованием вышеуказанного фильтра с logstash-1.5.3.

Вот мой полный файл конфигурации. Примечание. Я все еще тестирую его, но, похоже, он работает над импортом журнала JBoss с сообщениями журнала Log4J, импортированными из существующего файла журнала.

input {
  tcp {
    type => "log4j"
    port => 4560
  }
  stdin {
    type => "log4j"
  }
}

filter {
  grok{
    type => "log4j"
    #pattern => "%{TIMESTAMP_ISO8601:logdate} %{LOGLEVEL:severity} \[\w+\[%{GREEDYDATA:thread},.*\]\] %{JAVACLASS:class} - %GREEDYDATA:message}"
    pattern => "%{TIMESTAMP_ISO8601:logdate}"

    #add_tag => [ "level_%{level}" ]
 }

  date {
    type => "log4j"
    match => [ "logdate", "YYYY-MM-dd HH:mm:ss,SSS"]
    exclude_tags => "_grokparsefailure"
  }

  # Catches normal space indented type things, probably could be removed b/c the other multiline should do everythign we need
  multiline {
    type => "log4j"
    tags => ["_grokparsefailure"] # exclude anything we already handled
    pattern => ".*"
    what => "previous"
    add_tag => "notgrok"
  }
}


output {
  gelf {
     host => "localhost"
     custom_fields => ["environment", "PROD", "service", "BestServiceInTheWorld"]
     }
  # Print each event to stdout.
  stdout {
    codec => json
  }
}
person Farrukh Najmi    schedule 21.08.2015