首页/云/可观测性速查/Reduce 转换:序列归约成表
Grafana 与看板53 条

Reduce 转换:序列归约成表

把多条时间序列压缩成每个序列一行:指定统计量(Last non-null/Mean/Max 等)与 Series to rows 模式,是 TopN 表与巡检表的常用起点。

可观测性速查云更新于 2026-10-13

Reduce 转换是什么

Reduce 是 Grafana 的转换之一,把多条时间序列压缩成「每个序列一行」:指定统计量(Last non-null、Mean、Max、Min 等)并选择 Series to rows 等模式,是 TopN 表、巡检表、异常清单这类面板的常用起点。它把「一段时间内的趋势」变成「此刻各对象的状态快照」,让表格可以直接排序、筛选与着色,也能导出成 CSV 对账。

基本信息

适用平台Grafana 8+,位于 Transformations → Reduce
常用统计量lastNotNull、mean、max、min、sum、count
模式Series to rows、Reduce fields
典型链路Reduce → Organize fields → 表格排序
注意Series to rows 会丢掉时间维度

典型使用场景

  • TopN 清单:把各实例峰值归约成一行,排序取前 10 做成容量看板
  • 巡检表:把近 24 小时错误数归约成一行,配合阈值着色直接当日报
  • 容量基线:mean 与 max 并列展示,快速看出均值正常但峰值超限的实例
  • 状态汇总:多实例 up 归约后统计异常台数,作为总览的一句话结论
  • 导出对账:表格数据导出 CSV,与资产系统核对监控覆盖面

转换配置与后续步骤

转换配置与后续步骤
{"id": "reduce",
 "options": {"reducers": ["lastNotNull", "mean", "max"],
             "mode": "seriesToRows"}}

# 面板侧后续步骤:
# Organize fields 整理列名 -> 表格按 max 降序排序 -> 阈值着色突出超限行

常见统计量与用途

统计量含义常见用途
lastNotNull最后一个非空值当前状态快照
mean窗口内均值容量基线与趋势对照
max 与 min窗口内极值峰值告警与容量评估
count样本条数数据完整性判断
Series to rows 会把时间维度整列丢掉:需要保留趋势时不要接这一步,这类需求应该用折线图加分组,或者另做一张表。

使用步骤

  • 先写出能返回多序列的查询,确认序列数量与分组维度符合预期
  • 在 Transformations 里添加 Reduce,勾选需要的统计量组合
  • 模式选择 Series to rows,得到「每个序列一行」的表格雏形
  • 用 Organize fields 去掉多余列并给关键列改中文名,便于值班人阅读
  • 最后加排序与阈值着色,让超限行在长列表里一眼可见
统计量的命名要跟表格列名对齐:同一份巡检表里既出现均值又出现峰值时,列名写成「平均使用率」「峰值使用率」比 mean、max 更能避免误读。

易错点

  • 接上 Series to rows 后时间维度消失,用它判断趋势会得出错误结论,先想清楚要看快照还是看趋势
  • 某行统计量为空多半是该序列在窗口内没有数据,先回查询确认,别当成面板计算错误
  • 只看 mean 会漏掉短时冲高的实例,容量评估要把 max 一起摆出来
  • 转换链越堆越长越难维护,能在 PromQL 一次算完的尽量在查询侧解决

数据来源与参考

  • Grafana 官方文档 · Reduce transformation
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