【问题标题】:Logstash : Unrecognized @timestamp value, setting current time to @timestamp, original in _@timestamp fieldLogstash : 无法识别的@timestamp 值,将当前时间设置为@timestamp,原始在_@timestamp 字段中
【发布时间】:2017-08-10 09:40:44
【问题描述】:

我将 json 日志消息发送到 logstash,如下所示:

{"@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 _@timestamp field {:value=>"\"2017-08-10 11:20:34.527\""}

我尝试了不同的配置,例如在空格周围添加引号,在日期过滤器之前使用 mutate 重命名字段(结果相同的警告,并且错误提示缺少时间戳)等等...

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

我错过了什么?

【问题讨论】:

    标签: logstash elastic-stack logstash-configuration


    【解决方案1】:

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

    我们通过重命名源中的字段来解决它,将配置更改为:

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

    【讨论】:

      猜你喜欢
      • 2015-01-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-23
      • 2017-02-21
      相关资源
      最近更新 更多