Skip to content

监控、诊断与运维

工作流运维围绕实例、任务、执行 Token、异步作业和健康巡检展开。后台入口包括 流程监控健康巡检事件订阅触发器执行流程监控 内还提供 引擎诊断作业账本补偿工单

流程监控

工作流引擎 → 流程监控 提供实例维度的查询和处置能力:

能力说明
实例列表按流程、状态、发起人、时间等维度查询
流程详情查看实例基础信息、表单数据、当前节点和任务
运行时诊断汇总节点、任务、触发器、事件派发、执行 Token、定义快照
强制跳转将实例推进到指定节点
改派处理人调整待办任务处理人
批量恢复对卡住实例执行批量跳过或恢复动作
诊断包导出导出实例运行快照,便于工单留档和离线分析

运行时诊断抽屉包含这些视图:

视图内容
引擎轨迹实例相关的引擎事件和作业链路
节点流程图节点状态、当前节点、异常节点
任务全量任务、处理人、动作、耗时和状态
触发器节点触发器派发状态、请求、响应和错误
事件派发事件投递状态、订阅命中和错误
执行 Token并行、包容、子流程等待等执行路径状态
流程图按运行状态渲染的流程定义快照
表单数据实例运行时表单数据
定义快照发起时冻结的流程定义

健康巡检

工作流引擎 → 健康巡检 用于快速识别异常实例和异步执行问题。巡检关注:

问题说明
外部审批派发失败或长时间等待审批人节点配置外部审批后,第三方系统未成功接收或未回调
触发器等待无执行记录触发器节点进入等待态但没有对应执行记录
触发器执行失败触发器作业请求失败或重试耗尽
子流程等待父流程等待子流程完成
延迟器超期延迟节点已到期但未恢复
待办超时节点配置的 SLA 已超期
事件派发失败事件分发或 Webhook 投递失败
执行 Token 异常并行、包容、子流程汇聚路径无法继续

健康巡检的阈值由页面参数控制,适合日常看板和问题排查入口。

引擎诊断

流程监控 → 引擎诊断 展示引擎整体状态、队列分布、健康趋势和恢复动作。恢复动作已按作业类型细分,每个动作只处理对应类型的作业(不再全部一并 drain):

动作处理的作业类型
重放事件派发event_dispatch
恢复触发器重派trigger_dispatch
恢复延时任务delay_wake
处理超时任务task_timeout
恢复子流程subprocess_spawn / subprocess_join
恢复 Webhook 投递webhook_delivery

这些动作按恢复扫描设计,适合处理队列积压、进程重启后恢复和外部系统短暂故障后的补偿。按类型细分后,运维可精确定向恢复(例如「只恢复触发器」或「只处理超时」),减少无关作业的波及。

作业账本

异步能力统一进入作业账本。作业记录包含类型、状态、关联实例、任务、节点、traceId、运行时间、尝试次数、错误和执行明细。

作业类型说明
delay_wake延迟器到期唤醒
task_timeout待办超时处理
trigger_dispatch触发器节点派发
external_dispatch外部审批派发
subprocess_spawn发起子流程
subprocess_join子流程完成后汇聚
event_dispatch工作流事件分发
webhook_delivery事件订阅 Webhook 投递
状态说明
pending等待执行
running执行中
succeeded执行成功
failed本轮失败,仍可重试
dead重试耗尽进入死信
canceled已取消或跳过

作业账本支持按类型和状态筛选、查看执行明细、查看同一 traceId 的链路、单条重试、单条跳过、批量重试、批量跳过、条件重放和多维失败聚类。

运行状态面板

作业账本顶部提供运行状态面板,聚合 worker 心跳与作业派生指标,用于快速判断作业平台整体健康:

指标说明
存活 Worker心跳新鲜的调度节点数 / 已注册节点总数(悬浮查看各节点在途数与心跳时间)
在途作业当前 running 状态作业数
卡死running 且锁定超过宽限期(5 分钟)的作业数
积压已到期(runAt<=now)但仍 pending 的作业数
死信dead 状态作业数
最后领取最近一次作业被领取的时间(max lockedAt
失败率(1h)近 60 分钟执行失败率
平均耗时(1h)近 60 分钟平均处理耗时

本系统为「单 Worker + drain 兜底」模型,「存活 Worker」实为心跳新鲜的调度节点数。

多维失败聚类

失败聚类 支持按 错误原因 / 作业类型 / 实例 / TraceId 四个维度下钻聚合 dead/failed 作业,定位高频故障来源。每个聚类簇可直接「重放该簇」,自动带入对应过滤条件进入条件重放弹窗。

条件重放与限流

重放死信 打开条件重放弹窗,支持按 目标状态(dead/failed)、作业类型、实例、TraceId、错误关键字、入库时长 精确圈定要重放的作业,并可先「预览匹配数」再执行。

为避免一次性重放大量死信冲垮下游连接器与数据库,重放内置限流

  • 重放速率(条/秒):默认 20,按速率对 runAt 错峰分散,而非全部立即入队;
  • 单次上限:默认 500、最大 500,超出部分需再次重放;
  • 弹窗内展示预计错峰完成时间窗,执行结果会提示实际速率、成功数与匹配总数。

批量重试同样走错峰限流路径,默认 20 条/秒。

补偿工单

补偿工单用于承接需要人工判断的异常实例。工单记录实例、节点、异常原因、处理动作和状态。处理人可以:

操作说明
标记修复放行确认外部问题已处理,流程继续运行
终止流程结束异常实例并跳过待办

补偿工单适合外部系统不可用、审批回调无法自动确认、异常路径需要人工兜底的场景。

接入系统告警

作业平台的关键指标已接入 系统管理 → 监控告警,可像 CPU/内存一样配置阈值规则、持续时长抑制、静默与多通道(邮件 / Webhook / 站内信)派发:

指标说明单位
流程引擎健康分引擎健康巡检综合评分
流程引擎队列积压到期未处理作业数
流程作业死信数dead 状态作业数
流程作业失败率近 60 分钟执行失败率%
流程作业卡死数running 且锁定超宽限期的作业数

指标由告警评估器(默认每分钟)实时采集派生,无需额外采集任务。运维可据此在死信堆积、积压升高、失败率异常或长时间 running 卡死时自动收到告警。

排查顺序

mermaid
flowchart TD
  A["发现异常实例或健康告警"] --> B["打开流程监控"]
  B --> C["查看运行时诊断 / 作业运行状态面板"]
  C --> D{"是否存在作业失败"}
  D -- "是" --> E["作业账本:多维聚类定位 + traceId 链路"]
  E --> F["条件重放(限流)/ 重试 / 跳过"]
  D -- "否" --> G["检查任务、Token、子流程和表单数据"]
  G --> H["改派、强制跳转或创建补偿处理"]
  F --> I["运行状态面板 + 健康巡检确认恢复"]
  H --> I

Built with VitePress for local documentation preview.