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