Prometheus

简介

flusher_prometheus flusher插件可以实现将采集到的数据,经过处理后,通过http格式发送到指定的 Prometheus RemoteWrite 地址。 参数配置大部分继承flusher_http,详见flusher_http

版本

Alpha

版本说明

  • 推荐版本:LoongCollector v3.0.5 及以上

配置参数

参数
类型
是否必选
说明

Type

String

插件类型,固定为flusher_prometheus

Endpoint

String

要发送到的URL地址,遵从Prometheus RemoteWrite协议,示例:http://localhost:8086/api/v1/write

SeriesLimit

Int

一次序列化 Prometheus RemoteWrite 请求的时间序列的最大长度,默认1000

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}"}

默认注入prometheus相关的Header(e.g. snappy压缩)

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

Boolean

是否开启失败重试,默认为 true

Retry.MaxRetryTimes

Int

最大重试次数,默认为 3

Retry.InitialDelay

String

首次重试时间间隔,默认为 1s,重试间隔以会2的倍数递增

Retry.MaxDelay

String

最大重试时间间隔,默认为 30s

Concurrency

Int

向url发起请求的并发数,默认为1

MaxConnsPerHost

Int

每个host上的最大HTTP连接数(包含了拨号阶段的、活跃的、空闲的),默认50

MaxIdleConnsPerHost

Int

每个host上的最大空闲的HTTP连接数,默认50

IdleConnTimeout

String

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

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

WriteBufferSize

Int

写缓冲区的大小,默认64KB

QueueCapacity

Int

内部channel的缓存大小,默认为1024

Authenticator

Struct

鉴权扩展插件配置

Authenticator.Type

String

鉴权扩展插件类型

Authenticator.Options

Map<String,Struct>

鉴权扩展插件配置内容

AsyncIntercept

Boolean

异步过滤数据,默认为否

DropEventWhenQueueFull

Boolean

当队列满时是否丢弃数据,否则需要等待,默认为丢弃

样例

采集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_prometheus
  Endpoint: 'http://PROMETHEUS_REMOTEWRITE_ADDRESS/api/v1/write'
  Concurrency: 10
  QueueCapacity: 4096
  DropEventWhenQueueFull: true
  Authenticator:
    Type: ext_basicauth
extensions:
- Type: ext_basicauth
  Username: 'YOUR_USERNAME'
  Password: 'YOUR_PASSWORD'

Last updated