Logstash 监控 API

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

 

节点信息 API

该API用于获取Logstash的节点信息。它以JSON格式返回OS、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 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(Memory、Process、JVM、Pipeline)的统计信息。可以通过向下面提到的 URLS 发送获取请求来检索此信息:

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 http://localhost:9600/_node/hot_threads?pretty

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

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

在本章中,我们将讨论 Logstash 的安全和监控方面。 监控Logstash 是一个非常好的监控生产环境中的服务器和服务的工具。生产环境中的应用程序会产生不同类型的日志数据,如访问日志、错误日志等 ...