2014-09-04 6 views
0

Когда я определил шаблон для разбора файлов apache tomcat и файлов журнала приложений в logstash, мы получаем следующую ошибку. файл журнала Образец:Облицовка ошибок в 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"] 
    } 
} 

Неизвестный параметр 'метка времени' на сегодняшний день {: уровень =>: ошибка}

ответ

0

Ваш пост не показывает установку 'timestamp' для фильтра даты. Я подозреваю, что вы начали с примера здесь, где использовалась установка временной отметки, которая раньше использовалась в более старых версиях фильтра даты. Вы правильно исправили его для более новой версии 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 
    } 
} 
Смежные вопросы