prometheus/documentation/examples/remote_storage/remote_storage_adapter
Julius Volz 8fbe1b5133
Handle a bunch of unchecked errors (#4461)
There are many more (mostly finalizers like Close/Stop/etc.), but most of
the others seemed like one couldn't do much about them anyway.

Signed-off-by: Julius Volz <julius.volz@gmail.com>
2018-08-17 17:24:35 +02:00
..
graphite General simplifications (#3887) 2018-02-26 07:58:10 +00:00
influxdb Merge branch 'dev-2.0' into go-kit/log 2017-09-15 23:15:27 +05:30
opentsdb Migrate "golang.org/x/net/context" -> "context" (#3333) 2017-10-24 21:21:42 -07:00
main.go Handle a bunch of unchecked errors (#4461) 2018-08-17 17:24:35 +02:00
README.md Correct example name to adapter. (#2590) 2017-04-10 17:24:53 +01:00

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"