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