开始使用 Flux
查看等效的 InfluxDB v2 文档: 开始使用 Flux 和 InfluxDB.
Flux 是 InfluxData 为查询、分析和操作数据而设计的全新功能数据脚本语言。
本多部分入门指南将介绍与 Flux 相关的重要概念。它涵盖了使用 Flux 从 InfluxDB 查询时间序列数据,并介绍了 Flux 语法和函数。
您需要什么
InfluxDB v1.8+
Flux v0.65 集成到 InfluxDB v1.8 中,可用于查询存储在 InfluxDB 中的数据。
有关下载和安装 InfluxDB 的信息,请参阅 InfluxDB 安装。
Chronograf v1.8+
不是必需的,但强烈推荐。Chronograf v1.8 的数据探索器提供了一个用户界面(UI),用于编写 Flux 脚本并可视化结果。Chronograf v1.8+ 中的仪表板也支持 Flux 查询。
有关下载和安装 Chronograf 的信息,请参阅 Chronograf 安装。
关键概念
Flux 在您开始时引入了您应该了解的重要新概念。
桶
Flux 为 InfluxDB 引入了“桶”这一新的数据存储概念。桶是一个命名位置,其中存储了具有保留策略的数据。它与 InfluxDB v1.x 的“数据库”类似,但它是数据库和保留策略的组合。当使用多个保留策略时,每个保留策略都被视为自己的桶。
Flux 的 from()
函数,它定义了 InfluxDB 数据源,需要一个 bucket
参数。当使用 Flux 与 InfluxDB v1.x 一起使用时,请使用以下桶命名约定,该约定将数据库名和保留策略组合成一个单独的桶名称
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 查询的选项,但作为初学者,我们建议使用以下工具
Chronograf 数据探索器
Chronograf 数据探索器使得编写您的第一个 Flux 脚本并可视化结果变得简单。要使用 Chronograf 的 Flux UI,请打开 数据探索器,在图表占位符上方的源下拉菜单右侧,选择 Flux 作为源类型。
这将提供 模式、脚本 和 函数 选项卡。模式选项卡允许您探索数据。脚本选项卡是您编写 Flux 脚本的地方。函数选项卡提供了您在 Flux 查询中可用的函数列表。
这个页面有帮助吗?
感谢您的反馈!