Logstash - elasticsearch получает только новые данные

Я хочу запустить процесс logstash, который собирает данные в реальном времени с определенным значением в поле и выводит их на экран. До сих пор я придумал эту конфигурацию:

input {
    elasticsearch {
        hosts => "localhost"
        user => "logstash"
        password => "logstash"
        size => 100
        query =>'{ "query" : { "bool" : { "must" : { "bool" : { "should" : [ {"match": {"field": "value2"}}, {"match": {"field": "value1"}} ] } } } } }'
    }
}

output {
    stdout {
        codec => rubydebug
    }
}

Что я узнал из этой конфигурации, так это то, что:

  • Logstash выводит данные партиями, что определяется параметром размера.
  • Между каждым пакетом есть задержка в несколько секунд.
  • Logstash сначала захватил данные из существующих данных.

Мой вопрос: есть ли какая-либо конфигурация, которая может повернуть процесс так, чтобы logstash только прослушивал новые данные и выдавал их, как только данные поступали в Elastic? Любая помощь будет оценена по достоинству.


person Aldibe    schedule 07.02.2017    source источник
comment
Эти ответы могут помочь: stackoverflow.com/questions/39097846/ + stackoverflow.com/questions/37163697/ + stackoverflow.com/questions/41763752/   -  person Val    schedule 07.02.2017
comment
Последний ответ включает в себя вызов logstash в cron (например, каждую минуту) и запрос ES для документа, проиндексированного за последнюю минуту.   -  person Val    schedule 07.02.2017