跳转至

InfluxDB2 Reader

InfluxDB2Reader 插件实现了从 InfluxDB 2.0 及以上版本读取数据。

注意,如果你的 InfluxDB 是 1.8及以下版本,则应该使用 InfluxDBReader 插件

示例

以下示例用来演示该插件如何从指定表(即指标)上读取数据并输出到终端

创建 job 文件

创建 job/influx2stream.json 文件,内容如下:

{
  "job": {
    "content": {
      "reader": {
        "name": "influxdb2reader",
        "parameter": {
          "column": [
            "location",
            "height",
            "wet"
          ],
          "connection": [
            {
              "endpoint": "http://localhost:8086",
              "bucket": "test",
              "table": [
                "temperature"
              ],
              "org": "com.wgzhao"
            }
          ],
          "token": "YOUR_SECURE_TOKEN",
          "range": [
            "-1h",
            "-5m"
          ],
          "limit": 10
        }
      },
      "writer": {
        "name": "streamwriter",
        "parameter": {
          "print": "true"
        }
      }
    },
    "setting": {
      "speed": {
        "bytes": -1,
        "channel": 1
      }
    }
  }
}

运行

执行下面的命令进行数据采集

bin/addax.sh job/influx2stream.json

参数说明

配置项 是否必须 数据类型 默认值 描述
endpoint string
token string 访问数据库的 token
table list 所选取的需要同步的表名(即指标)
org string 指定 InfluxDB 的 org 名称
bucket string 指定 InfluxDB 的 bucket 名称
column list 所配置的表中需要同步的列名集合,详细描述见 rdbmreader
range list 读取数据的时间范围
limit int 限制获取记录数

column

如果不指定 column, 或者指定 column["*"] , 则会读取所有有效的 _field 字段以及 _time 字段 否则按照指定字段读取

range

range 用来指定读取指标的时间范围,其格式如下:

{
  "range": ["start_time", "end_time"]
}

range 由两个字符串组成的列表组成,第一个字符串表示开始时间,第二个表示结束时间。其时间表达方式要求符合 Flux 格式要求,类似这样:

{
  "range": ["-15h", "-2h"]
}

其中第二个结束时间如果不想指定,可以不写,类似这样:

{
  "range": ["-15h"]
}

类型转换

当前实现是将所有字段当作字符串处理

限制

  1. 当前插件仅支持 2.0 及以上版本