Logstash: monitoraggio delle API

Logstash offre API per monitorare le sue prestazioni. Queste API di monitoraggio estraggono le metriche di runtime su Logstash.

API Info nodo

Questa API viene utilizzata per ottenere le informazioni sui nodi di Logstash. Restituisce le informazioni del sistema operativo, della pipeline Logstash e della JVM in formato JSON.

È possibile estrarre le informazioni inviando un file get richiesta a Logstash utilizzando il seguente URL -

GET http://localhost:9600/_node?pretty

Risposta

Di seguito sarebbe la risposta dell'API Node Info.

{
   "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" ]
   }
}

Puoi anche ottenere le informazioni specifiche di Pipeline, OS e JVM, semplicemente aggiungendo i loro nomi nell'URL.

GET http://localhost:9600/_node/os?pretty
GET http://localhost:9600/_node/pipeline?pretty
GET http://localhost:9600/_node/jvm?pretty

Plugin Info API

Questa API viene utilizzata per ottenere le informazioni sui plug-in installati nel Logstash. Puoi recuperare queste informazioni inviando una richiesta get all'URL indicato di seguito -

GET http://localhost:9600/_node/plugins?pretty

Risposta

Di seguito sarebbe la risposta dell'API Plugins Info.

{
   "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"
   },
   ............
}

API Node Stats

Questa API viene utilizzata per estrarre le statistiche del Logstash (Memoria, Processo, JVM, Pipeline) negli oggetti JSON. Puoi recuperare queste informazioni inviando una richiesta get agli URL menzionati di seguito -

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

API Hot Threads

Questa API recupera le informazioni sui thread attivi in ​​Logstash. Gli hot thread sono i thread java, che hanno un elevato utilizzo della CPU e durano più a lungo del normale tempo di esecuzione. Puoi recuperare queste informazioni inviando una richiesta get all'URL indicato di seguito -

GET http://localhost:9600/_node/hot_threads?pretty

Un utente può utilizzare il seguente URL per ottenere la risposta in una forma più leggibile.

GET http://localhost:9600/_node/hot_threads?human = true