elasticsearch 忽略多个日期筛选器的日志存储,elasticsearch,logstash,elasticsearch,Logstash" /> elasticsearch 忽略多个日期筛选器的日志存储,elasticsearch,logstash,elasticsearch,Logstash" />

elasticsearch 忽略多个日期筛选器的日志存储

elasticsearch 忽略多个日期筛选器的日志存储,elasticsearch,logstash,elasticsearch,Logstash,我正在生成一个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

我正在生成一个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}"}
  }
这是因为默认情况下,%{+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"))'
}