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

如何在Prometheus中计算每日0点起Counter变量的变化值?

实现COUNTER指标每日重置的当日累计统计

核心思路

把持续增长的COUNTER指标,转换成当日0点到当前时刻的增量值,本质就是当前指标值 - 当日0点的指标快照值,这样就能实现每日0点从零开始计数的效果。

PromQL 具体实现

直接用以下表达式即可,替换your_counter_metric为你的实际指标名:

your_counter_metric - your_counter_metric @ floor(time() / 86400) * 86400
  • 逻辑解释:floor(time()/86400)*86400会计算出当日0点的精确时间戳,@符号用于获取该时间点的指标快照值,两者相减得到的就是当日0点至今的累计增量。
  • 示例(新用户数统计):如果你的指标是new_users_total,表达式则为:
    new_users_total - new_users_total @ floor(time() / 86400) * 86400
    

Grafana 可视化优化

如果用Grafana展示,可做这些配置让效果更贴合需求:

  • 面板类型选Time series
  • 数据源选择Prometheus,填入上面的PromQL表达式
  • 面板选项里开启Fill功能,能更直观呈现当日累计增长的趋势
  • 把图例名称改成当日累计新增,方便快速识别
  • X轴设为时间,Y轴设为累计数值,和你需要的示例效果(当日0点数值为0,随时间持续增长,次日0点重置)完全匹配

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 08:35:00