示例
from(bucket: "example-bucket")
|> range(start: -1h)
|> filter(fn: (r) =>
r._measurement == "example-measurement" and
r._field == "example-field"
)
influxdb2开始可以使用flux语法查询
每个 Flux 查询都需要包含以下部分:1.数据源,2时间范围,3数据过滤器
1.数据源:bucket 标识数据库的名称
from(bucket:"example-bucket")
2.时间范围,stop不是必须的,时间范围可以是具体的时间(UTC时间)或者时间戳,也可以是相对时间范围,如-1h表示过去1小时内的数据(相对于当前时间),可选单位有s,m(分钟),h,d,mo(月),y
|> range(start: -1h, stop: -10m)
查询时间序列数据时,Flux 需要一个时间范围。"无界"查询非常占用大量资源,作为一种保护措施,Flux 不会在没有指定范围的情况下查询数据库。
3.数据过滤器,多个过滤器可以用 and 或 or 连接,或者另起一个filter
|> filter(fn: (r) =>)
filter的可选值有:_measurement ,_field ,_value,_time,某个tag的名称
4.生成查询数据(可选)
|> yield()
输出的表一般包含:_start, _stop, _field,_value, _measurement,_time,[tag名称] 字段
每个flux语法都以 "from" 开始,其他每个部分都需要以" |> "开头。