/akumuli-prometheus-adapter

Remote write adapter for prometheous

Primary LanguageGoApache License 2.0Apache-2.0

Prometheus remote storage adapter for Akumuli

This adapter integrates Akumuli with Prometheus using the remote-read and remote-write interfaces. Adapter maintains the TCP connection pool to Akumuli. When Prometheous pushes the data adapter tries to maintain affinity. This means that the data from the same shard will go through the same TCP connection to the TSDB. This guarantees good write performance for Akumuli.

Build Instructions

Go 1.10 or greater is required to build the package. To build the package clone the repository and run go get; go build.

Configuration

All command line parameters have meaningful defaults. Because of that, if you're running this adapter and Akumuli on the same host you can just start adapter without parameters. If this is not the case you have to provide host and port.

Parameter Value Default
host Akumuli host name localhost
port Akumuli TCP endpoint port 8282
http-port Akumuli HTTP API endpoint port 8181
write-timeout Write timeout 10s
reconnect-interval Time interval between connection attempts 5s
idle-time Time interval after which idle connection should be closed 60s

To configure Prometheus you can add this lines to your configuration file:

# Remote write configuration
remote_write:
  - url: "http://<adapter-host-name>:9201/write"

# Remote read configuration
remote_read:
  - url: "http://<adapter-host-name>:9201/read"

You can add remote_read or remote_write or both.