Logstash 日志存储日期筛选器不处理月份

Logstash 日志存储日期筛选器不处理月份,logstash,Logstash,我们的对象,已解析和所有: { "message" => "[2014-12-15 14:28:03,786] WARN org.apache.sshd.serve "@version" => "1", "@timestamp" => "2014-01-15T14:28:03.786Z", "type" => "errorlog", "host" => "localhos

我们的对象,已解析和所有:

{
         "message" => "[2014-12-15 14:28:03,786] WARN  org.apache.sshd.serve
        "@version" => "1",
      "@timestamp" => "2014-01-15T14:28:03.786Z",
            "type" => "errorlog",
            "host" => "localhost",
            "path" => "/var/lib/gerrit/log/error_log",
            "tags" => [
    [0] "multiline"
],
"gerrit_timestamp" => "2014-12-15 14:28:03,786",
        "loglevel" => "WARN",
          "object" => "org.apache.sshd.server.session.ServerSession"
}
如您所见,我们正在将日期提取到
gerrit\u timestamp
中。然后我们有一个日期过滤器来读取
gerrit_timestamp
,并将其填充到
@timestamp

date {
   type => "errorlog"
   match => [ "gerrit_timestamp", "YYYY-MM-DD HH:mm:ss,SSS" ]
   target => "@timestamp"
 }

那么为什么@timestamp会被禁用11个月呢?

根据经验,需要使用正确的日期布局来调用日期函数,否则什么也不会出现,我不确定为什么您的日期会被禁用11个月。在您的示例中,我建议您尝试以下方法:

date {
   type => "errorlog"
   match => [ "gerrit_timestamp", "yyyy-MM-dd HH:mm:ss,SSS" ]
 }
本例中的目标是冗余的,因为默认行为是将值设置为@timestamp。因为y是年,而y是纪年,不完全相同,D是一年中的某一天,即1-365之间,而不是月份的某一天,即D