Prometheus Remote Write

An input plugin to ingest payloads of Prometheus remote write

This input plugin allows you to ingest a payload in the Prometheus remote-write format, i.e. a remote write sender can transmit data to Fluent Bit.

Configuration

KeyDescriptiondefault

listen

The address to listen on

0.0.0.0

port

The port for Fluent Bit to listen on

8080

buffer_max_size

Specify the maximum buffer size in KB to receive a JSON message.

4M

buffer_chunk_size

This sets the chunk size for incoming incoming JSON messages. These chunks are then stored/managed in the space available by buffer_max_size.

512K

successful_response_code

It allows to set successful response code. 200, 201 and 204 are supported.

201

tag_from_uri

If true, tag will be created from uri, e.g. api_prom_push from /api/prom/push, and any tag specified in the config will be ignored. If false then a tag must be provided in the config for this input.

true

uri

Specify an optional HTTP URI for the target web server listening for prometheus remote write payloads, e.g: /api/prom/push

A sample config file to get started will look something like the following:

[INPUT]
	name prometheus_remote_write
	listen 127.0.0.1
	port 8080
	uri /api/prom/push

[OUTPUT]
	name stdout
	match *

With the above configuration, Fluent Bit will listen on port 8080 for data. You can now send payloads in Prometheus remote write format to the endpoint /api/prom/push.

Examples

Communicate with TLS

Prometheus Remote Write input plugin supports TLS/SSL, for more details about the properties available and general configuration, please refer to the TLS/SSL section.

Communicating with TLS, you will need to use the tls related parameters:

[INPUT]
	Name prometheus_remote_write
	Listen 127.0.0.1
	Port 8080
	Uri /api/prom/push
	Tls On
	tls.crt_file /path/to/certificate.crt
	tls.key_file /path/to/certificate.key

Now, you should be able to send data over TLS to the remote write input.

Last updated