文档文档

Flux 入门

此页面记录了 InfluxDB OSS 的早期版本。InfluxDB OSS v2 是最新的稳定版本。 请参阅等效的 InfluxDB v2 文档: Flux 和 InfluxDB 入门

Flux 是 InfluxData 新的功能数据脚本语言,专为查询、分析和处理数据而设计。

这个由多个部分组成的入门指南将引导您了解与 Flux 相关的重要概念。它涵盖了使用 Flux 从 InfluxDB 查询时序数据,并介绍了 Flux 语法和函数。

您将需要什么

InfluxDB v1.8+

Flux 内置于 InfluxDB v1.8+ 中,可用于查询存储在 InfluxDB 中的数据。InfluxDB influx CLI 还包含一个 -type= 选项,当设置为 flux 时,将启动交互式 Flux 读取-求值-打印循环 (REPL),允许您从命令行编写和运行 Flux 查询。


有关下载和安装 InfluxDB 的信息,请参阅 InfluxDB 安装


Chronograf v1.8+

不是必需的,但强烈推荐。Chronograf v1.8 的数据浏览器为编写 Flux 脚本和可视化结果提供了用户界面 (UI)。Chronograf v1.8+ 中的仪表板也支持 Flux 查询。


有关下载和安装 Chronograf 的信息,请参阅 Chronograf 安装


关键概念

Flux 引入了重要的新概念,您在开始使用时应该了解这些概念。

存储桶(Buckets)

Flux 引入了“存储桶(buckets)”,这是 InfluxDB 的一种新的数据存储概念。存储桶(bucket) 是一个命名的位置,用于存储具有保留策略的数据。它类似于 InfluxDB v1.x 的“数据库”,但它是数据库和保留策略的组合。当使用多个保留策略时,每个保留策略都被视为其自己的存储桶(bucket)。

Flux 的 from() 函数(定义 InfluxDB 数据源)需要一个 bucket 参数。当将 Flux 与 InfluxDB v1.x 一起使用时,请使用以下存储桶(bucket)命名约定,该约定将数据库名称和保留策略组合成一个存储桶(bucket)名称

InfluxDB v1.x 存储桶(bucket)命名约定
// Pattern
from(bucket:"<database>/<retention-policy>")

// Example
from(bucket:"telegraf/autogen")

管道转发运算符

Flux 广泛使用管道转发运算符 (|>) 将操作链接在一起。在每个函数或操作之后,Flux 返回一个表或包含数据的表集合。管道转发运算符将这些表管道传输到下一个函数或操作,在其中对它们进行进一步处理或操作。

Flux 将所有数据结构化为表。当数据从数据源流式传输时,Flux 将其格式化为带注释的逗号分隔值 (CSV),表示表。然后,函数操作或处理它们并输出新表。这使得可以轻松地将函数链接在一起以构建复杂的查询。

组键

每个表都有一个组键,它描述了表的内容。它是列的列表,表中每一行在该列表中都具有相同的值。每行中具有唯一值的列属于组键的一部分。

当函数处理和转换数据时,每个函数都会修改输出表的组键。了解函数如何修改表和组键是正确塑造数据以获得所需输出的关键。

示例组键
[_start, _stop, _field, _measurement, host]

请注意,_time_value 已从示例组键中排除,因为它们对于每一行都是唯一的。

使用 Flux 的工具

您有多种 编写和运行 Flux 查询的选项,但是当您入门时,我们建议使用以下工具

1. Chronograf 的数据浏览器

Chronograf 的数据浏览器使编写您的第一个 Flux 脚本和可视化结果变得容易。要使用 Chronograf 的 Flux UI,请打开数据浏览器,并在图形占位符上方的源下拉列表的右侧,选择 Flux 作为源类型。

这将提供模式脚本函数窗格。“模式”窗格允许您浏览数据。“脚本”窗格是您编写 Flux 脚本的地方。“函数”窗格提供了 Flux 查询中可用的函数列表。

2. influx CLI

influx CLI 是用于查询 InfluxDB 的交互式 shell。使用 InfluxDB v1.8+,使用 -type=flux-path-prefix=/api/v2/query 选项打开 Flux REPL,您可以在其中编写和运行 Flux 查询。

influx -type=flux -path-prefix=/api/v2/query

此页对您有帮助吗?

感谢您的反馈!


Flux 的未来

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

阅读更多

InfluxDB 3 开源现已进入公开 Alpha 阶段

InfluxDB 3 开源现在可用于 alpha 测试,根据 MIT 或 Apache 2 许可获得许可。

我们正在发布两个产品作为 alpha 版本的一部分。

InfluxDB 3 Core 是我们的新开源产品。它是用于时间序列和事件数据的最新数据引擎。InfluxDB 3 Enterprise 是一个商业版本,它建立在 Core 的基础上,增加了历史查询功能、读取副本、高可用性、可扩展性和细粒度的安全性。

有关如何入门的更多信息,请查看