如何每日重置Grafana仪表盘数据?仅展示工作日7点后Prometheus数据
Prometheus+Grafana 当日工作时段数据展示解决方案
核心纠正:无需重置指标
Prometheus的计数器是单调递增设计,重启采集端重置指标会破坏数据完整性,完全没必要。你忽略的关键点是:应该通过PromQL查询计算时段增量,而非修改指标本身。
当日7点至今的指标查询方法
计数器类型指标(如请求数、错误数)
用increase()函数计算当日7点以来的增量,自动排除之前的累计值:
# 示例:计算your_job任务下,当日7点至今的HTTP请求增量 increase(http_requests_total{job="your_job"}[now/d+7h:])
now/d+7h:表示当日0点加7小时(即当日早7点)[now/d+7h:]:限定时间范围为当日7点至当前时刻increase():计算该时段内计数器的总增量,正好对应你需要的当日工作时段数据
Gauge类型指标(如内存、CPU使用率)
直接结合Grafana的时间范围设置(From now/d+7h To Now),Gauge会自动展示该时段内的实时数据,无需额外函数处理。如果需要精准过滤,可使用@运算符指定起始时间:
node_memory_MemAvailable_bytes{job="your_job"} @ now/d+7h
Stat面板限定特定时段数据
当日工作时段数据
- 确保面板时间范围与全局一致(
From now/d+7h To Now) - 计数器指标使用上述
increase()查询,Stat面板会自动统计该时段的增量总和/最大值等(可在面板「Options」中选择统计类型)
过去1小时数据
有两种方式:
- 修改该面板的独立时间范围为
From now-1h To Now - 用PromQL直接指定1小时时间范围:
increase(http_requests_total{job="your_job"}[1h])
为什么之前设置无效?
你直接查询了原始计数器指标(如http_requests_total),时间范围过滤仅返回该时段内的计数器采样点,但采样点的值仍是从采集开始的累计值。必须用increase()/rate()这类增量函数,才能得到时段内的实际变化量。
内容的提问来源于stack exchange,提问作者Jonaslav
相关产品推荐
相关产品推荐

