Logstash игнорирует несколько фильтров даты - PullRequest
0 голосов
/ 21 мая 2019

Я делаю 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}"}
  }

1 Ответ

1 голос
/ 21 мая 2019

Это потому, что по умолчанию % {+ EEEEE} и % {+ 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"))'
}
...