跳转至

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 及以上版本
Back to top