集群信息 API

编辑

此功能处于技术预览阶段,可能在将来的版本中发生更改或被移除。Elastic 将致力于修复任何问题,但技术预览中的功能不受官方 GA 功能的支持服务水平协议 (SLA) 的约束。

返回集群信息。

请求

编辑

GET /_info/<target>

先决条件

编辑
  • 如果启用了 Elasticsearch 安全功能,则必须具有 monitormanage 集群权限 才能使用此 API。

描述

编辑

可以使用集群信息 API 来检索集群的信息。

路径参数

编辑
<target>

(字符串) 将返回的信息限制为指定的 target。以下选项的逗号分隔列表

_all
所有可用信息。不能与其他目标混合使用。
http
HTTP 连接信息。
ingest
摄取信息。
thread_pool
有关每个线程池的统计信息,包括当前大小、队列大小和拒绝的任务。
script
包含集群的脚本统计信息。

响应正文

编辑
cluster_name
(字符串) 集群的名称。基于 集群名称设置
http

(对象) 包含集群的 HTTP 信息。

http 的属性
current_open
(整数) 集群当前打开的 HTTP 连接数。
total_opened
(整数) 集群打开的 HTTP 连接总数。
clients

(对象数组) 当前和最近关闭的 HTTP 客户端连接信息。关闭时间超过 http.client_stats.closed_channels.max_age 设置的客户端将不会在此处显示。

clients 的属性
id
(整数) HTTP 客户端的唯一 ID。
agent
(字符串) HTTP 客户端报告的代理。如果不可用,则此属性不包含在响应中。
local_address
(字符串) HTTP 连接的本地地址。
remote_address
(字符串) HTTP 连接的远程地址。
last_uri
(字符串) 客户端最近请求的 URI。
x_forwarded_for
(字符串) 来自客户端 x-forwarded-for HTTP 头的值。如果不可用,则此属性不包含在响应中。
x_opaque_id
(字符串) 来自客户端 x-opaque-id HTTP 头的值。如果不可用,则此属性不包含在响应中。
opened_time_millis
(整数) 客户端打开连接的时间。
closed_time_millis
(整数) 如果连接已关闭,则客户端关闭连接的时间。
last_request_time_millis
(整数) 来自此客户端的最近请求的时间。
request_count
(整数) 来自此客户端的请求数。
request_size_bytes
(整数) 来自此客户端的所有请求的累积大小(以字节为单位)。
ingest

(对象) 包含集群的摄取信息。

ingest 的属性
total

(对象) 包含集群摄取操作的信息。

total 的属性
count
(整数) 整个集群摄取的文档总数。
time
(时间值) 整个集群预处理摄取文档所花费的总时间。
time_in_millis
(整数) 整个集群预处理摄取文档所花费的总时间(以毫秒为单位)。
current
(整数) 当前正在摄取的文档总数。
failed
(整数) 整个集群摄取操作失败的总数。
pipelines

(对象) 包含集群摄取管道的的信息。

pipelines 的属性
<pipeline_id>

(对象) 包含摄取管道的的信息。

<pipeline_id> 的属性
count
(整数) 由摄取管道预处理的文档数。
time
(时间值) 摄取管道预处理文档所花费的总时间。
time_in_millis
(整数) 摄取管道预处理文档所花费的总时间(以毫秒为单位)。
failed
(整数) 摄取管道的操作失败总数。
ingested_as_first_pipeline
(字节值) 所有首先由此管道处理的文档的总摄取大小。如果文档是在默认管道之后最终管道、在重定向处理器之后运行的管道或在管道处理器中的文档,则不会将其添加到此管道的统计值中。而是将文档大小添加到最初摄取文档的管道的统计值中。
ingested_as_first_pipeline_in_bytes
(整数) 所有首先由此管道处理的文档的总摄取大小(以字节为单位)。如果文档是在默认管道之后最终管道、在重定向处理器之后运行的管道或在管道处理器中的文档,则不会将其添加到此管道的统计值中。而是将文档大小添加到最初摄取文档的管道的统计值中。
produced_as_first_pipeline
(字节值) 所有首先由此管道处理的文档的总生成大小。如果文档是在默认管道之后最终管道、在重定向处理器之后运行的管道或在管道处理器中的文档,则不会将其添加到此管道的统计值中。而是将文档大小添加到最初摄取文档的管道的统计值中。
produced_as_first_pipeline_in_bytes
(整数) 所有首先由此管道处理的文档的总生成大小(以字节为单位)。如果文档是在默认管道之后最终管道、在重定向处理器之后运行的管道或在管道处理器中的文档,则不会将其添加到此管道的统计值中。而是将文档大小添加到最初摄取文档的管道的统计值中。
processors

