grafana - InfluxDB聚合TOP功能并在Grafana中展示

标签 grafana influxdb

我是 InfluxDB 和 Grafana 的新手。我正在使用 1.7.4 版并在 Spring Cloud Data Flow workshop 中播放 Grafana Twitter 示例。基本上有一个 hashtags像这样测量:

select * from hashtags limit 10
name: hashtags
time                       htag             value
----                       ----             -----
2019-03-07T07:46:59.096Z   現実見ろ           0    
2019-03-07T07:46:59.097Z   キズのしょち松さん   0    
2019-03-07T07:46:59.097Z   競馬              0    
2019-03-07T07:46:59.098Z   PerthTanapon     0    
2019-03-07T07:46:59.098Z   終活              0    
2019-03-07T07:46:59.106Z   capolavoro       0    
2019-03-07T07:46:59.108Z   Cenizas          0    
2019-03-07T07:46:59.108Z   design           0    
2019-03-07T07:46:59.108Z   hyungwon         0    
2019-03-07T07:46:59.108Z   ざわちん           0    

example screencast作者创建了一个饼图,应该显示 Twitter 上的前 10 个主题标签。视频显示他创建了如下查询:

SELECT sum("value") FROM "hashtags" GROUP BY "htag" SLIMIT 10

这里的问题是图表仅按字母顺序表示 10 个主题标签。我想要的是前 10 个主题标签。现在 InfluxDB 在标签或字段上没有 order by 子句,所以我尝试提出自己的查询,试图使用 TOP() 解决我的问题。和一个子查询:

select top("sum", "htag",10) from (SELECT sum("value") FROM "hashtags" GROUP BY "htag")产生正确的结果:

name: hashtags
time                 top  htag
----                 ---  ----
1970-01-01T00:00:00Z 3172 TwoOfUs
1970-01-01T00:00:00Z 2301 BestCoverSong
1970-01-01T00:00:00Z 1480 เชงเม้ง
1970-01-01T00:00:00Z 1337 투모로우바이투게더
1970-01-01T00:00:00Z 1117 GOT7
1970-01-01T00:00:00Z 1106 MeMyselfAndI
1970-01-01T00:00:00Z 848  백현
1970-01-01T00:00:00Z 848  ยุบพรรค
1970-01-01T00:00:00Z 842  Jus2
1970-01-01T00:00:00Z 781  TOMORROW_X_TOGETHER

grafana 的问题是它没有在饼图中正确显示我的结果

enter image description here

我错过了什么?我看到第一个查询有一个分组,所以查询结果是这样的:

name: hashtags
tags: htag=01JokowiAs1k
time                 sum
----                 ---
1970-01-01T00:00:00Z 0

name: hashtags
tags: htag=01JokowiLagi
time                 sum
----                 ---
1970-01-01T00:00:00Z 9

name: hashtags
tags: htag=01OptimisIndonesiaMaju
time                 sum
----                 ---
1970-01-01T00:00:00Z 7

如何在我的查询中实现分组?

最佳答案

尝试额外的 GROUP BY "htag":

SELECT TOP("sum", "htag",10) FROM 
  (SELECT SUM("value") FROM "hashtags" GROUP BY "htag")
GROUP BY "htag"

关于grafana - InfluxDB聚合TOP功能并在Grafana中展示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55046865/

相关文章:

azure - 如何将 AKS 中运行的 Grafana 代理与 Grafana 云集成

metrics - Grafana中从InfluxDB中获取总共两个系列的数据

sql - 如何在 Grafana 中获取对 AWS/RDS 的查询

influxdb - 在 grafana 单一统计中使用来自 influxdb 的时间字段

amazon-web-services - 无法访问我在 AWS Elastic beanstalk 上的 docker 中部署的 prometheus 和 grafana

influxdb - chronograf:使用 OAuth 2.0 时无法添加默认的 influxDB 连接

java - Influxdb写入性能太慢

Influxdb:如何通过查询获取组中的结果数

hadoop - 远程滚动窗口聚合——时间序列 kudu vs influxdb vs opentsdb

javascript - 将 Cyber​​power UPS 的 JSON 解析为 InfluxDB/Grafana