Logstash - APIs de monitoramento

Logstash oferece APIs para monitorar seu desempenho. Essas APIs de monitoramento extraem métricas de tempo de execução sobre o Logstash.

API Node Info

Esta API é usada para obter informações sobre os nós do Logstash. Ele retorna as informações do sistema operacional, do pipeline do Logstash e da JVM no formato JSON.

Você pode extrair as informações enviando um get pedido para Logstash usando o seguinte URL -

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

Resposta

A seguir está a resposta da API de informações do nó.

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

Você também pode obter as informações específicas do Pipeline, OS e JVM, apenas adicionando seus nomes na URL.

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

API Plugins Info

Esta API é usada para obter informações sobre os plug-ins instalados no Logstash. Você pode recuperar essas informações enviando uma solicitação get para o URL mencionado abaixo -

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

Resposta

A seguir está a resposta da 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

Esta API é usada para extrair as estatísticas do Logstash (Memória, Processo, JVM, Pipeline) em objetos JSON. Você pode recuperar essas informações enviando uma solicitação get para os URLs mencionados abaixo -

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 as informações sobre os tópicos ativos no Logstash. Threads ativos são os threads java, que têm alto uso da CPU e são executados por mais tempo do que o tempo de execução normal. Você pode recuperar essas informações enviando uma solicitação get para o URL mencionado abaixo -

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

Um usuário pode usar o seguinte URL para obter a resposta em um formato mais legível.

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