如何在Grafana / InfluxDB中创建百分比/比率列?

时间:2018-07-04 16:46:38

标签: influxdb grafana

我已将有关错误的数据写入InfluxDB(示例已简化)。

 time   | error   | some_unique_data
--------|---------|--------------------
 <time> | hello 1 | some unique data...
 <time> | hello 2 | some unique data...
 <time> | hello 2 | some unique data...
 <time> | hello 3 | some unique data...

我可以编写以下查询来查看Grafana中最常见错误的排序列表:

SELECT COUNT("some_unique_data") FROM "my_measument" WHERE $timeFilter GROUP BY error

给出:

| error   | count
|---------|-------
| hello 2 | 2
| hello 1 | 1
| hello 3 | 1

我所缺少的是会向我显示每个错误的影响的列:

| error   | count | impact
|---------|----------------
| hello 2 | 2     | 50%
| hello 1 | 1     | 25%
| hello 3 | 1     | 25%

要使此impact字段正常工作,我应该在查询中添加些什么?

1 个答案:

答案 0 :(得分:0)

这是一个有用的answer,但很遗憾,它不能解决您的问题。

在您的示例中:

| error   | count
|---------|-------
| hello 2 | 2
| hello 1 | 1
| hello 3 | 1

您已经使用GROUP BY "error"来获取每个error的计数,因此一旦执行此操作,就无法再访问全部计数,因此必须在{{1 }}。

不能这样做:

GROUP BY

为了获取全部记录,因为您不能使用SELECT COUNT(*) AS full_count, "some_unique_data" FROM "my_measument" WHERE $timeFilter

因此,在执行SELECT COUNT(), "field_name" FROM ...之前无法获得全部计数。

好吧,让我们尝试一下其他事情:

GROUP BY

上一个查询显然无效。那该怎么办?

对不起,您什么也不能做:/

这里是另一个link to the documentation