【问题标题】:Logstash ignoring multiple date filtersLogstash 忽略多个日期过滤器
【发布时间】:2019-10-07 09:32:59
【问题描述】:

我正在制作一个 logstash .conf,在我的过滤器上我需要提取两个时间戳的工作日,但 Logstash 表现得好像他只在做一个匹配,例如:

Timestamp 1: Mar 7, 2019 @ 23:41:40.476 .  => Thursday

Timestamp 2: Mar 1, 2019 @ 15:22:47.209 .  => Thu

预期输出

Timestamp 1: Mar 7, 2019 @ 23:41:40.476 .  => Thursday

Timestamp 2: Mar 1, 2019 @ 15:22:47.209 .  => Fri

这些是我的过滤器:

date {
    match => ["[system][process][cpu][start_time]", "dd-MM-YYYY HH:mm:ss", "ISO8601"]
    target => "[system][process][cpu][start_time]"
    add_field => {"[Weekday]" => "%{+EEEEE}"}
  }
date {
    match => ["[FechaPrimero]", "dd-MM-YYYY HH:mm:ss", "ISO8601"]
    target => "[FechaPrimero]"
    add_field => {"[WeekdayFirtsDay]" => "%{+EE}"}
  }

【问题讨论】:

    标签: elasticsearch logstash


    【解决方案1】:

    这是因为默认情况下 %{+EEEE}%{+EE} 考虑到 @timestamp 字段,并且没有用户自定义字段(不知道文档里有没有写)

    据我所知,这样做的唯一方法是使用 ruby​​ 代码的一部分来提取星期几,如下所示:

    ruby {
      code => 'event.set("Weekday", Time.parse(event.get("[system][process][cpu][start_time]").to_s).strftime("%A"))'
    }
    ruby {
      code => 'event.set("FechaPrimero", Time.parse(event.get("FechaPrimero").to_s).strftime("%a"))'
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-10-20
      • 1970-01-01
      • 2016-05-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-14
      • 1970-01-01
      相关资源
      最近更新 更多