InfluxDB select 聚合值和标签为字符串,按标签分组

InfluxDB select aggregate value and tag as string, grouped by tag

我在 Grafana 中使用 InfluxDB 数据源。我有一个重复的图表面板,按标签值分组。我希望按聚合数值而不是标签值本身对这些图进行排序。一个简单的 InfluxDB 查询是:

SELECT sum(value) FROM "application__request-count" GROUP BY method
value method
123 first
234 second

这很好,但是 Grafana 变量似乎只适用于单个字段。因此,我希望连接聚合值和标签,然后在 Grafana 本身中将它们分开。更接近于:

value
123|first
234|second

我天真地尝试过:

SELECT sum(value) + "|" + method FROM "application__request-count" GROUP BY method

但是我收到 InfluxDB 错误:“二进制表达式不能混合聚合和原始字段”

有没有办法在 Influx 中实现我想要的功能?

1.) 问题 1:Grafana 在仪表板变量定义中使用非时间序列。不幸的是,任何 InfluxQL 查询 SELECT ... FROM measurement ... 都会生成时间序列。

2.) 问题2:InfluxQL不支持串联。因此,从 SQL(例如 |)知道的任何连接在 InfluxQL 中都不起作用。 InfluxQL 不是 SQL.

很遗憾,您的请求无法在 Grafana 中实现。如果你破解了一些问题,那么你将遇到另一个问题。

最好修改要求并为此设置更多 suitable 面板。我会说一个查询,其中 return 数据按 API 聚合,然后使用 table 面板 - 您可以通过单击 table [=22] 对 table 进行排序=] value.