标准输出/文件

简介

flusher_http flusher插件可以实现将采集到的数据,经过处理后,通过http格式发送到指定的地址。

版本

Alpha

配置参数

参数 类型 是否必选 说明
Type String 插件类型,固定为flusher_http
RemoteURL String 要发送到的URL地址,示例:http://localhost:8086/write
Headers Map 发送时附加的http请求header,如可添加 Authorization、Content-Type等信息,支持动态变量写法,如{"x-db":"%{tag.db}"}

v2版本支持从Group的Metadata或者Group.Tags中获取动态变量,如`{"x-db":"%{metadata.db}"}`或者`{"x-db":"%{tag.db}"}`

Query Map 发送时附加到url上的query参数,支持动态变量写法,如{"db":"%{tag.db}"}

v2版本支持从Group的Metadata或者Group.Tags中获取动态变量,如`{"db":"%{metadata.db}"}`或者`{"db":"%{tag.db}"}`

Timeout String 请求的超时时间,默认 60s
Retry.Enable Boolean 是否开启失败重试,默认为 true
Retry.MaxRetryTimes Int 最大重试次数,默认为 3
Retry.InitialDelay String 首次重试时间间隔,默认为 1s,重试间隔以会2的倍数递增
Retry.MaxDelay String 最大重试时间间隔,默认为 30s
Convert Struct ilogtail数据转换协议配置
Convert.Protocol String ilogtail数据转换协议,可选值:custom_single,influxdb, jsonline。默认值:custom_single

v2版本可选值:`raw`

Convert.Encoding String ilogtail flusher数据转换编码,可选值:json, custom,默认值:json
Convert.Separator String ilogtail数据转换时,PipelineGroupEvents中多个Events之间拼接使用的分隔符。如\n。若不设置,则默认不拼接Events,即每个Event作为独立请求向后发送。 默认值为空。

当前仅在`Convert.Protocol: raw`有效。

Convert.IgnoreUnExpectedData Boolean ilogtail数据转换时,遇到非预期的数据的行为,true 跳过,false 报错。默认值 true
Convert.TagFieldsRename Map 对日志中tags中的json字段重命名
Convert.ProtocolFieldsRename Map ilogtail日志协议字段重命名,可当前可重命名的字段:contents,tagstime
Concurrency Int 向url发起请求的并发数,默认为1
QueueCapacity Int 内部channel的缓存大小,默认为1024
AsyncIntercept Boolean 异步过滤数据,默认为否

样例

采集/home/test-log/路径下的所有文件名匹配*.log规则的文件,并将采集结果以 custom_single 协议、json格式提交到 http://localhost:8086/write。 且提交时,附加 header x-filepath,其值使用log中的 Tag:path 的值

enable: true
inputs:
  - Type: input_file
    FilePaths: 
      - /home/test-log/*.log
flushers:
  - Type: flusher_http
    RemoteURL: "http://localhost:8086/write"
    Headers:
      x-filepath: "%{tag.__path__}"
    Convert:
      Protocol: custom_single
      Encoding: json

采集Docker日志,并将采集结果以jsonline协议发送到http://localhost:9428/insert/jsonline

enable: true
inputs:
  - Type: service_docker_stdout
    Stderr: true
    Stdout: true
processors:
  - Type: processor_json
    SourceKey: content
    KeepSource: true
    ExpandDepth: 1
    ExpandConnector: ""
    KeepSourceIfParseError: true
flushers:
  - Type: flusher_http
    RemoteURL: http://localhsot:9428/insert/jsonline
    QueueCapacity: 64
    Convert:
      Protocol: jsonline
      Encoding: json

需要注意的是,由于使用jsonline协议(会将日志的content和tag打平),所以仅支持使用json格式进行提交。 由于jsonline默认会批量提交日志,所以建议调低QueueCapacity,避免在日志量较大的情况下,发生内存占用过多或OOM的问题。

results matching ""

    No results matching ""