prometheus/documentation/examples/remote_storage/remote_storage_adapter
Matthieu MOREL fb3eb21230 enable gocritic, unconvert and unused linters
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2023-04-13 19:20:22 +00:00
..
graphite Update go to 1.19, set min version to 1.18 (#11279) 2022-09-07 11:30:48 +02:00
influxdb enable gocritic, unconvert and unused linters 2023-04-13 19:20:22 +00:00
opentsdb refactor (documentation): move from github.com/pkg/errors to 'errors' and 'fmt' (#10808) 2022-06-03 13:27:01 +02:00
README.md Fix incorrect examples in docs 2019-08-04 16:42:42 -07:00
main.go build(deps): bump github.com/prometheus/prometheus from 0.37.0 to 0.42.0 in /documentation/examples/remote_storage 2023-03-11 17:15:43 +09:00

README.md

Remote storage adapter

This is a write adapter that receives samples via Prometheus's remote write protocol and stores them in Graphite, InfluxDB, or OpenTSDB. It is meant as a replacement for the built-in specific remote storage implementations that have been removed from Prometheus.

For InfluxDB, this binary is also a read adapter that supports reading back data through Prometheus via Prometheus's remote read protocol.

Building

go build

Running

Graphite example:

./remote_storage_adapter --graphite-address=localhost:8080

OpenTSDB example:

./remote_storage_adapter --opentsdb-url=http://localhost:8081/

InfluxDB example:

./remote_storage_adapter --influxdb-url=http://localhost:8086/ --influxdb.database=prometheus --influxdb.retention-policy=autogen

To show all flags:

./remote_storage_adapter -h

Configuring Prometheus

To configure Prometheus to send samples to this binary, add the following to your prometheus.yml:

# Remote write configuration (for Graphite, OpenTSDB, or InfluxDB).
remote_write:
  - url: "http://localhost:9201/write"

# Remote read configuration (for InfluxDB only at the moment).
remote_read:
  - url: "http://localhost:9201/read"