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

sim*_*Pod 1 postgresql 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>
Run Code Online (Sandbox Code Playgroud)

示例查询:

SELECT
    $__time(created_at),
    sum(bits),
    attribute
FROM
    table
WHERE
    $__timeFilter(created_at)
GROUP BY created_at, attribute
ORDER BY created_at;
Run Code Online (Sandbox Code Playgroud)

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

有没有办法做到这一点?

RSl*_*wij 5

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

您需要的确切查询是这样的:

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

通过为属性提供“度量”别名,它将被选取为单个时间序列的名称,而分组应负责其余部分