(对象数组) 包含摄取管道摄取处理器的信息。

processors 的属性
<processor>

(对象) 包含摄取处理器的信息。

<processor> 的属性
count
(整数) 由处理器转换的文档数。
time
(时间值) 处理器转换文档所花费的时间。
time_in_millis
(整数) 处理器转换文档所花费的时间(以毫秒为单位)。
current
(整数) 当前正在由处理器转换的文档数。
failed
(整数) 处理器操作失败的总数。
thread_pool

(对象) 包含集群线程池的信息。

thread_pool 的属性
<thread_pool_name>

(对象) 包含名称为 <thread_pool_name> 的集群线程池的信息。

<thread_pool_name> 的属性
threads
(整数) 线程池中的线程数。
queue
(整数) 线程池中队列中的任务数。
active
(整数) 线程池中活动线程数。
rejected
(整数) 线程池执行程序拒绝的任务数。
largest
(整数) 线程池中活动线程的最高数量。
completed
(整数) 线程池执行程序完成的任务数。
script

(对象) 包含集群的脚本统计信息。

script 的属性
compilations
(整数) 集群执行的内联脚本编译总数。
compilations_history
(对象) 包含最近的脚本编译历史。
compilations_history 的属性
5m
(长整数) 过去五分钟内的脚本编译次数。
15m
(长整数) 过去十五分钟内的脚本编译次数。
24h
(长整数) 过去二十四小时内的脚本编译次数。
cache_evictions
(整数) 脚本缓存驱逐旧数据的总次数。
cache_evictions_history
(对象) 包含最近的脚本缓存驱逐历史。
cache_evictions 的属性
5m
(长整数) 过去五分钟内的脚本缓存驱逐次数。
15m
(长整数) 过去十五分钟内的脚本缓存驱逐次数。
24h
(长整数) 过去二十四小时内的脚本缓存驱逐次数。
compilation_limit_triggered
(整数) 脚本编译 断路器限制内联脚本编译的总次数。

示例

编辑
resp = client.cluster.info(
    target="_all",
)
print(resp)

resp1 = client.cluster.info(
    target="http",
)
print(resp1)

resp2 = client.cluster.info(
    target="ingest",
)
print(resp2)

resp3 = client.cluster.info(
    target="thread_pool",
)
print(resp3)

resp4 = client.cluster.info(
    target="script",
)
print(resp4)

resp5 = client.cluster.info(
    target="http,ingest",
)
print(resp5)
response = client.cluster.info(
  target: '_all'
)
puts response

response = client.cluster.info(
  target: 'http'
)
puts response

response = client.cluster.info(
  target: 'ingest'
)
puts response

response = client.cluster.info(
  target: 'thread_pool'
)
puts response

response = client.cluster.info(
  target: 'script'
)
puts response

response = client.cluster.info(
  target: 'http,ingest'
)
puts response
const response = await client.cluster.info({
  target: "_all",
});
console.log(response);

const response1 = await client.cluster.info({
  target: "http",
});
console.log(response1);

const response2 = await client.cluster.info({
  target: "ingest",
});
console.log(response2);

const response3 = await client.cluster.info({
  target: "thread_pool",
});
console.log(response3);

const response4 = await client.cluster.info({
  target: "script",
});
console.log(response4);

const response5 = await client.cluster.info({
  target: "http,ingest",
});
console.log(response5);
# returns all stats info of the cluster
GET /_info/_all

# returns the http info of the cluster
GET /_info/http

# returns the http info of the cluster
GET /_info/ingest

# returns the thread_pool info of the cluster
GET /_info/thread_pool

# returns the script info of the cluster
GET /_info/script

# returns the http and ingest info of the cluster
GET /_info/http,ingest