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