0

今天的构建是一个 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. 某种添加下拉菜单的方法可以控制图表的粒度。这样我们可以选择一个日期范围(比如一个月),然后我可以调整折线图以显示 1 分钟、5 分钟、15 分钟、30 分钟、1 小时、3 小时、6 小时、12 小时、24 小时, 48 小时

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

4

1 回答 1

1

$__interval变量在这里可能更有用,而不是1h.

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

于 2021-08-18T02:18:44.940 回答