Documentation

开始使用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 installation


Chronograf v1.8+

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


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


关键概念

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

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

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

InfluxDB v1.x 存储桶命名规范
// 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 Open Source is now available for alpha testing, licensed under MIT or Apache 2 licensing.

我们将发布两个产品作为测试版的一部分。

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

有关如何开始的更多信息,请查看: