In this guide we will discuss about Monitoring APIs in Logstash. Logstash offers APIs to monitor its performance. These monitoring APIs extract runtime metrics about Logstash.
Node Info API
This API is used to get the information about the nodes of Logstash. It returns the information of the OS, Logstash pipeline and JVM in JSON format.
You can extract the information by sending a get request to Logstash using the following URL −
GET http://localhost:9600/_node?pretty
Response
Following would be the response of the Node Info API.
{ "host" : "Dell-PC", "version" : "5.0.1", "http_address" : "127.0.0.1:9600", "pipeline" : { "workers" : 4, "batch_size" : 125, "batch_delay" : 5, "config_reload_automatic" : false, "config_reload_interval" : 3 }, "os" : { "name" : "Windows 7", "arch" : "x86", "version" : "6.1", "available_processors" : 4 }, "jvm" : { "pid" : 312, "version" : "1.8.0_111", "vm_name" : "Java HotSpot(TM) Client VM", "vm_version" : "1.8.0_111", "vm_vendor" : "Oracle Corporation", "start_time_in_millis" : 1483770315412, "mem" : { "heap_init_in_bytes" : 16777216, "heap_max_in_bytes" : 1046937600, "non_heap_init_in_bytes" : 163840, "non_heap_max_in_bytes" : 0 }, "gc_collectors" : [ "ParNew", "ConcurrentMarkSweep" ] } }
You can also get the specific information of Pipeline, OS and JVM, by just adding their names in the URL.
GET http://localhost:9600/_node/os?pretty GET http://localhost:9600/_node/pipeline?pretty GET http://localhost:9600/_node/jvm?pretty
Plugins Info API
This API is used to get the information about the installed plugins in the Logstash. You can retrieve this information by sending a get request to the URL mentioned below −
GET http://localhost:9600/_node/plugins?pretty
Response
Following would be the response of the Plugins Info API.
{ "host" : "Dell-PC", "version" : "5.0.1", "http_address" : "127.0.0.1:9600", "total" : 95, "plugins" : [ { "name" : "logstash-codec-collectd", "version" : "3.0.2" }, { "name" : "logstash-codec-dots", "version" : "3.0.2" }, { "name" : "logstash-codec-edn", "version" : "3.0.2" }, { "name" : "logstash-codec-edn_lines", "version" : "3.0.2" }, ............ }
Node Stats API
This API is used to extract the statistics of the Logstash (Memory, Process, JVM, Pipeline) in JSON objects. You can retrieve this information by sending a get request to the URLS mentioned below −
GET http://localhost:9600/_node/stats/?pretty GET http://localhost:9600/_node/stats/process?pretty GET http://localhost:9600/_node/stats/jvm?pretty GET http://localhost:9600/_node/stats/pipeline?pretty
Hot Threads API
This API retrieves the information about the hot threads in Logstash. Hot threads are the java threads, which has high CPU usage and run longer than then normal execution time. You can retrieve this information by sending a get request to the URL mentioned below −
GET http://localhost:9600/_node/hot_threads?pretty
A user can use the following URL to get the response in a form that is more readable.
GET http://localhost:9600/_node/hot_threads?human = true
Next Topic : Click Here
Pingback: Logstash - Plugins | Adglob Infosystem Pvt Ltd