Apache Zeppelin 的 InfluxDB 解释器
概述
InfluxDB 是一个由InfluxData开发的开源时间序列数据库(TSDB)。它是用Go语言编写的,并针对操作监控、应用指标、物联网传感器数据和实时分析等领域中的时间序列数据的快速、高可用性存储和检索进行了优化。 此解释器允许在Zeppelin Notebook中使用Flux语言执行查询。
注释
- 此解释器与InfluxDB 1.8+和InfluxDB 2.0+(v2 API,Flux语言)兼容
- 目前不支持代码补全和语法高亮
示例笔记本

配置
| 属性 | 默认值 | 值 |
|---|---|---|
| influxdb.url | http://localhost:9999 | InfluxDB API 连接 URL |
| influxdb.org | my-org | 组织名称,InfluxDB 2.0+ 支持组织,对于 InfluxDB 1.8 使用 "-" 作为组织 |
| influxdb.token | my-token | InfluxDB API 的授权令牌,InfluxDB 2.0+ 支持令牌,对于 InfluxDB 1.8 使用 'username:password' 作为令牌。 |
| influxdb.logLevel | NONE | InfluxDB 客户端库的详细级别(用于调试目的) |
示例配置

概述
如何使用
基本上,你可以使用
%influxdb
from(bucket: "my-bucket")
|> range(start: -1h)
|> filter(fn: (r) => r._measurement == "cpu")
|> filter(fn: (r) => r.cpu == "cpu-total")
|> pivot(rowKey:["_time"], columnKey: ["_field"], valueColumn: "_value")
在这个例子中,我们使用了由 [[inputs.cpu]] Telegraf 输入插件收集的数据。
Flux 命令的结果可以包含一个或多个表格。在多个表格的情况下,每个表格都被渲染为一个单独的 %table 结构。此示例使用 pivot 函数将多个表格中的值收集到单个表格中。
如何使用docker运行InfluxDB 2.0
docker pull quay.io/influxdb/influxdb:nightly
docker run --name influxdb -p 9999:9999 quay.io/influxdb/influxdb:nightly
## Post onBoarding request, to setup initial user (my-user@my-password), org (my-org) and bucketSetup (my-bucket)"
curl -i -X POST http://localhost:9999/api/v2/setup -H 'accept: application/json' \
-d '{
"username": "my-user",
"password": "my-password",
"org": "my-org",
"bucket": "my-bucket",
"token": "my-token"
}'