📣 极限科技诚招搜索运维工程师(Elasticsearch/Easysearch)- 全职/北京 👉 : 立即申请加入

以紧凑的表格形式返回当前正在运行的任务信息。

API 格式 #

GET /_cat/tasks

API 作用 #

该 API 以表格形式返回当前正在运行的任务:

  • 显示所有节点的运行任务
  • 显示任务 ID、动作、类型等信息
  • 显示任务开始时间和运行时长
  • 显示任务所在的节点信息

API 参数 #

查询参数 #

参数类型是否必填默认值描述
formatString文本表格响应格式(如 jsonyaml
hString所有列逗号分隔的列名列表
vBooleanfalse是否显示列标题
detailedBooleanfalse是否包含任务描述信息
full_idBooleanfalse是否显示完整节点 ID
helpBooleanfalse是否返回帮助信息

响应列说明 #

基础列(始终显示) #

列名别名描述
id-任务 ID(包含节点信息)
actionac任务动作
task_idti唯一任务 ID
parent_task_idpti父任务 ID(无时为 -
typety任务类型
start_time-开始时间(毫秒时间戳)
timestampts, hms, hhmmss开始时间(HH:MM:SS 格式,UTC)
running_time_nstime运行时长(纳秒)
running_time-运行时长(可读格式)
node_idni唯一节点 ID
ipiIP 地址
portpo绑定的传输端口
noden节点名称
versionvEasysearch 版本
x_opaque_idxX-Opaque-ID 头

详细列(detailed=true) #

列名别名描述
descriptiondesc任务动作描述

请求示例 #

查询所有任务 #

GET /_cat/tasks?v

详细模式 #

GET /_cat/tasks?v&detailed=true

选择显示列 #

GET /_cat/tasks?h=action,node,running_time&v

JSON 格式 #

GET /_cat/tasks?format=json

响应示例 #

文本表格格式(verbose 模式) #

id                        | action               | task_id            | parent_task_id | type      | start_time    | timestamp | running_time | node_id | ip            | port | node    | version | description
--------------------------+---------------------+--------------------+---------------+-----------+---------------+-----------+--------------+---------+---------------+------+---------+---------+-------------
node1:123                 | indices:data/write  | node1:123          | -             | transport | 1738665600000 | 12:00:00  | 1.5s         | node1   | 192.168.1.100 | 9300 | node-1  | 8.11.0  | index
node1:124                 | indices:data/read   | node1:124          | node1:123     | search    | 1738665601000 | 12:00:01  | 500ms        | node1   | 192.168.1.100 | 9300 | node-1  | 8.11.0  | search
node2:456                 | cluster:monitor/health| node2:456       | -             | transport | 1738665602000 | 12:00:02  | 300ms        | node2   | 192.168.1.101 | 9300 | node-2  | 8.11.0  | cluster health

JSON 格式 #

[
  {
    "id": "node1:123",
    "action": "indices:data/write",
    "task_id": "node1:123",
    "parent_task_id": "-",
    "type": "transport",
    "start_time": "1738665600000",
    "timestamp": "12:00:00",
    "running_time": "1.5s",
    "node_id": "node1",
    "ip": "192.168.1.100",
    "port": "9300",
    "node": "node-1",
    "version": "8.11.0",
    "description": "index[{index1}]"
  }
]

常见任务动作 #

动作描述
indices:data/write/index索引文档
indices:data/read/search搜索操作
cluster:monitor/health集群健康检查
cluster:update_settings更新集群设置
indices:admin/create创建索引

使用场景 #

  1. 任务监控:实时查看集群中的运行任务
  2. 性能分析:识别长时间运行的任务
  3. 资源管理:了解节点上的任务分布
  4. 故障排查:检查任务状态和依赖关系

注意事项 #

  1. v 参数:使用 ?v 显示列标题
  2. 仅运行中:仅显示当前正在运行的任务
  3. 节点信息:已离开集群的节点显示为 -
  4. 时区:时间戳使用 UTC 时区
  5. 程序化访问:对于程序化访问,建议使用 GET /_tasks

相关操作 #

  • GET /_tasks:获取详细任务信息
  • POST /_tasks/{task_id}/_cancel:取消任务
  • GET /_cat/pending_tasks:查询待处理任务

实现文件 #

  • REST 处理器RestTasksAction.java
  • 请求类ListTasksRequest.java
  • 响应类ListTasksResponse.java
  • 基础类AbstractCatAction.java