今天的构建是一个 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 分钟、5 分钟、15 分钟、30 分钟、1 小时、3 小时、6 小时、12 小时、24 小时, 48 小时
任何帮助将不胜感激,这是一个令人沮丧的早晨,试图让这个工作:)