标签: flux-influxdb

Grafana - InfluxDB 2 - 标签/别名数据

我正在将面板从使用 SQL 语法(从 InfluxDB 版本 1.X)迁移到新的 influx 语法(InfluxDB 版本 2)。

数据标签存在问题。它包括我用来过滤它的属性。例如,如果我从包含 2 天的范围中选择数据,它会将数据拆分。请参阅下面的屏幕截图:

在此输入图像描述

这完全把图表弄乱了。基本代码如下所示:

from(bucket: "main")
  |> range(start: v.timeRangeStart, stop:v.timeRangeStop)
  |> filter(fn: (r) =>
      r._measurement == "POWER" and
      r._field == "value" and
      r.device == "living_room"
  )
  |> aggregateWindow(every: v.windowPeriod, fn: sum)
Run Code Online (Sandbox Code Playgroud)

显然应该只是“POWER”和“CURRENT”。

我尝试了十几种不同的方法,但无法提出可行的解决方案。

例如,如果我这样做:

from(bucket: "main")
  |> range(start: v.timeRangeStart, stop:v.timeRangeStop)
  |> filter(fn: (r) =>
      r._measurement == "POWER" and
      r._field == "value" and
      r.device == "living_room"
  )
  |> aggregateWindow(every: v.windowPeriod, fn: sum)
  |> map(fn: (r) => ({ POWER: r._value }))
Run Code Online (Sandbox Code Playgroud)

它说“数据没有时间字段”。 …

influxdb grafana influxdb-2 flux-influxdb

15
推荐指数
2
解决办法
2万
查看次数

为什么这个 InfluxDB Flux 查询返回 2 个表?

观察。我是 InfluxDB 和 Flux 查询语言的新手,所以请耐心等待!很高兴被重定向到文档,但迄今为止我还没有找到任何真正有用的东西。

