InfluxDB:来自多个系列的查询
Posted
技术标签:
【中文标题】InfluxDB:来自多个系列的查询【英文标题】:InfluxDB: Query From Multiple Series 【发布时间】:2021-06-03 03:50:42 【问题描述】:我有一个 influxdb 实例,其中上游服务器正在将测量记录到其中。我有多个系列的形状:web.[domain].[status]
,例如:web.www.foobar.com.2xx
、web.www.quux.com.3xx
等。系列名称中有两个“变量”编码:域和状态(2xx
、3xx
、等已经聚合)。
现在我想看看我收到了多少这样的请求。一种可能性是仅列出该系列:
select sum("value") from "web.www.quux.com.2xx","web.www.quux.com.3xx",...
但这既不实用(太多)也不实际可行(新域总是被添加和删除),所以我需要一种更灵活的方法。
from
子句中是否允许使用某种通配符语法?该文档没有提及任何内容。还是有其他方法可以解决这个问题?
【问题讨论】:
【参考方案1】:您应该避免这种测量命名约定:
https://docs.influxdata.com/influxdb/v1.8/concepts/schema_and_data_layout/#avoid-encoding-data-in-measurement-names
h避免在测量名称中编码数据
InfluxDB 查询合并属于同一度量的数据;最好用标签来区分数据,而不是用详细的测量名称。如果您在测量名称中对数据进行编码,则必须使用正则表达式来查询数据,从而使某些查询更加复杂或不可能。
【讨论】:
感谢您的建议,这对我来说听起来很合理。但是,我已经开始处理一些上游数据。 @PatrickBucher 我会切换到正确的结构,然后将旧数据“复制”到新的正确结构,这样您就不会丢失任何数据。如果你不能这样做,那么可以使用正则表达式docs.influxdata.com/influxdb/v1.8/query_language/explore-data/… 我认为转换数据是更好的方法。谢谢! 顺便说一句:我现在可以正确使用标签,这使我可以正确选择测量值。它需要我学习一点 Clojure,因为数据是通过 Riemann 获取的。但这是值得的!以上是关于InfluxDB:来自多个系列的查询的主要内容,如果未能解决你的问题,请参考以下文章