cat 线程池 API

编辑

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

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

请求

编辑

GET /_cat/thread_pool/<thread_pool>

GET /_cat/thread_pool

先决条件

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

路径参数

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

查询参数

编辑
format
(可选,字符串) HTTP accept header的简短版本。有效值包括 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

示例

编辑

使用默认列的示例

编辑
resp = client.cat.thread_pool()
print(resp)
response = client.cat.thread_pool
puts response
const response = await client.cat.threadPool();
console.log(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 线程池。

resp = client.cat.thread_pool(
    thread_pool_patterns="generic",
    v=True,
    h="id,name,active,rejected,completed",
)
print(resp)
response = client.cat.thread_pool(
  thread_pool_patterns: 'generic',
  v: true,
  h: 'id,name,active,rejected,completed'
)
puts response
const response = await client.cat.threadPool({
  thread_pool_patterns: "generic",
  v: "true",
  h: "id,name,active,rejected,completed",
});
console.log(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