简而言之:InfluxDB 技术提示 - InfluxQL 中的高级条件语句、Chronograf 中的非 SELECT 查询以及跨测量查询
作者:Regan Kuchan / 产品, 开发者
2017年3月30日
导航至
在这篇每周文章中,我们回顾了您可能在过去一周左右错过的来自 GitHub、IRC 和 InfluxData 社区 的最有趣的 InfluxDB 和 TICK 技术栈相关问题、解决方法、操作指南和问答。
InfluxQL 中的高级条件语句
问: 我想计算不同时间间隔内的最小值,并且只想看到最小值大于 0
的结果。有没有办法使用 InfluxQL 实现这一点?
我的基本 GROUP BY time()
查询
> SELECT MIN("new-customers") FROM "coffee"
WHERE time >= '2017-03-29T14:00:00Z' AND time < '2017-03-29T17:00:00Z'
GROUP BY time(1h),"location"
name: coffee
tags: location=a
time min
---- ---
2017-03-29T14:00:00Z 0 <--- I'd love to suppress that result
2017-03-29T15:00:00Z 1
2017-03-29T16:00:00Z 1
name: coffee
tags: location=b
time min
---- ---
2017-03-29T14:00:00Z 14
2017-03-29T15:00:00Z 15
2017-03-29T16:00:00Z 4
这是一个无效的语法,但这基本上就是我想要的
> SELECT MIN("new-customers") FROM "coffee"
WHERE time >= '2017-03-29T14:00:00Z' AND time < '2017-03-29T17:00:00Z'
AND MIN("new-customers") > 0
GROUP BY time(1h),"location"
ERR: invalid expression: min("new-customers"::float) > 0
答:是的! InfluxQL 的子查询提供了该功能
> SELECT "min" FROM
(SELECT MIN("new-customers") FROM "coffee"
WHERE time >= '2017-03-29T14:00:00Z' AND time < '2017-03-29T17:00:00Z'
GROUP BY time(1h),"location")
WHERE "min" > 0 GROUP BY "location"
name: coffee
tags: location=a
time min
---- ---
2017-03-29T15:00:00Z 1 <--- No more 0! ????
2017-03-29T16:00:00Z 1
name: coffee
tags: location=b
time min
---- ---
2017-03-29T14:00:00Z 14
2017-03-29T15:00:00Z 15
2017-03-29T16:00:00Z 4
子查询(主查询的 FROM
子句中的粗体查询)是您的原始查询。主查询对子查询的结果施加了额外的条件。请查看“数据探索”页面,了解有关子查询及其用例的更多信息。
Chronograf 中的非 SELECT 查询和用户管理
问: 我一直在使用 web 管理控制台在我的数据上运行 SHOW
查询,并在 InfluxDB 中管理我的用户。我注意到 web 管理控制台已被弃用,预计将在未来的版本中移除。有没有任何可以替代 web 管理控制台的方案?如果可能的话,我更希望不使用 HTTP API 或命令行界面。
答:Chronograf,InfluxData 的用户界面,用于查询、可视化和监控您的数据,它同时支持 SHOW
查询和用户管理。请查看安装指南,了解如何启动并运行 Chronograf。
在 Chronograf 中运行 SHOW
查询的示例
Chronograf 中的用户管理
Chronograf 目前处于 beta 测试阶段,并且不支持 web 管理界面中的所有功能(尚未!)。如果您有任何问题或请求,请随时提出 issue。我们很乐意收到您的反馈!
跨测量查询
问: 我知道我可以跨字段键查询具有相同名称的测量;如果我查询仅出现在FROM
子句中某些测量中的字段键会发生什么? 查询会返回错误吗?
答: 您的查询不会返回错误。如果字段键在该测量中不存在,InfluxDB 不会返回该测量的结果。在下面的示例中,除了 winter
之外的每个测量都具有 flower-index
字段键。请注意,即使 winter
测量出现在 FROM
子句中,查询也没有返回任何 winter
的结果。
> SELECT MEAN("flower-index") FROM "summer","fall","winter","spring"
name: fall
time mean
---- ----
1970-01-01T00:00:00Z 4
name: spring
time mean
---- ----
1970-01-01T00:00:00Z 10
name: summer
time mean
---- ----
1970-01-01T00:00:00Z 8
接下来是什么
- 下载 TICK 技术栈的下载已在我们的“下载”页面上线。
- 在云端部署: 开始免费试用 InfluxDB Cloud ,其中包含完全托管的集群、Kapacitor 和 Grafana。
- 在您的服务器上部署: 想在您的服务器上运行 InfluxDB 集群?免费试用 14 天的 InfluxDB 企业版 ,它具有直观的 UI,用于部署、监控和重新平衡集群,以及管理备份和恢复。
- 分享您的故事: 超过 300 家公司 分享了 InfluxDB 如何帮助他们取得成功的故事。提交您的客户评价,即可获得限量版连帽衫作为感谢。