Я использую logstash для анализа входного сообщения json, а затем добавляю еще одно поле из одного из проанализированных значений:

filter {
  json {
    source => "message"
    target => "data"
  }
  mutate {
    add_field => {
        "index_date" => "%{[data][@timestamp]}}"
    }
  }
}

Это отлично работает, но теперь мне нужно, чтобы index_date была только датой. Как отформатировать поле [data][@timestamp] так, чтобы отображалась только дата?

1
javapenguin 5 Ноя 2018 в 22:38

1 ответ

Лучший ответ

Вам нужно будет установить плагин date_formatter с

bin/logstash-plugin install logstash-filter-date

И затем вы можете использовать что-то подобное в своей функции фильтра logstash

date_formatter {
    source => "index_data"
    target => "[@metadata][indexDateOnlyDate]"
    pattern => "YYYY.MM.dd"}

Это должно работать :)

1
Robin Medland 6 Ноя 2018 в 16:28