如何根据 Grafana 的绝对时间范围查询数据?

Posted

技术标签:

【中文标题】如何根据 Grafana 的绝对时间范围查询数据?【英文标题】:How to query data based off of Grafana's absolute time range? 【发布时间】:2020-11-23 16:31:17 【问题描述】:

我有一个连接到 PostgreSQL 数据库的 grafana 仪表板。我了解如何更改绝对时间范围以在图表上显示时间范围,但我想知道是否可以更改我的查询以反映总时间。

例如,我有一个获取总行数的查询:

SELECT
  COUNT(*) as "Total Number of Rows:"
FROM mytable

是否可以在 grafana 中显示指定时间的总行数(例如过去 30 天、过去 6 小时等)?

谢谢!

【问题讨论】:

【参考方案1】:

您必须按如下方式修改您的查询:

SELECT
  $__time(time_column),
  count(*) as "Total Number of Rows:"
FROM
  mytable
WHERE
  $__timeFilter(time_column) 
GROUP BY time_column

这样,Grafana 将在指定的time_column 上使用$__timeFilter 进行过滤

【讨论】:

以上是关于如何根据 Grafana 的绝对时间范围查询数据?的主要内容,如果未能解决你的问题,请参考以下文章

Grafana:选择变量时设置仪表板时间范围

grafana 如何对数据进行切分

如何在 grafana 变量中为 prometheus 数据源提供带有时间范围的 label_values?

Grafana:警报查询中不支持模板变量

如何在 Grafana 中查找内存使用差异

时间范围面板在 Grafana 中不可用