文档文档

查询 InfluxDB

要使用 Flux 从 InfluxDB 查询数据,请使用 from()range。 为每个函数提供以下参数

  • from():
    • bucketbucketID: 要查询的 InfluxDB bucket 名称bucket ID
  • range():
    • start: 返回结果的最早时间。

InfluxDB 要求查询必须有时间范围限制,因此 from() 之后必须始终跟随 range()

from(bucket: "example-bucket")
    |> range(start: -1h)

远程查询 InfluxDB Cloud 或 2.x

要远程查询 InfluxDB Cloud 或 2.x,除了 bucketbucketID 之外,还需要提供以下参数。

from(
    bucket: "example-bucket",
    host: "http://localhost:8086",
    org: "example-org",
    token: "mYSup3r5Ecr3T70keN",
)

查询 InfluxDB 1.x

要查询 InfluxDB 1.x,请对您的 bucket 名称使用 database-name/retention-policy-name 命名约定。 例如,要查询 telegraf 数据库中 autogen 保留策略中的数据

from(bucket: "telegraf/autogen")
    |> range(start: -30m)

要查询数据库中默认保留策略,请使用相同的 bucket 命名约定,但不要提供保留策略

from(bucket: "telegraf/")
    |> range(start: -30m)

结果结构

from()range() 返回一个按 序列(measurement、标签集和字段)分组的 表流。 每个表包含以下列

  • _start: 查询范围开始时间(由 range() 定义)
  • _stop: 查询范围停止时间(由 range() 定义)
  • _time: 数据时间戳
  • _measurement: Measurement 名称
  • _field: 字段键
  • _value: 字段值
  • 标签列: 每列标签一列,其中列标签是标签键,列值是标签值

带有下划线前缀的列

带有下划线 (_) 前缀的列被视为“系统”列。 一些 Flux 函数需要这些列。

InfluxDB 查询结果示例

悬停在突出显示的文本上以查看描述。

_start_stop_time_measurementhost_field_value
2021-01-01T00:00:00Z2021-01-02T00:00:00Z2021-01-01T00:00:00Zfoohost1bar1.2
2021-01-01T00:00:00Z2021-01-02T00:00:00Z2021-01-01T01:00:00Zfoohost1bar1.6
2021-01-01T00:00:00Z2021-01-02T00:00:00Z2021-01-01T02:00:00Zfoohost1bar2.1
_start_stop_time_measurementhost_field_value
2021-01-01T00:00:00Z2021-01-02T00:00:00Z2021-01-01T00:00:00Zfoohost2bar1.2
2021-01-01T00:00:00Z2021-01-02T00:00:00Z2021-01-01T01:00:00Zfoohost2bar1.7
2021-01-01T00:00:00Z2021-01-02T00:00:00Z2021-01-01T02:00:00Zfoohost2bar2.1

结构化结果,类似于 InfluxQL

InfluxQL 将每个字段作为一列返回,其中列标签是字段键,列值是字段值。 要使用 Flux 类似地构建结果,请使用 pivot()schema.fieldsAsCols() 将字段透视为列。


此页内容是否对您有帮助?

感谢您的反馈!


Flux 的未来

Flux 即将进入维护模式。 您可以继续像当前一样使用它,而无需对代码进行任何更改。

阅读更多

现已全面上市

InfluxDB 3 Core 和 Enterprise

快速启动。 更快扩展。

获取更新

InfluxDB 3 Core 是一个开源、高速、最新数据引擎,可实时收集和处理数据,并将其持久保存到本地磁盘或对象存储。 InfluxDB 3 Enterprise 以 Core 的基础为构建,增加了高可用性、读取副本、增强的安全性以及数据压缩,以实现更快的查询和优化的存储。 InfluxDB 3 Enterprise 的免费层级可供非商业家用或业余爱好者使用。

有关更多信息,请查看