Logstash provides the following monitoring APIs to retrieve runtime metricsabout Logstash:
You can use the root resource to retrieve general information about the Logstash instance, includingthe host and version.
curl -XGET 'localhost:9600/?pretty'
Example response:
{ "host": "skywalker", "version": "7.0.1", "http_address": "127.0.0.1:9600"}
By default, the monitoring API attempts to bind to tcp:9600
. If this port is already in use by another Logstashinstance, you need to launch Logstash with the --http.port
flag specified to bind to a different port. SeeCommand-Line Flags for more information.
The following options can be applied to all of the Logstash monitoring APIs.
When appending ?pretty=true
to any request made, the JSON returnedwill be pretty formatted (use it for debugging only!).
For Logstash 7.0.1, the human
option is supported for the Hot Threads APIonly. When you specify human=true
, the results are returned in plain text instead ofJSON format. The default is false.
Statistics are returned in a format suitable for humans(eg "exists_time": "1h"
or "size": "1kb"
) and for computers(eg "exists_time_in_millis": 3600000
or "size_in_bytes": 1024
).The human-readable values can be turned off by adding ?human=false
to the query string. This makes sense when the stats results arebeing consumed by a monitoring tool, rather than intended for humanconsumption. The default for the human
flag isfalse
.