Grafana仪表盘特定面板如何基于自定义Unix时间戳范围展示数据?
自定义时间戳范围展示Prometheus数据的实现方案
核心思路
通过PromQL的time()函数结合自定义时间戳变量过滤样本,同时配合面板独立时间范围设置,精准展示指定区间的数据。
具体步骤
确认变量类型:确保已定义的
$interval_pre_from和$interval_pre_to为数值型变量(Unix时间戳是整数,若之前为字符串类型需修改变量类型为Number)。编写带时间过滤的PromQL查询:
在目标面板的PromQL查询中,给基础CPU利用率查询添加时间范围过滤条件。示例查询:rate(node_cpu_seconds_total{mode!="idle"}[1m]) and on() (time() >= $interval_pre_from and time() <= $interval_pre_to)说明:
time()函数返回样本的Unix时间戳,and on()用于避免无标签的time()向量与带标签的CPU指标向量出现标签不匹配的问题,确保仅保留时间在指定区间内的样本。设置面板独立时间范围:
为了让面板时间轴与自定义范围完全匹配,避免数据显示错位:- 进入目标面板的编辑界面
- 点击顶部时间范围选择器旁的下拉箭头,选择「Override time from/to」
- 在「From」输入框填入
epoch($interval_pre_from),「To」输入框填入epoch($interval_pre_to)
验证结果:保存面板后刷新,即可看到仅在
$interval_pre_from至$interval_pre_to时间范围内的CPU利用率数据。
内容的提问来源于stack exchange,提问作者Asuwini P
相关产品推荐
相关产品推荐

