Надеюсь, кто-то может мне помочь. Ik имеют следующую настройку:Извлечь временную метку из JSON и использовать ее как временную отметку события стартаста
shipper >> redis >> logstash >> elasticsearch
Logstash имеет вход, который извлекает данные журнала из redis. Следующий JSON проходит линия Redis:
{
"@fields": {
"level": "INFO",
"mdc": {},
"file": "ContextLoader.java",
"class": "org.springframework.web.context.ContextLoader",
"line_number": "273",
"method": "initWebApplicationContext"
},
"@timestamp": "2013-12-18T11::29:29.115+01:00",
"@message": "Root WebApplicationContext: initialization started",
"@source_host": "test-host"
}
Конфигурация logstash Я использую прост:
input {
redis {
data_type => "list"
key => "logstash:test:host"
codec => "json"
}
}
filter{
date {
match => [ "@timestamp", "dd-MMM-YYYY:HH:mm:ssZ", "dd-MMM-YYYY:HH:mm:ss Z", "ISO8601" ]
}
}
output {
stdout{
debug => true
}
}
Когда я использую вышеуказанную конфигурацию, я вижу, что отметка времени события logstash используется (2013-12-18T12:53:14.169Z)
и Я получаю следующее сообщение об ошибке с моей отладки экрана:
Failed parsing date from field {:field=>"@timestamp", :value=>"2013-12-18T12:53:14.177Z", :exception=>#<TypeError: cannot convert instance of class org.jruby.RubyTime to class java.lang.String>, :level=>:warn}
из этого я могу сделать следующий вывод:
Когда запись журнала входит в качестве входных данных, метка времени записи журнала json перезаписывается событием timestamp в журнале старта. Затем, когда фильтр даты пытается проанализировать временную метку, он терпит неудачу, потому что нет совпадения.
Я хочу использовать временную метку записи журнала json как метку времени события logstash. Как я могу это достичь? Я использую версию logstash 1.3.1.
Ошибка выглядит связанной: [LOGSTASH-1340: Если фильтр заменяет @timestamp строкой, то сброс события завершился неудачей] (https://logstash.jira.com/browse/LOGSTASH-1340). Несколько человек предложили обходные пути, которые вы могли бы попробовать. – rutter
Да, я так думаю. Thnx. – user3115768
«T11 :: 29: 29» в вашем примере должна быть опечатка, или? – Rbjz