Logstash 简明教程
Logstash - Monitoring APIs
Logstash 提供了用于监控其性能的 API。这些监控 API 会提取 Logstash 的运行时指标。
Node Info API
此 API 用于获取 Logstash 节点的信息。它将以 JSON 格式返回有关操作系统、Logstash 管道和 JVM 的信息。
你可以使用以下 URL 向 Logstash 发送 get 请求来提取信息 -
GET http://localhost:9600/_node?pretty
Response
以下是节点信息 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
Plugins Info API
此 API 用于获取 Logstash 中已安装插件的信息。你可以通过向下面提到的 URL 发送 get 请求来检索此信息 -
GET http://localhost:9600/_node/plugins?pretty
Response
以下是插件信息 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"
},
............
}
Node Stats 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