问题标签 [influxql]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
539 浏览

influxdb - 在 influxdb 中显示具有相似名称的测量

我有一个包含 300 多个测量值的流入数据库。其中一些具有相似的名称。有没有一种方法可以搜索名称中具有相似字符串的测量名称。influx 是否有任何类似于 sql 的语法,我可以使用“like”运算符找到类似的表名。我可以使用类似的东西吗

谢谢

0 投票
1 回答
199 浏览

influxdb - “高基数”字段(或标签)上的 InfluxDB WHERE 子句

我正在使用 InfluxDB 并尝试将其用于车速跟踪用例。每辆车在给定时间的速度都存储为一个数据点。我将“vehicle_registration”建模为标签,将其他值建模为字段。我希望将 where 子句应用于“vehicle_registration”并且它必须很快。因此,我默认利用标签上的索引功能。但对我来说最大的绊脚石是标签需要具有较低的基数。这里有什么建议?我希望在“where”子句中应用一个高基数字段,并且查询应该很快。

有什么建议吗?

0 投票
1 回答
436 浏览

database - 如何在查询期间从 Influx 中的两个表中获取特定行

我尝试在下面的示例中编写对 Influx 数据库的查询:

我有两张桌子:

我想使用一个查询来获取行:id 1 and 2 fromtable_1和 id 2 fromtable_2

在查询中: SELECT * FROM table_1, table_2 WHERE id=1 AND id=2...我得到所有数据。

我试过: SELECT * FROM table_1, table_2 WHERE table_1.id=1 AND id=2 ......但它不起作用。

感谢帮助!

0 投票
1 回答
274 浏览

sql - 在组织 InfluxDB 数据库时,这两种方法中的哪一种更受青睐?

我正在尝试决定如何在 InfluxDB 数据库中组织测量(我相信他们称之为架构设计和数据布局),但我认为这可能是一个更一般的数据库类型问题。

举个简单的例子,我在客厅室外两个位置测量两个量,温度湿度(想象一下,我知道!)。

InfluxDB 具有插入数据点的语法:

测量tag_key=tag_value field_key=field_value

所以有两个明显的(至少对我来说)选项。简而言之,第一个选项将插入这样的数据点:

而第二个选项会这样做:

我的问题更高级:

  • 有没有首选/接受的方法来解决这个问题?
  • 如果我尝试将其扩展到更多数量/位置/数据类型,我会遇到其中任何一个问题吗?
  • 例如,如果我稍后尝试在 Grafana 中绘制这些东西,或者如果我稍后尝试实现许多InfluxQL 函数中的一些函数,那么这两种方法是否提供了优势?
  • 有没有人对此提供任何一般性建议?

我自己的想法:

在我看来,选项 1 更像是 InfluxDB 描述“测量”所暗示的内容。温度和湿度都是独立的量。但是将其称为“价值”似乎有点笨拙。

选项 2 似乎具有湿度和温度共享完全相同的时间戳的优点。这将很有用,例如,如果我想将数据导入其他软件并在两个数量之间进行关联,这意味着我不必进行任何插值或分箱来使它们匹配。

我不确定选项 2 是否只是一个名为sensor_measurements的通用测量值是否是一个坏主意,并且以后很难维护。

详细地:


选项1

  • 对每个温度湿度进行单独的“测量” ,将位置用作“标签”,并将“字段”命名为

在时间t1,插入数据:

在时间t2,插入一些不同的数据:

然后,我可以通过查询以下内容来访问客厅温度:

我也可以使用group by 函数来做这样的事情:


选项 2

  • 有一个名为sensor_measurements的组合“测量” ,例如,对location使用“标签” ,然后为每个温度湿度使用单独的“字段” :

在时间t1,插入数据:

在时间t2,插入一些不同的数据:

我现在可以通过查询以下内容来获取客厅温度:

我现在可以使用group by 函数来执行以下操作:


0 投票
1 回答
747 浏览

influxdb - 如何在通量查询中的正则表达式条件内转义正斜杠“/”

我必须查询 InFlux 数据库并匹配其中一列中的特定字符串。

就像是: WHERE (\"namecache\" =~ /<match_string>/)

但是,<match_string>本身可以包含“/”字符。我无法转义匹配字符串中的正斜杠,因此查询失败。

有没有办法逃避'/'斜线?还是有另一种方法来匹配部分字符串?

提前致谢!

0 投票
1 回答
396 浏览

time-series - 如何在 InfluxDB 订阅端点获取数据?

嗨,我使用以下命令创建了订阅 ( http) :InfluxDB

并且在ExpressJs端口上运行的应用程序中9001添加了如下路由:

我以为我会得到所有的数据,req.body但我什么也没得到。如何通过influxdb 文档中提到的订阅获取数据。

我已经看到了更多正在使用Kapacitor的示例,但到目前为止我们还没有计划Kapacitor

让我知道如何从InfluxDB订阅端点获取更新的数据?或者它应该是这样的,我们已经InfluxDB从这个端点进行正常查询以获取数据?

0 投票
1 回答
132 浏览

sql - 检索 InfluxDB 中每个标签的所有最后点/记录,没有 WHERE 子句

我有大约 1500 台设备,它们以随机频率将数据推送到我的 InfluxDB v1.8+ 实例。我正在寻找最有效的方法,至少在性能方面,来收集每个 device_id(标签)的最后一点。

为简洁起见,此测量中的数据非常简单:

我保证每个点都填充了“使用”字段。这不是问题。因此,对于每个标签(device_id),拥有最新的时间戳实际上就是我想要的。

我当前的解决方案远非可扩展且效率不高,它首先列出所有 device_id:

...然后遍历每个以获得最后一点:

我的问题:如何最有效地获取所有 device_ids (tag)的最后点/记录,而不在 device_id 上提供 WHERE 子句?最好在一个命令中,这样我就可以删除 foreach 迭代。

其他风格也有同样的问题,例如在 MySQL 中。这个问题是特定于 InfluxDB 的。

0 投票
0 回答
141 浏览

influxdb - 添加逻辑或条件时,InfluxDB 不返回结果

我正在尝试将以下 InfluxDB 查询与时间和字段值的条件一起使用,但它不返回任何结果:

但是,当我删除最后一个条件时,我的测量值会返回:

这是 InfluxDB 中的错误,还是我做错了什么?我在文档中找不到任何内容表明时间和现场条件无法组合...我尝试从 1.7 升级到 1.8。

自己尝试一下:

0 投票
1 回答
494 浏览

grafana - 你如何在 grafana/influxql 中获得最后一次测量的年龄?

看门狗进程通过在 influxdb 中写入测量值来报告主机“活跃度”,例如

watchdog,host=host_xyz alive=1

自上次测量以来已经过去了太多时间时,我有兴趣在 Grafana 中显示。有没有办法从 Influx 查询这些信息?

(9个月前也有人问过类似的问题,但没有答案:InfluxQL:记录年龄 是否有可能时间序列数据库不能给出记录的年龄?)

谢谢!

0 投票
0 回答
36 浏览

influxql - InfluxDB 查询除了最后一个

有没有办法创建一个选择除最后一个值之外的所有值的 InfluxQL 查询?我当前在 Grafana 中的 InfluxDB 查询如下所示: