Get logstash version

Solution 1:

Logstash is one of those things that just doesn't quite live where you expect it to live, and the documentation is reallllly light (read: non-existent) on where they expect you to find things, so if you've installed it from a package then it can be nigh impossible to find the expected location documented. 1

Logstash typically lives in /opt/logstash and you can find the logstash binary in the bin folder (/opt/logstash/bin).

From there you can run -V or --version

./logstash -v

or

./logstash --version

From your comments on another answer, it would appear that this is in a docker container. This is the sort of thing you should really be including in your original question.

You will want to make use of docker exec. You will need to use docker ps to list your containers, and pass that through to your docker exec command.

For example:

docker exec -d elk_container /opt/logstash/bin/logstash --version

1I don't want this to be misconstrued. Logstash documentation is excellent - it's just the parts about where all the different bits are expected to live that's impossible to find

Solution 2:

On Logstash 5.x on CentOS/Red Hat:

Location of logstash binary: /usr/share/logstash/bin/

Then this will tell you the version: ./logstash -V


Solution 3:

Try find /-type f -name "logstash" 2>/dev/null to find logstash, it will take some time to return though.

Then with the location of logstash run the binary with the --version flag