2017-08-10 663 views
0

我发送JSON日志消息logstash它看起来像:Logstash:无法识别@timestamp值,设置当前时间@timestamp,原来在_ @时间戳字段

{"@timestamp":"2017-08-10 11:32:14.619","level":"DEBUG","logger_name":"application","message":"Request processed in 1 ms"} 

而且logstash配置有:

json { 
    source => "message" 
} 

date { 
    match => ["@timestamp", "yyyy-MM-dd HH:mm:ss.SSS"] 
    timezone => "Europe/Paris" 
} 

但我在日志中这样的警告:

[2017-08-10T11:21:16,739][WARN ][logstash.filters.json ] Unrecognized @timestamp value, setting current time to @timestamp, original in [email protected] field {:value=>"\"2017-08-10 11:20:34.527\""} 

我尝试了不同的configu比如在空间周围添加引号,在日期过滤器之前使用mutate重命名该字段(其结果具有相同的警告,并且错误指出时间戳丢失)等等。

在存储的值在弹性搜索中,时间戳是日志分析的时间,而不是原始(2/3秒后)。

我错过了什么?

回答

1

我认为问题在于,源消息中的字段被命名为@timestamp,就像缺省值一样。

我们通过在源重命名场解决它,添加改变配置来:

date { 
    match => ["apptimestamp", "yyyy-MM-dd HH:mm:ss.SSS"] 
    timezone => "Europe/Paris" 
} 
相关问题