Skip to content

Latest commit

 

History

History
77 lines (60 loc) · 3.08 KB

prometheus-remote-write.md

File metadata and controls

77 lines (60 loc) · 3.08 KB
description
An input plugin to ingest payloads of Prometheus remote write

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

Key Description default
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:

{% tabs %} {% tab title="fluent-bit.conf" %}

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

[OUTPUT]
	name stdout
	match *

{% endtab %}

{% tab title="fluent-bit.yaml" %}

pipeline:
    inputs:
        - name: prometheus_remote_write
          listen: 127.0.0.1
          port: 8080
          uri: /api/prom/push
    outputs:
        - name: stdout
          match: '*'

{% endtab %} {% endtabs %}

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.