首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用InfluxQL在Grafana中实现实时求和(值)数据可视化

使用InfluxQL在Grafana中实现实时求和(值)数据可视化
EN

Stack Overflow用户
提问于 2017-10-26 09:02:19
回答 1查看 353关注 0票数 0

我有一个表,其中有许多行遵循以下结构:

代码语言:javascript
复制
time                acknowledgement crit current_attempt downtime_depth execution_time hostname latency max_check_attempts metric reachable service state state_type value warn
----                --------------- ---- --------------- -------------- -------------- -------- ------- ------------------ ------ --------- ------- ----- ---------- ----- ----
1507171563000000000                 999                                                a01-pdu                             kw               pdu                      14.94 999
1507171621000000000                 999                                                a01-pdu                             kw               pdu                      14.92 999
1507171678000000000                 999                                                a01-pdu                             kw               pdu                      14.45 999
1507171736000000000                 999                                                a01-pdu                             kw               pdu                      14.93 999
1507171793000000000                 999                                                a01-pdu                             kw               pdu                      14.88 999
1507171852000000000                 999                                                a01-pdu                             kw               pdu                      14.92 999
1507171909000000000                 999                                                a01-pdu                             kw               pdu                      14.9  999
1507171995000000000                 999                                                a01-pdu                             kw               pdu                      14.91 999
1507171999000000000                 999                                                a02-pdu                             kw               pdu                      13.41 999

我的目标是获取hostname =~ /a01-pdu|a02-pdu/的最后一项,并对其value列求和

例如,如果我运行以下命令:

代码语言:javascript
复制
SELECT last(value) AS last INTO pdu_abcd12 FROM pdu WHERE hostname =~ /a01-pdu/;
SELECT last(value) AS last INTO pdu_abcd12 FROM pdu WHERE hostname =~ /a02-pdu/;

SELECT sum(last) FROM (SELECT * FROM pdu_abcd12 ORDER BY DESC LIMIT 8)

time sum
---- ---
0    105.97

我可以得到这两个值的总和,但这需要我在每次想要查看数据时运行上面的influxQL命令。有没有办法让这些命令定期运行,这样我就可以在Grafana中可视化实时数据?

EN

回答 1

Stack Overflow用户

发布于 2017-11-21 23:56:39

创建continuous queries,例如:

代码语言:javascript
复制
CREATE CONTINUOUS QUERY last_sum ON <db name>
BEGIN
  SELECT last(value) AS last INTO pdu_abcd12 
  FROM pdu 
  WHERE hostname =~ /a01-pdu/ 
  GROUP BY time(1h), hostname
END

请注意,CQs需要group by。主机名也包含在上面的group by中,以说明正则表达式匹配的多个主机名。否则,它们的值将被一起选择。

然而,CQs有几个缺点,例如它们是周期性的,这意味着它们只在group by间隔内运行一次,它们不会包含间隔之间的中间数据,如果数据库关闭导致数据间隙,将不会运行,将在使用通配符聚合时生成唯一字段,等等,请参阅文档。

另一种选择是Kapacitor,它的流处理语法更灵活,但也更复杂。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46944237

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档