问题标签 [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.
influxdb - 在将函数应用于以前的数据点时按时间分段聚合值
一些基本的东西:我正在尝试创建一个“正在运行”的查询,在该查询中,对于每个数据点,我都会得到平均值并计数到该点,以及值。例如对于这些测量:
我想生成一个看起来像这样的 csv:
由于这是聚合和选择器查询的混合,我在单独的查询中“饥饿”然后是平均和计数。但是,如果我将两者都分组time(1s)
,我的平均值和计数将仅与组大小相关;我需要它与当时的整个设置相关...有什么建议吗?
influxdb - 时间戳`now()`函数的WHERE子句上的InfluxQL模运算符
我想从今天到 查询我的00.00
记录now()
。问题是我想动态地做到这一点,所以我需要使用now()
函数来操作时间戳。
这里以查询为例。
这是回应。
似乎 InfluxQL 不支持对时间戳取模。我也认为那是我可能会错误地对待它。供您参考,我在 Grafana 上使用 InfluxQL。
有没有其他方法可以实现这一目标?
编辑:我的 Grafana 面板不能同时依赖$timeFilter
和$__interval
. 我的意思是,例如,显示“今天到目前为止”的统计信息。如果我依赖这些变量,那是行不通的,因为当我们更改 Grafana 上的间隔时,查询会受到影响。
javascript - 我无法获取查询到 influxdb 的最新记录
我在influxql中有一个查询来获取cpu、内存、负载和磁盘值,用一个WHERE子句表示它只带来1分钟前的数据。查询有效,但它总是带来相同的日期,即 WHERE 的确切日期。我需要你给我带来最新的日期,也就是服务器最后一次向influexdb数据库发送数据的时间。
我想要的是确定是否有机器没有发送数据,也就是说,我需要 condiict 的最后日期:
例如,现在我输入 WHERE 的日期,所以:
我需要的是最后一个日期,因为在那一小时(1h)内肯定有日期更长的记录(time> =
),我的意思是必须有日期的记录:
我感谢知道发生了什么的人的帮助。谢谢!
这是 SQL:
这是查询的完整退出:
名称:自定义标签:hostname=linux7 time cpu mem load disk ---- --- --- ---- ---- 2019-02-02T18:46:00.42366206Z 1 43 0 0
名称:自定义标签:hostname=linux24 time cpu mem load disk ---- --- --- ---- ---- 2019-02-02T18:46:00.42366206Z 11 34 0 0
名称:自定义标签:hostname=linux4 time cpu mem load disk ---- --- --- ---- ---- 2019-02-02T18:46:00.42366206Z 11 42 0 0
名称:自定义标签:hostname=linux3 time cpu mem load disk ---- --- --- ---- ---- 2019-02-02T18:46:00.42366206Z 73 32 1 0
名称:自定义标签:hostname=linux20 time cpu mem load disk ---- --- --- ---- ---- 2019-02-02T18:46:00.42366206Z 1 41 0 0
名称:自定义标签:hostname=linux1 time cpu mem load disk ---- --- --- ---- ---- 2019-02-02T18:46:00.42366206Z 36 55 0 0
java - InfluxDB 的请求 选择时间 > 时间戳
我有一个将测量值发送到 influxDB 数据库的 java 应用程序。
我在我的 influxdb 数据库中添加点。我每次运行程序时添加的点都有当前时间戳。
这就是我添加积分的方式(测量构建):
我的问题是,当我用这样的请求请求我的数据库时:
我注意到以前的时间戳结果也被计算在内,即使我正在做时间>时间戳。当我做 > 而不是 >= 它只计算最后一个。我还注意到,对于上一个时间戳,例如,如果我有像这样的时间戳 1540300800000 ns,influxdb 在开头添加一个 6,它变成 61540300800000 ms。
我真的不明白发生了什么。
有任何想法吗?
influxdb - 将 influxdb 数据建模为标签和字段
TL;DR
如何将数据建模为字段与标签,以防您同时执行分组和计数(distinct())
所以目前这是我的 influxdb 数据模型:
所以现在我想找出不同账户(活跃账户)的数量。所以我可以运行以下查询:
这很好用,因为帐户 ID 是一个字段。
现在假设我想对 account_id 执行 group by 操作,例如查找每个帐户收到的请求数:
我不能这样做,因为在标签上建议使用 group by。
这种场景怎么办?
解决方案之一是将值存储在字段和值中,但这将是数据冗余。
另一种也是最优化的方法是让 count(distinct()) 处理标签。这可能吗?这实际上是他们 github 存储库中的一个功能请求。
或者可以对数据模型做些什么来达到同样的效果?
influxdb - InfluxDB如何查询每n个值
我正在尝试查询 InfluxDB 中每个第 n 个元素的数据。我正在执行下面的命令来这样做,但我没有得到任何结果。我正在使用我为示例而创建的示例数据。
我在 Influx 的 CLI 中运行的命令:
结果:
我是 InfluxDB 的新手,我不确定自己做错了什么。我已经阅读了有关进行连续查询的内容,但是当我进行连续查询时,我无法查询数据,因为它没有返回任何结果。提前感谢所有回复的人。
influxdb - 如何将流中的当前值与 tickscript 中的先前值进行比较?
我正在研究 kapacitor 警报以生成有关 influxDB 中数据的警报。发出请求后,我从流中接收到一个新值。我想将我收到的流中的当前值与之前收到的前一个值进行比较,以查看当前值是否大于前一个值。如果它大于以前的值,那么我想使用 kapacitor 和 tickscript 在 chronograf 上生成警报。
我如何在tickscript中实现这一点?非常感谢任何帮助。我是tickscript的新手。
influxdb - InfluxDB如何转义方括号“[”
我正在查询流入数据库,如下所示,
上面的查询工作正常,但是当我尝试在查询字符串中指定方括号时它不起作用,例如"/cda/stats/[name='set']
不确定如何在上述查询中转义方括号。
反斜杠“\”不适用于方括号。
influxdb - InfluxDB 模式设计 - 只需汇总数千个时间序列数据
我对 InfluxDB 很陌生。
我正在编写一个程序来监控位于 11 个地区的 13,000 个家庭电表的用电量。这些数据将用于一个报告程序,该程序主要只关心 11 个地区的总使用量。但是,我被要求将每个家庭的使用情况存储到 InfluxDB 中。
我可以有一个包含 13,000 个系列的测量吗?这将使求和变得很容易(我猜),但是 13,000 会不会太多?
我可以进行 13,000 个测量,每个测量有 1 个系列吗?进行求和交叉测量会很昂贵吗?