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

如何在Grafana告警中实现0点到当前的Counter指标increase计算?

解决方案

方法1:使用PromQL原生start_of_day()函数(推荐)

Prometheus 2.20及以上版本支持start_of_day()函数,它会返回当天00:00的时间戳。直接用这个函数计算从0点到当前的持续时间,作为increase的范围参数:

increase(metric_call_total[time() - start_of_day(time())])

这个表达式会动态计算当日已过去的秒数,以此作为时间范围,精准获取从00:00到当前时刻的指标增量。

方法2:兼容旧版本Prometheus的手动时间计算

如果你的Prometheus版本低于2.20,不支持start_of_day(),可以通过时间戳取模手动计算当日已过时长:

increase(metric_call_total[time() % 86400])
  • 86400是一天的总秒数
  • time() % 86400会得到当前时刻距离当日00:00的秒数,以此作为时间范围参数

Grafana告警配置注意事项

  • 在Grafana告警规则中直接使用上述PromQL表达式即可,无需依赖Grafana的相对时间范围选择器
  • 确保告警的评估频率不要过高,避免频繁计算大范围数据影响性能;如果当日时间范围较大,建议将评估间隔设置为5-15分钟
  • 验证表达式时,可以在Prometheus UI中先测试,确认返回的增量值符合预期后再配置到Grafana告警

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 11:30:00