Logstash - 监控 API


Logstash 提供 API 来监控其性能。这些监控 API 提取有关 Logstash 的运行时指标。

节点信息API

该API用于获取Logstash的节点信息。它以 JSON 格式返回操作系统、Logstash 管道和 JVM 的信息。

您可以使用以下 URL 向 Logstash发送get请求来提取信息-

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

回复

以下是节点信息 API 的响应。

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

您还可以通过在 URL 中添加它们的名称来获取 Pipeline、OS 和 JVM 的具体信息。

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

插件信息 API

该API用于获取Logstash中已安装插件的信息。您可以通过向下面提到的 URL 发送 get 请求来检索此信息 -

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

回复

以下是插件信息 API 的响应。

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

该API用于提取JSON对象中的Logstash(内存、进程、JVM、管道)的统计信息。您可以通过向下面提到的 URL 发送 get 请求来检索此信息 -

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

此 API 检索有关 Logstash 中的热门线程的信息。热线程是 Java 线程,它具有高 CPU 使用率并且运行时间比正常执行时间长。您可以通过向下面提到的 URL 发送 get 请求来检索此信息 -

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

用户可以使用以下 URL 以更具可读性的形式获取响应。

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