如何在Grafana表格面板中展示查询的首尾数据点及计算时间差?
在Grafana表格面板中获取首尾数据点及计算时间差的方案
获取首个/最后一个数据点的日期
根据你使用的数据源,用对应的聚合函数提取首尾数据点的时间戳,再在面板中转换为可读日期:
- Prometheus 数据源:
- 首个数据点时间:
time(first_over_time(你的指标名[${__range}])) - 最后一个数据点时间:
time(last_over_time(你的指标名[${__range}]))
把这两个查询分别添加为表格的列,然后在面板的「Fields」设置中,将字段格式改为Date & Time,就能显示标准日期格式。
- 首个数据点时间:
- InfluxDB 数据源:
- 首个数据点时间:
SELECT first(time) FROM "你的指标名" WHERE $timeFilter - 最后一个数据点时间:
SELECT last(time) FROM "你的指标名" WHERE $timeFilter
同样将查询结果加入表格,调整字段格式为Date & Time类型即可。
- 首个数据点时间:
计算首尾数据点的时间差
直接通过首尾时间戳的差值计算,再转换为可读时长:
- Prometheus 数据源:
执行查询:time(last_over_time(你的指标名[${__range}])) - time(first_over_time(你的指标名[${__range}]))
在「Fields」设置中将字段格式改为Duration,结果会自动转换为小时/分钟/秒的友好格式(如3600秒显示为1h)。 - InfluxDB 数据源:
执行查询:SELECT last(time) - first(time) AS 时间差 FROM "你的指标名" WHERE $timeFilter
同样将字段格式设为Duration即可。
表格面板操作步骤
- 添加Table面板,进入查询编辑器;
- 分别创建上述获取首尾时间、计算时间差的查询,每个查询对应表格的一列;
- 切换到「Fields」标签页,为每个字段修改列名(如“首个数据点时间”)并设置对应格式;
- 保存面板配置,即可看到所需的审计数据。
内容的提问来源于stack exchange,提问作者Ralphae
相关产品推荐
相关产品推荐

