Skip to content
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 19 additions & 20 deletions pipeline/inputs/prometheus-remote-write.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,26 +2,26 @@
description: An input plugin to ingest payloads of Prometheus remote write
---

# 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.
The _Prometheus remote write_ input plugin lets you ingest a payload in the Prometheus remote-write format. A remote-write sender can transmit data to Fluent Bit.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should "remote-write" be hyphenated like that?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

that's how the prometheus remote-write protocol spec formats it, so I think so: https://prometheus.io/docs/specs/prw/remote_write_spec/

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

actually, looking at this again, they're somewhat inconsistent. but I think it makes sense to hyphenate :P


## Configuration
## Configuration parameters

| 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 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 | |
| threaded | Indicates whether to run this input in its own [thread](../../administration/multithreading.md#inputs). | `false` |
| Key | Description | Default |
| --- | ----------- | ------- |
| `listen` | The address to listen on. | `0.0.0.0` |
| `port` | The port to listen on. | `8080` |
| `buffer_max_size` | Specifies the maximum buffer size in KB to receive a JSON message. | `4M` |
| `buffer_chunk_size` | Sets the chunk size for incoming JSON messages. These chunks are then stored and managed in the space specified by `buffer_max_size`. | `512K` |
| `successful_response_code` | Specifies the success response code. Supported values are `200`, `201`, and `204`.| `201` |
| `tag_from_uri` | If true, a tag will be created from the `uri` parameter (for example, `api_prom_push` from `/api/prom/push`), and any tag specified in the configuration will be ignored. If false, you must provide a tag in the configuration for this plugin. | `true` |
| `uri` | Specifies an optional HTTP URI for the target web server listening for Prometheus remote write payloads (for example, `/api/prom/push`). | _none_ |
| `threaded` | Specifies whether to run this input in its own [thread](../../administration/multithreading.md#inputs). | `false` |

## Configuration file

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

The following examples are sample configuration files for this input plugin:

{% tabs %}
{% tab title="fluent-bit.conf" %}
Expand Down Expand Up @@ -53,16 +53,15 @@ pipeline:
{% 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`.
These sample configurations configure Fluent Bit to listen for data on port `8080`. You can send payloads in Prometheus remote-write format to the endpoint `/api/prom/push`.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same comment here about hyphenation.


## 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](../../administration/transport-security.md) section.
Prometheus Remote Write input plugin supports TLS and SSL. For more details about the properties available and general configuration, refer to the [Transport security](../../administration/transport-security.md) documentation.

Communicating with TLS, you will need to use the tls related parameters:
To communicate with TLS, you must use these TLS-related parameters:

```
[INPUT]
Expand All @@ -75,4 +74,4 @@ Communicating with TLS, you will need to use the tls related parameters:
tls.key_file /path/to/certificate.key
```

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