我已配置 Jenkins (2.277.3) 使用插件 ( https://plugins.jenkins.io/influxdb/ ) 将构建指标推送到 InfluxDB (版本 2.0.5 ('7c3ead)) 。目前没有自定义指标。数据发送成功。

我想构建一个简单的条形图来显示特定项目的构建时间。每个“条”都是一个单独的构建(具有不同的构建编号)。还:

  • X 轴,构建日期/时间
  • Y 轴,构建持续时间
  • (理想情况下,条形图为绿色/红色,表示成功/其他任何内容,并标有作业编号。及时我想添加具有平均构建时间的覆盖层。)

我正在尝试创建查询来支持此视图:

from(bucket: "db0")
  |> range(start: -2d)
  |> filter(fn: (r) => r["project_name"] == "Job2")
  |> filter(fn: (r) => r._measurement == "jenkins_data" and r._field == "build_time" )
Run Code Online (Sandbox Code Playgroud)

这会在表视图中生成 2 个表,一张表示构建成功,一张表示构建失败。有人可以解释为什么会出现这种情况,以及我是否缺少对如何使用该工具的一些基本了解吗?

数据“形状”的屏幕截图

成功表

失败表

influxdb flux-influxdb

6
推荐指数
1
解决办法
6604
查看次数

Influxdb 2.0 Flux - 如何返回 0 而不是 null

我想计算大于特定值的值的数量。数据:

在此输入图像描述

from(bucket: "bucket name")
    |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
    |> filter(fn: (r) => r._value > 35)
    |> count()
Run Code Online (Sandbox Code Playgroud)

如果处理数据范围内没有大于指定值的值,则 influx 不返回任何内容(无数据)。

influxdb influxdb-2 flux-influxdb

5
推荐指数
1
解决办法
3458
查看次数

使用 Flux 查询获取某个时间间隔内桶中的点数

给定一个存储桶,如何使用 Flux 查询获取给定时间间隔内该存储桶中带有时间戳的点数?

我试图估计每单位时间有多少数据添加到 influxdb2 存储桶中。

influxdb influxdb-2 flux-influxdb

5
推荐指数
1
解决办法
6428
查看次数

与 InfluxQL 相比,flux 查询非常慢(慢 10 倍)

我正在将 influx1.x 升级到 influx2.x (将查询从 influxQL 更新为 Flux 语法)。对于非常简单的查询,当我尝试查询超过 500,000 个点时,性能会急剧下降,并且我不确定是否可以采取任何措施来改进查询以获得更好的性能

涌入QL:

select last("y") AS "y" from "mydata".autogen."profile" 
WHERE time >= '2019-01-01T00:00:00Z' and time <= '2019-01-07T23:59:59Z' 
GROUP BY time(1s) FILL(none)
Run Code Online (Sandbox Code Playgroud)

通量:

data=from(bucket: "mydata")
|> range(start: 2019-01-01T00:00:00Z, stop: 2019-01-07T23:59:59Z)
|> filter(fn: (r) => r._measurement == "profile")
|> filter(fn: (r) => r._field=="y")
|> aggregateWindow(every: 1s, fn: last, createEmpty: false)
|> yield()
Run Code Online (Sandbox Code Playgroud)

有什么建议吗?

influxdb influxdb-python influxql influxdb-2 flux-influxdb

5
推荐指数
1
解决办法
2386
查看次数

使用 Flux 查询基于组查找总和 - InfluxDB

我正在尝试使用 Flux 查询语言来查找基于一个人的列的总和。如果我有以下输入表:

在此输入图像描述

如何使用 Flux 查询来获取以下输出表:

在此输入图像描述

到目前为止,我已经尝试过类似的操作,但出现错误:

from: (bucket: "example")
  |> range(start:v.timeRangeStart, stop: v.timeRangeStop)
  |> filter(fn: (r)=> r["_measurement"] == "test")
  |> group(columns: r["person"])
  |> reduce( fn: (r, accumulator) => ({sum: r._value + accumulator.sum}), identity: {sum: 0})
Run Code Online (Sandbox Code Playgroud)

mysql influxdb grafana influxql flux-influxdb

4
推荐指数
1
解决办法
9525
查看次数

无法使用 InfluxDB 作为数据源和 Flux 作为查询语言来更改 Grafana 中的图例名称

无法使用 InfluxDB[flux 作为查询语言]更改 Grafana 中的图例名称。之前我使用 InfluxQL 作为查询语言,当时 grafana 提供了一个设置图例名称的选项。但在改用助焊剂后,这个选项似乎就消失了。现在它总是将图例名称显示为_value,我需要将其更改为一些自定义文本。请在下面找到我正在使用的查询。感谢您提前抽出时间。

bucket1 = from(bucket: "NOAA_water_database/autogen")
  |> range(start: v.timeRangeStart, stop:v.timeRangeStop)
  |> filter(fn: (r) => r._measurement == "ak_api_time" and (r._field == "device_id"))
  
bucket2 = from(bucket: "NOAA_water_database/autogen")
  |> range(start: v.timeRangeStart, stop:v.timeRangeStop)
  |> filter(fn: (r) => r._measurement == "ak_app_launch" and (r._field == "device_id"))
  
union(tables: [bucket1, bucket2])
 |> filter(fn: (r) => (r.browser == "chrome"))
 |> group(columns: ["device_id"])
  |> unique(column: "_value")
    |> count(column: "_value")
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

influxdb grafana influxdb-2 flux-influxdb

2
推荐指数
1
解决办法
4433
查看次数

InfluxDB2 / Grafana:我们如何使用 Flux 过滤标签值列表

InfluxDB2 Flux 语言提供了一种使用schema.measurementTagValues函数获取特定存储桶/测量组合的所有标签值的便捷方法。问题是文档没有提到如何过滤此列表以仅保留符合特定条件的标签值。

示例:
通过以下查询,我可以获得所有交易标签值:

import "influxdata/influxdb/schema"

schema.measurementTagValues(
    bucket: "jmeter",
    measurement: "jmeter",
    tag: "transaction",
)
Run Code Online (Sandbox Code Playgroud)

该架构包含另一个名为“application”的标签。我想获取特定应用程序的所有交易,而不是全部。
我们如何通过助焊剂来实现这一目标?
InfluxQL 中的相同请求将非常简单:
SHOW TAG VALUES FROM "jmeter" WITH KEY = "transaction" WHERE "application" = $application

目标是创建像这样的 Grafana 动态下拉列表: 在此输入图像描述

influxdb grafana influxdb-2 flux-influxdb

2
推荐指数
1
解决办法
5703
查看次数