【问题标题】:Dynamic number of series with one query in GrafanaGrafana 中一次查询的动态系列数
【发布时间】:2017-11-30 08:19:29
【问题描述】:

有没有办法在 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 个不同的系列,每个系列都使用某种类似的查询显示特定属性值的数据。

有没有办法做到这一点?

【问题讨论】:

    标签: postgresql grafana


    【解决方案1】:

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

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

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

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

    【讨论】:

    • 哦,很好。找不到了,非常感谢!
    • @simPod 有一个 Postgres 数据源的文档页面,描述了如何构建查询(包括 as metric):docs.grafana.org/features/datasources/postgres/… 它还描述了其他类型的查询:表查询、模板变量查询和注释查询。
    • 谢谢,完全错过了之前提到的指标。
    • 这完全符合要求。我什至不知道如何使用这个指标,这个例子很简洁,很容易理解。
    猜你喜欢
    • 2021-11-01
    • 2022-01-15
    • 2018-06-18
    • 2017-01-12
    • 1970-01-01
    • 1970-01-01
    • 2016-03-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多