cat 线程池 API编辑

cat API 仅供人类通过命令行或 Kibana 控制台使用。它们*不*适用于应用程序。对于应用程序使用,请使用 节点信息 API

返回集群中每个节点的线程池统计信息。返回的信息包括所有 内置线程池 和自定义线程池。

请求编辑

GET /_cat/thread_pool/<thread_pool>

GET /_cat/thread_pool

先决条件编辑

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

路径参数编辑

<thread_pool>
(可选,字符串)用于限制请求的线程池名称的逗号分隔列表。接受通配符表达式。

查询参数编辑

format
(可选,字符串)HTTP 接受标头 的简短版本。有效值包括 JSON、YAML 等。
h

(可选,字符串)要显示的列名的逗号分隔列表。

如果您未指定要包含的列,则 API 将按以下列出的顺序返回默认列。如果您显式指定了一个或多个列,则它只会返回指定的列。

有效列为

node_name
(默认)节点名称,例如 I8hydUG
name
(默认)线程池的名称,例如 analyzegeneric
active, a
(默认)当前线程池中的活动线程数。
queue,q
(默认)当前线程池队列中的任务数。
rejected, r
(默认)线程池执行程序拒绝的任务数。
completed, c
线程池执行程序完成的任务数。
core, cr
当前线程池中允许的活动线程的配置核心数。
ephemeral_id,eid
临时节点 ID。
host, h
当前节点的主机名。
ip, i
当前节点的 IP 地址。
keep_alive, k
线程的配置保持活动时间。
largest, l
当前线程池中活动线程的最大数量。
max, mx
当前线程池中允许的活动线程的配置最大数量。
node_id, id
节点的 ID,例如 k0zy
pid, p
正在运行的节点的进程 ID。
pool_size, psz
当前线程池中的线程数。
port, po
当前节点的绑定传输端口。
queue_size, qs
当前线程池队列中允许的最大任务数。
size, sz
当前线程池中允许的活动线程的配置固定数量。
type, t
线程池的类型。返回值为 fixedfixed_auto_queue_sizedirectscaling
help
(可选,布尔值)如果为 true,则响应包含帮助信息。默认为 false
local
(可选,布尔值)如果为 true,则请求仅从本地节点检索信息。默认为 false,这意味着信息是从主节点检索的。
master_timeout
(可选,时间单位)等待主节点的时间段。如果在超时到期之前主节点不可用,则请求失败并返回错误。默认为 30s。也可以设置为 -1 以指示请求永不超时。
s
(可选,字符串)用于对响应进行排序的列名或列别名的逗号分隔列表。
time
(可选,时间单位)用于显示时间值的单位。
v
(可选,布尔值)如果为 true,则响应包含列标题。默认为 false

示例编辑

使用默认列的示例编辑

response = client.cat.thread_pool
puts response
GET /_cat/thread_pool

API 返回以下响应

node-0 analyze             0 0 0
...
node-0 fetch_shard_started 0 0 0
node-0 fetch_shard_store   0 0 0
node-0 flush               0 0 0
...
node-0 write               0 0 0

使用显式列的示例编辑

以下 API 请求返回 idnameactiverejectedcompleted 列。该请求将返回的信息限制为 generic 线程池。

response = client.cat.thread_pool(
  thread_pool_patterns: 'generic',
  v: true,
  h: 'id,name,active,rejected,completed'
)
puts response
GET /_cat/thread_pool/generic?v=true&h=id,name,active,rejected,completed

API 返回以下响应

id                     name    active rejected completed
0EWUhXeBQtaVGlexUeVwMg generic      0        0        70