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