时间流 + Grafana

Timestream + Grafana

今天的构建是一个 Grafana 仪表板,它从 aws 时间流中提取实时数据。

目前,它显示的是按小时细分的折线图。我们使用的查询是这样的:

WITH binned_query AS (
    SELECT
        BIN(time,1h) AS "point",
        x_id  AS "series",
        max(measure_value::bigint) AS "metric"
    FROM $__database.$__table
    WHERE measure_name = 'x'
    AND $__timeFilter 
    GROUP BY BIN(time,1h), x_id order by 1
)
SELECT series, CREATE_TIME_SERIES(point,metric)
FROM binned_query 
GROUP BY series

根据以上情况,我们得到的数据点都相隔 1 小时。这对于某些日期范围(例如 24 小时或 2 天)来说非常有用,但是当您查看 1 小时时,最好让它每分钟或 10 分钟显示一次。

为了实现这一点,我看到了两个可能的解决方案,但我都没有成功实施:

  1. 调整查询以某种方式考虑日期范围并更改数据点的粒度。
  2. 添加控制图表粒度的下拉菜单的一些方法。这样我们就可以 select 一个日期范围(比如一个月),然后我可以调整折线图以显示 1 分钟、5 分钟、15 分钟、30 分钟、1 小时、3 小时、6 小时、12 小时, 24 小时, 48 小时

任何帮助将不胜感激,试图让它工作是一个令人沮丧的早晨:)

$__interval 变量在这里可能比 1h 更有用。

此值会根据 graph/panel 的大小和时间范围而变化。或者,如果您想将所有图表的时间间隔保持在 1 小时并根据需要进行更改,您仍然可以使用此变量并在面板设置中手动设置时间间隔。