You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为Prometheus同一module的所有指标批量应用delta函数?

批量为Modbus导出器指标应用delta函数的解决方案

问题原因

delta函数要求输入单指标时间序列,直接用{module="ddcga"}会把多个指标的序列混在一起,触发“vector cannot contain metrics with the same labelset”错误。

方法1:PromQL层面批量处理(推荐)

用label_replace给每个指标添加临时标签,让delta能识别单独的时间序列,自动遍历所有匹配指标计算变化量:

delta(
  label_replace({module="ddcga"}, "__metric_name", "$1", "__name__", "(.*)")
  [1h]
)

在Grafana图例设置里填{{__name__}},就能显示每个指标的名称。

方法2:Grafana变量+foreach模板

如果需要更灵活的可视化配置,可以用Grafana变量实现批量查询:

  1. 创建Prometheus类型变量(比如命名为metric_names),查询语句设为label_values({module="ddcga"}, __name__),自动获取所有符合条件的指标名。
  2. 添加面板时用foreach模板,查询语句写delta(${metric_names}{module="ddcga"}[1h]),图例设置为${metric_names},就能自动为每个指标生成对应的变化量图表。

内容的提问来源于stack exchange,提问作者Linus Dierheimer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 15:45:39