Установить Logstash Date Filter от текущей даты до последних 3 дней - PullRequest
0 голосов
/ 28 ноября 2018

У меня есть полная база данных в одном индексе и ежедневные базы, мне нужно создать или получить 3-дневные записи и сохранить в формате CSV.Цель ежедневная, она занимает 3 дня назад записи и хранится в файле CSV.Как установить начало с текущей даты на последние 3 дня, используя только logstash.config?

Мой файл конфигурации Logstash

input {
elasticsearch {
     hosts => "**Endpoint URL**"
     index => "**Index NAME**"
     user => "***"
     password => "***"
     query => '{ "query": { "query_string": { "query": "*" } } }'
    }
}
filter {
csv {
separator => ","
autodetect_column_names => true
autogenerate_column_names => true
}
}  
output {
     stdout {  
     codec => json_lines
            }
     csv {
     fields => []
     path => "C:/ELK_csv/**cvs_File_Name**.csv"     
  }
  }

Необходимо добавить диапазон фильтра даты

{"query":{"bool":{"must":[{"range":{"createddate":{"gte":"","lt":""}}}],"must_not":[],"should":[]}},"from":0,"size":5000,"sort":[],"aggs":{}}

Начало работы с текущей даты и последние 3 дня.

1 Ответ

0 голосов
/ 28 ноября 2018

Рабочий код файла Logstash.config

input {
elasticsearch {
     hosts => "**ELK ENDPOINT URL**"
     index => "**INDEX NAME**"
     user => "***"
     password => "***"
     query => '{ "query":{"bool":{"must":[{"range":{"createddate":{"gt":"now-3d/d","lte":"now/d"}}}],"must_not":[],"should":[]}},"from":0,"size":10000,"sort":[],"aggs":{} }'
    }
}
filter {
csv {
separator => ","
autodetect_column_names => true
autogenerate_column_names => true
}
}  
output {
     stdout {  
     codec => json_lines
            }
     csv {
     fields => [**FIELDS NAMES**]
     path => "C:/ELK6.4.2/logstash-6.4.2/bin/tmp/**CSV_3days**.csv"     
  }
  }
...