I'm running Logstash 6.6.1 in a Docker container in a cloud computing environment (Heroku). There's a limit on app boot time on Heroku, which is problematic for me because Logstash sometimes takes up to 2 minutes to start.
I think I have a pretty simple setup:
Input via tcp
Extract a JSON component from each log entry
Output to Elasticsearch and S3
Here's my config and a log of the startup process:
It's not one thing that seems to be taking a long time. That log is from the container running on Heroku, but it takes about as long when I run it locally. Is this kind of startup performance expected for Logstash or is there something wrong with my setup?
My assumption is that most of the time is spent spinning up the JVM. Once the JVM is up and running, the rest of the logstash startup is pretty quick (maybe another 5 to 10 seconds).
I have this same problem on all of my VM's, physical servers, and cloud servers. This happens on fresh installs as well.
I just tested on my servers and it took 1:41 to startup.
I have a pretty complex pipeline setup on mine, I am running around a dozen pipelines right now over multiple ports.
Honestly, I have not tried logstash in Docker yet. My environment does not warrant that kind of separation...yet.
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.