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 中添加它们的名称来获取管道、操作系统和 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 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 用于提取 Logstash 的统计信息(内存、进程、JVM、管道),格式为 JSON 对象。您可以通过向下面提到的 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