2017-08-10 11 views
0

の元、私はのように見えたlogstashするために送られたJSONログメッセージがあります。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を試してみましたスペースの周りに引用符を追加するなど、日付フィルタの前に突然変異を付けてフィールドの名前を変更する(同じ警告が表示され、タイムスタンプが見つからないというエラー)など...

保存された値弾性検索では、タイムスタンプはログが解析された時刻であり、元の時刻ではありません(2/3秒後)。

私には何が欠けていますか?

答えて

1

私は問題は、ソースメッセージのフィールドが@timestampという名前で、デフォルトと同じだと思います。

私たちは、に設定を変更、追加、ソース内のフィールドの名前を変更することによってそれを解決:

date { 
    match => ["apptimestamp", "yyyy-MM-dd HH:mm:ss.SSS"] 
    timezone => "Europe/Paris" 
} 
関連する問題