Grafana 中一个查询的动态系列数

Dynamic number of series with one query in Grafana

有没有办法在 Grafana 中使用 Postgres 连接在一个查询中获取多个系列?假设我有 5 个属性与我的数据关联,我想使用一个查询显示 5 个系列,这样它是动态的。

当添加或删除一个属性时,系列也随之完成。

attribute | bits    | created_at
------------------------------
1         | 44632   | <datetime>
4         | 124854  | <datetime>
2         | 488     | <datetime>
2         | 8       | <datetime>
4         | 384332  | <datetime>
3         | 44632   | <datetime>
1         | 6732    | <datetime>
3         | 162     | <datetime>

示例查询:

SELECT
    $__time(created_at),
    sum(bits),
    attribute
FROM
    table
WHERE
    $__timeFilter(created_at)
GROUP BY created_at, attribute
ORDER BY created_at;

并且属性具有不同的值(1、2、3、4),所以我得到 4 个不同的系列,每个系列使用某种类似的查询显示特定属性值的数据。

有办法吗?

您可能希望根据属性进行分组,就像您在示例中所做的那样。

您需要的确切查询如下:

SELECT
    $__time(created_at),
    attribute as metric,
    sum(bits)        
FROM
    table
WHERE
    $__timeFilter(created_at)
GROUP BY created_at, attribute
ORDER BY created_at;

通过为属性指定 'metric' 别名,它将被选为单个时间序列的名称,分组应负责其余部分