I am currently using JDBC input in my logstash configuration. I would like to know what is the most simple setup or common approach to ensure that the records extracted from DB are delivered to Elastic? I am leaning towards persistent queues but if I understand correctly, persistent queues only applicable to inputs that uses a request-response protocol.
If you enable the persistent queue you should be fine.
I am leaning towards persistent queues but if I understand correctly, persistent queues only applicable to inputs that uses a request-response protocol.
@magnusbaeck thanks for the reply. i thought jdbc input would not work with persistent.. maybe i was wrong.
however, tried it just now to ingest over 2 million rows but it seems not all rows were sent to elastic. should logstash be processing all events from the queue before shutting down?
Part of the point of the persistent queue is that Logstash won't have to wait for the queue to drain before shutting down since the queue will be available the next time it starts up.
Thanks @magnusbaeck. It works well when ingesting around 300K to 400K rows but with around 2 million records, its just slow and when i looked at the monitoring stats for logstash, events received/sent just doubled up.
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.