🔍常用PromQL与告警
版本支持:v2.16.1+
这一节是「自己拼面板 / 配告警」的素材库。快速接入导入的仪表盘里的面板,用的就是这里的 PromQL。
# 命名转换规则
Prometheus 抓取时,指标名会按 Micrometer 约定转换:
| 类型 | 原名 | Prometheus 名 |
|---|---|---|
| Timer | liteflow.chain.executions | liteflow_chain_executions_seconds_count / _sum / _max / _bucket |
| Counter | liteflow.chain.errors | liteflow_chain_errors_total |
| LongTaskTimer | liteflow.chain.active | liteflow_chain_active_seconds_active_count(在途任务数)/ _duration_sum(在途总耗时)/ _max |
| Gauge | liteflow.slot.occupied | liteflow_slot_occupied |
注意
注意 LongTaskTimer 的后缀是 _active_count / _duration_sum,不是 Timer 的 _count / _sum。
tag 名保持原样:chain / node / status / exception / type。
下面示例假设 chain 名为 mChain、组件名为 a。
# QPS(每秒执行次数)
# chain QPS
rate(liteflow_chain_executions_seconds_count{chain="mChain"}[1m])
# node QPS
rate(liteflow_node_executions_seconds_count{node="a"}[1m])
# 平均耗时(秒)
rate(liteflow_chain_executions_seconds_sum{chain="mChain"}[1m])
/ rate(liteflow_chain_executions_seconds_count{chain="mChain"}[1m])
# 错误率
sum(rate(liteflow_chain_executions_seconds_count{chain="mChain", status="failed"}[5m]))
/
sum(rate(liteflow_chain_executions_seconds_count{chain="mChain"}[5m]))
按异常类型分布的失败速率(liteflow.chain.errors Counter):
sum by (exception) (rate(liteflow_chain_errors_total{chain="mChain"}[5m]))
# P95 耗时
需先开启直方图:
histogram_quantile(0.95,
sum by (le) (rate(liteflow_chain_executions_seconds_bucket{chain="mChain"}[5m])))
# slot 池饱和度
liteflow_slot_occupied / liteflow_slot_size
# 在途执行数
# 当前活跃任务数(LongTaskTimer 用 _active_count,不是 _count)
liteflow_chain_active_seconds_active_count{chain="mChain"}
# 在途任务累计耗时
liteflow_chain_active_seconds_duration_sum{chain="mChain"}
# 常用告警规则示例
groups:
- name: liteflow
rules:
# chain 错误率 5 分钟内超过 5%
- alert: LiteflowChainHighErrorRate
expr: |
sum by (chain) (rate(liteflow_chain_executions_seconds_count{status="failed"}[5m]))
/
sum by (chain) (rate(liteflow_chain_executions_seconds_count[5m]))
> 0.05
for: 5m
labels:
severity: warning
annotations:
summary: "LiteFlow chain {{ $labels.chain }} 错误率过高"
# slot 池占用超过 80%
- alert: LiteflowSlotSaturated
expr: liteflow_slot_occupied / liteflow_slot_size > 0.8
for: 2m
labels:
severity: critical
annotations:
summary: "LiteFlow slot 池饱和,可能并发吃紧或存在 slot 泄漏"
帮助我们改善此文档 (opens new window)



