Logstash - API de surveillance

Logstash propose des API pour surveiller ses performances. Ces API de surveillance extraient des métriques d'exécution sur Logstash.

API Node Info

Cette API est utilisée pour obtenir les informations sur les nœuds de Logstash. Il renvoie les informations du système d'exploitation, du pipeline Logstash et de la JVM au format JSON.

Vous pouvez extraire les informations en envoyant un get demande à Logstash en utilisant l'URL suivante -

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

Réponse

Voici la réponse de l'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" ]
   }
}

Vous pouvez également obtenir les informations spécifiques de Pipeline, OS et JVM, en ajoutant simplement leurs noms dans l'URL.

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

API Info Plugins

Cette API est utilisée pour obtenir les informations sur les plugins installés dans Logstash. Vous pouvez récupérer ces informations en envoyant une demande d'obtention à l'URL mentionnée ci-dessous -

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

Réponse

Voici la réponse de l'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

Cette API permet d'extraire les statistiques du Logstash (Mémoire, Processus, JVM, Pipeline) dans les objets JSON. Vous pouvez récupérer ces informations en envoyant une demande d'obtention aux URL mentionnées ci-dessous -

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

Cette API récupère les informations sur les threads actifs dans Logstash. Les threads chauds sont les threads java, qui ont une utilisation élevée du processeur et s'exécutent plus longtemps que le temps d'exécution normal. Vous pouvez récupérer ces informations en envoyant une demande d'obtention à l'URL mentionnée ci-dessous -

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

Un utilisateur peut utiliser l'URL suivante pour obtenir la réponse sous une forme plus lisible.

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