CnOps 智能运维与可观测社区
首页开源项目实践文章视频课程常见问答开发者工具STAROps 专题
导航菜单
首页开源项目实践文章视频课程常见问答开发者工具STAROps 专题

CnOps 智能运维与可观测社区

愿景

CnOps 智能运维与可观测社区是一个以"智能运维与可观测"为核心的开放、包容、分享的技术社区,旨在聚集运维专家、开发者和爱好者,共同探讨、学习和分享可观测最佳实践与最新技术,与众多技术社区合作互动,共同探讨交叉领域的技术挑战,推动可观测领域的创新与进步。

内容社区

  • 实践文章
  • 视频课程
  • 开源项目
  • 常见问答
  • 开发者工具

友情链接

  • Prometheus
  • Grafana Lab
  • OpenTelemetry
  • LoongCollector

关注我们

阿里云云原生公众号阿里云云原生
阿里云可观测公众号阿里云可观测

Copyright © 2026 CnOps 社区. All rights reserved.

首页/开源项目/LoongCollector/HTTP
文档目录
概览版本管理
什么是输出插件
ClickHouseApache DorisElasticSearchHTTPKafka(Deprecated)KafkaV2LokiOTLP日志PrometheusPulsar标准输出/文件

LoongCollector

HTTP

flusherhttp flusher插件可以实现将采集到的数据,经过处理后,通过http格式发送到指定的地址。 Alpha 推荐版本:iLogtail v1.4.0 及以上 | 参数 | 类型 | 是否必选 | 说明 ...

HTTP

简介

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

版本

Alpha

版本说明

  • 推荐版本:iLogtail v1.4.0 及以上

配置参数

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

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

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

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

Timeout string 否 请求的超时时间,默认 60s
Retry.Enable bool 否 是否开启失败重试,默认为 true
Retry.MaxRetryTimes int 否 最大重试次数,默认为 3
Retry.InitialDelay string 否 首次重试时间间隔,默认为 1s,重试间隔以会2的倍数递增
Retry.MaxDelay string 否 最大重试时间间隔,默认为 30s
Encoder Struct 否 LoongCollector 数据编码协议配置,优先级高于 Convert
Encoder.Type string 否 encoder 插件的类型
Encoder.Options Map<string,Struct> 否 encoder 插件的配置
Convert Struct 否 LoongCollector 数据转换协议配置
Convert.Protocol string 否 LoongCollector 数据转换协议,可选值:custom_single,influxdb, jsonline。默认值:custom_single

v2版本可选值:raw

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

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

Convert.IgnoreUnExpectedData bool 否 LoongCollector 数据转换时,遇到非预期的数据的行为,true 跳过,false 报错。默认值 true
Convert.TagFieldsRename Map<string,string> 否 对日志中tags中的json字段重命名
Convert.ProtocolFieldsRename Map<string,string> 否 LoongCollector 日志协议字段重命名,可当前可重命名的字段:contents,tags和time
Concurrency int 否 向url发起请求的并发数,默认为1
MaxConnsPerHost int 否 每个host上的最大HTTP连接数(包含了拨号阶段的、活跃的、空闲的),默认0,表示不限制

当其值大于http.DefaultTransport.(*http.Transport).MaxConnsPerHost时(当前是0),会采用该值

MaxIdleConnsPerHost int 否 每个host上的最大空闲的HTTP连接数,默认0,表示不限制

当其值大于http.DefaultTransport.(*http.Transport).MaxIdleConnsPerHost时(当前是0),会采用该值

IdleConnTimeout string 否 HTTP连接在关闭前保持闲置状态的最长时间,默认90s

当其值大于http.DefaultTransport.(*http.Transport).IdleConnTimeout时(当前是90s),会采用该值

WriteBufferSize int 否 写缓冲区的大小,不填不会给http.DefaultTransport.(*http.Transport).WriteBufferSize赋值,此时采用默认的4KB

当其值大于0时,会采用该值

QueueCapacity int 否 内部channel的缓存大小,默认为1024
Authenticator Struct 否 鉴权扩展插件配置
Authenticator.Type string 否 鉴权扩展插件类型
Authenticator.Options Map<string,Struct> 否 鉴权扩展插件配置内容
AsyncIntercept bool 否 异步过滤数据,默认为否
DropEventWhenQueueFull bool 否 当队列满时是否丢弃数据,否则需要等待,默认为不丢弃
Compression string 否 压缩策略,目前支持gzip和snappy,默认不开启

样例

采集/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的问题。

采集Prometheus指标,并将指标以Prometheus协议发送到PROMETHEUS_REMOTEWRITE_ADDRESS。
这里用到了ext_default_encoder插件,该插件可以配置使用Prometheus Encoder,从而支持将采集到的数据转换为Prometheus协议。

enable: true
global:
  StructureType: v2
inputs:
- Type: service_prometheus
  ConfigFilePath: '/etc/prometheus/prometheus.yml'
flushers:
- Type: flusher_http
  RemoteURL: 'http://PROMETHEUS_REMOTEWRITE_ADDRESS/api/v1/write'
  Concurrency: 10
  QueueCapacity: 4096
  DropEventWhenQueueFull: true
  Encoder:
    Type: ext_default_encoder
    Format: 'prometheus'
    SeriesLimit: 1024
  Authenticator:
    Type: ext_basicauth
  Compression: 'snappy'
extensions:
- Type: ext_basicauth
  Username: 'YOUR_USERNAME'
  Password: 'YOUR_PASSWORD'

文章大纲