get_pipeline_status
所属分类:运维诊断 · Tool 名称:
get_pipeline_status
功能说明
获取指定端到端数据同步管道的当前运行状态,一次性返回两类信息:
- 批量同步:最近一次执行的结果状态、执行时间、任务 ID
- 增量同步:是否已配置增量通道、当前是否在运行
是「这个管道现在是否正常」这一高频问题的首选 Tool。若需要更详细的增量指标,可再调用 get_incr_sync_status。
输入参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
pipeline | string | 是 | 管道名称(可通过 list_pipeline 获取) |
输出结果
业务 JSON 直返(非信封结构),字段说明如下:
| 字段 | 类型 | 说明 |
|---|---|---|
pipeline | string | 管道名称(回显入参) |
lastBatchStatus | string | 最近一次批量同步状态:SUCCESS(成功)/ FAILD(失败)/ DOING(执行中)/ ASYN_DOING(异步执行中)/ CANCEL(已终止);从未执行过时为 NO_HISTORY |
lastBatchTime | string | 最近一次批量同步的时间(优先取结束时间,其次开始时间),格式 yyyy-MM-dd HH:mm:ss;无历史记录时该字段不出现 |
lastBatchTaskId | integer | 最近一次批量同步的任务 ID,可作为 get_task_log 的 taskId 入参;无历史记录时该字段不出现 |
incrConfigured | boolean | 是否已配置增量同步通道 |
incrRunning | boolean | 增量同步当前是否运行中 |
返回示例
{
"pipeline": "mysql2doris_orders",
"lastBatchStatus": "SUCCESS",
"lastBatchTime": "2026-07-29 08:30:12",
"lastBatchTaskId": 1024,
"incrConfigured": true,
"incrRunning": true
}
从未执行过批量同步的管道:
{
"pipeline": "mysql2doris_orders",
"lastBatchStatus": "NO_HISTORY",
"incrConfigured": true,
"incrRunning": false
}
错误返回
| 情况 | 表现 |
|---|---|
pipeline 为空 | MCP 层 isError: true,内容为参数错误描述文本 |
| 服务端内部异常 | MCP 层 isError: true,内容为通用错误提示文本 |
注意点
- 管道不存在时不会报错:表现为
lastBatchStatus: "NO_HISTORY"、incrConfigured: false、incrRunning: false。如需区分「从未执行」与「管道不存在」,请先用list_pipeline核对管道名称。 incrRunning反映的是增量通道在运行集群(K8s)中是否存在运行实例;更细的增量状态(NOT_DEPLOYED / STOPPED / ERROR 等)请使用get_incr_sync_status。- 发现
lastBatchStatus为FAILD时,推荐排查路径:取lastBatchTaskId→ 调用get_task_log拉取 ERROR 日志 → 定位失败原因。
典型用法
在 Hermes 中的提问示例:
mysql2doris_orders 管道最近一次同步成功了吗?
使用 get_pipeline_status 工具:看看 mysql2doris_orders 的增量同步是不是还在跑