Logstash: API de supervisión
Logstash ofrece API para monitorear su desempeño. Estas API de supervisión extraen métricas de tiempo de ejecución sobre Logstash.
API de información de nodo
Esta API se utiliza para obtener información sobre los nodos de Logstash. Devuelve la información del sistema operativo, la canalización de Logstash y la JVM en formato JSON.
Puede extraer la información enviando un get solicitud a Logstash utilizando la siguiente URL:
GET http://localhost:9600/_node?pretty
Respuesta
La siguiente sería la respuesta de la API de información de nodo.
{
"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" ]
}
}
También puede obtener la información específica de Pipeline, OS y JVM, simplemente agregando sus nombres en la URL.
GET http://localhost:9600/_node/os?pretty
GET http://localhost:9600/_node/pipeline?pretty
GET http://localhost:9600/_node/jvm?pretty
API de información de complementos
Esta API se utiliza para obtener información sobre los complementos instalados en Logstash. Puede recuperar esta información enviando una solicitud de obtención a la URL que se menciona a continuación:
GET http://localhost:9600/_node/plugins?pretty
Respuesta
La siguiente sería la respuesta de la API de información de complementos.
{
"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 de estadísticas de nodo
Esta API se utiliza para extraer las estadísticas de Logstash (memoria, proceso, JVM, canalización) en objetos JSON. Puede recuperar esta información enviando una solicitud de obtención a las URL mencionadas a continuación:
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 de Hot Threads
Esta API recupera la información sobre los hilos calientes en Logstash. Los subprocesos calientes son los subprocesos de Java, que tienen un alto uso de la CPU y se ejecutan más que el tiempo de ejecución normal. Puede recuperar esta información enviando una solicitud de obtención a la URL que se menciona a continuación:
GET http://localhost:9600/_node/hot_threads?pretty
Un usuario puede usar la siguiente URL para obtener la respuesta en un formato más legible.
GET http://localhost:9600/_node/hot_threads?human = true