elasticsearch¶
消费elasticsearch的数据。
Example
pipelines:
  - name: local
    sources:
      - type: elasticsearch
        name: elastic
        hosts: ["localhost:9200"]
        indices: ["blog*"]
        size: 10 # data size per fetch
        interval: 30s # pull data frequency
pipelines:
  - name: local
    sources:
      - type: elasticsearch
        name: elastic
        hosts:
          - "localhost:9200"
          - "localhost:9201"
        indices: ["blog*"]
        username: "bob"
        password: "bob"
        schema: ""
        sniff: false
        gzip: true
        includeFields: # pull selected field
          - Title
          - Content
          - Author
        excludeFields: # exclude selected field
          - Content
        query: | # elastic query phrases
          {
            "match": {"Title": "bob"}
          }
        size: 10 # data size per fetch
        interval: 30s # pull data frequency
        timeout: 5s # pull timeout
        db: 
          flushTimeout: 2s # persistent the elastic pull location frequency
          cleanInactiveTimeout: 24h # delete the db record after the time
          cleanScanInterval: 1h # check the expired db record frequency
hosts¶
字段 | 
类型 | 
是否必填 | 
默认值 | 
含义 | 
|---|---|---|---|---|
| hosts | string数组 | 必填 | 消费的elasticsearch url地址 | 
indices¶
字段 | 
类型 | 
是否必填 | 
默认值 | 
含义 | 
|---|---|---|---|---|
| index | string数组 | 必填 | 查询elasticsearch的index名称 | 
username¶
字段 | 
类型 | 
是否必填 | 
默认值 | 
含义 | 
|---|---|---|---|---|
| username | string | 非必填 | 消费elasticsearch的用户名 | 
password¶
字段 | 
类型 | 
是否必填 | 
默认值 | 
含义 | 
|---|---|---|---|---|
| password | string | 必填 | 消费elasticsearch的密码 | 
schema¶
字段 | 
类型 | 
是否必填 | 
默认值 | 
含义 | 
|---|---|---|---|---|
| schema | string | 非必填 | http | HTTP scheme(http/https),sniff的时候使用 | 
gzip¶
字段 | 
类型 | 
是否必填 | 
默认值 | 
含义 | 
|---|---|---|---|---|
| gzip | bool | 非必填 | false | 是否开启gzip压缩 | 
includeFields¶
字段 | 
类型 | 
是否必填 | 
默认值 | 
含义 | 
|---|---|---|---|---|
| includeFields | string数组 | 非必填 | 只返回指定的_source字段 | 
excludeFields¶
字段 | 
类型 | 
是否必填 | 
默认值 | 
含义 | 
|---|---|---|---|---|
| excludeFields | string数组 | 非必填 | 排除指定的_source字段 | 
query¶
字段 | 
类型 | 
是否必填 | 
默认值 | 
含义 | 
|---|---|---|---|---|
| query | string | 非必填 | 查询elasticsearch的表达式 | 
size¶
字段 | 
类型 | 
是否必填 | 
默认值 | 
含义 | 
|---|---|---|---|---|
| size | int | 非必填 | 100 | 每次请求得到hits返回的个数 | 
sortBy¶
字段 | 
类型 | 
是否必填 | 
默认值 | 
含义 | 
|---|---|---|---|---|
| sortBy | 必填 | 数组 | 用于查询的排序 | |
| sortBy.fields | string | 必填 | 排序的字段 | |
| sortBy.ascending | bool | 非必填 | true | 是否按照升序排序 | 
Example
        sortBy:
        - fields: "@timestamp"
          ascending: true
        - fields: "_id"
          ascending: true
interval¶
字段 | 
类型 | 
是否必填 | 
默认值 | 
含义 | 
|---|---|---|---|---|
| interval | time.Duration | 非必填 | 30s | 定时请求elasticsearch的时间间隔 | 
timeout¶
字段 | 
类型 | 
是否必填 | 
默认值 | 
含义 | 
|---|---|---|---|---|
| timeout | time.Duration | 非必填 | 5s | 请求的超时时间 | 
db¶
字段 | 
类型 | 
是否必填 | 
默认值 | 
含义 | 
|---|---|---|---|---|
| db | 非必填 | 持久化记录查询elasticsearch请求的进度,会存储至elasticsearch中,避免Loggie重启后重复消费数据 | ||
| db.indexPrefix | string | 非必填 | .loggie-db | 默认情况下,loggie会将持久化的数据定时写入格式为${indexPrefix}-${pipelineName}-${sourceName}的index中 | 
| db.flushTimeout | time.Duration | 非必填 | 2s | 持久化数据写入的间隔时间 | 
| db.cleanInactiveTimeout | time.Duration | 非必填 | 504h (21day) | 清理过期的持久化数据超时时间 | 
| db.cleanScanInterval | time.Duration | 非必填 | 1h | 检查过期时间间隔 |