ElasticSearch - получение новых записей - PullRequest
0 голосов
/ 26 ноября 2018

У меня есть экземпляр Logstash, который использует плагин Elasticsearch в качестве входных данных.Этот плагин ввода имеет расписание * * * * *.Когда он запускается, я хочу получить входные записи в мой экземпляр Elasticsearch с момента последнего запуска планировщика?Похоже, мне нужен способ сказать плагину, чтобы он дал мне документы, начинающиеся при запуске logstash.Тогда иди оттуда.Однако в настоящее время я использую поле «@timestamp» в своем запросе, и он получает все документы в индексе Elasticsearch с момента запуска моего индекса Elasticsearch.

Как получить документы в индексе Elasticsearch, начинающемся при запуске Logstash, а затем получить новые документы с момента последнего запуска расписания?

Я бьюсь об этом по головебез удачи.Заранее большое спасибо за помощь!

1 Ответ

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

Из того, что я прочитал, это может быть невозможно с большой точностью.Лучшее, что я вижу, - это запускать запрос каждую минуту, а запрос должен оглядываться только на одну минуту.Очевидно, что существует множество крайних случаев, которые приводят к отсутствию и дублированию данных.

Плагин JDBC поддерживает last_run_metadata_path для хранения в последний раз и может сделать его доступным для запроса как :sql_last_start.Я не вижу, чтобы кто-нибудь когда-либо запрашивал эту функцию для плагина ввода ES.

...