2017-08-10 667 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" 
} 
相關問題