Response Aggregating HTTP Proxy for Timeseries APIs & Friends
Aggress-IO distributes queries across multiple API targets, aggregating results into a unique response.
It has been tested with InfluxDB
, Clickhouse
and Loki
.
Aggress-IO can use either of the following modes to accomodate the preferred response aggregation method:
concat
combine
replace
npm install -g aggressio
SERVERS=http://loki1:3100,http://loki2:3100 PORT=3100 MODE=concat aggressio
To start manually, populate the ENV variables as per example and run:
SERVERS=http://influxdb1:8086,http://influxdb2:8086 PORT=9999 MODE=concat npm start
To manage the service using PM2, edit the aggressio.config.js
file with the ENV variables and run:
pm2 [start|restart|stop|delete] aggressio.config.js
To start using Docker, populate the ENV variables as per example and run:
sudo docker run \
-e SERVERS=http://influxdb1:8086,http://infludb2:8086 \
-e PORT=8089 \
-e MODE=concat \
-p 8089
--rm qxip/aggressio:latest