Logstash как сервис с входом JDBC - PullRequest
0 голосов
/ 26 апреля 2019

В настоящее время у меня есть служба, которая выполняет несколько запросов для создания данных в моей базе данных.Затем он использует плагин ввода JDBC Logstash для отправки данных в Elastic Search.Проблема в том, что Logstash занимает довольно много времени при начальной загрузке (иногда больше, чем время, необходимое для отправки данных в Elastic Search).

Я решил изучить возможность запуска Logstash как службы, чтобы стереть это время начальной загрузки,однако, похоже, нет способа заставить его работать как службу и принимать «запросы» на выполнение оператора JDBC.

Кажется, что наиболее близким является использование плагина TCP / HTTP / Websocket для получения данных от моего сервисаи затем отправьте его в Elastic Search.

Имеет ли смысл попытаться разработать что-то подобное или лучше связываться напрямую с Elastic Search с помощью моего сервиса?

Надеюсь, мой вопросдостаточно ясно, спасибо.

1 Ответ

0 голосов
/ 30 апреля 2019

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

После прочтения множества обсуждений на форуме я пришел к выводу, что:

  1. В настоящее время невозможнонастроить вход JDBC и запускать его по своему желанию (https://discuss.elastic.co/t/trigger-logstash-jdbc-input-plugin/54278).. Самое близкое, что вы можете получить, это либо использовать опцию schedule, делать это периодически, либо запускать / останавливать службу вручную, что приводит нас к
  2. Запуск Logstash занимает довольно много времени, так как это Java-сервис ( Почему logstash занимает так много времени для запуска / загрузки? ). Единственный способ ускорить это - это увеличитьспецификации машины или, для версий до 5.5.0, изменить источник энтропии для java: (https://discuss.elastic.co/t/logstash-starting-damn-slow/125708/3)
  3. Можно полностью Logstash и использовать вместо этого один (или более параллельно !!!) ES _bulk запросовчтобы заполнить индекс как можно быстрее (https://discuss.elastic.co/t/fastest-way-to-import-billions-of-documents/81317/3).
  4. Если кто-то не хочет отбрасывать Logstash, то рекомендуется написать собственный плагин ввода: https://www.elastic.co/guide/en/logstash/current/input-new-plugin.html.
...