Basic InfluxDB + Grafana Installation
Setup
-
clone repo
git clone $REPO $FOLDER
-
download and build images
cd $FOLDER docker-compose pull && docker-compose build
-
start containers
create data dir and change owner
mkdir -p data/grafana; sudo chown 472:472 data/grafana
start containers
docker-compose up -d
-
setup retention policies
-
connect to InfluxDB shell
docker-compose exec InfluxDB bash
-
connect to InfluxDB shell
influx
-
issue InfluxDB commands
USE syslog SHOW RETENTION POLICIES ALTER RETENTION POLICY "autogen" ON "syslog" DURATION 24h REPLICATION 1 DEFAULT ALTER RETENTION POLICY "autogen" ON "syslog" DURATION 168h REPLICATION 1 SHARD DURATION 24h DEFAULT CREATE RETENTION POLICY "two_weeks" ON "syslog" DURATION 2w REPLICATION 1 CREATE RETENTION POLICY "a_year" ON "syslog" DURATION 52w REPLICATION 1 SHOW CONTINUOUS QUERIES CREATE CONTINUOUS QUERY "cq_p95_5m" ON "syslog" BEGIN SELECT percentile("duration", 95) AS "duration" INTO "two_weeks"."logstash" FROM "logstash" GROUP BY time(5m), "engine" END DROP CONTINUOUS QUERY "cq_p95_5m" ON "syslog" CREATE CONTINUOUS QUERY "cq_p95_30m" ON "syslog" BEGIN SELECT percentile("duration", 95) AS "duration" INTO "a_year"."logstash" FROM "syslog"."two_weeks"."logstash" GROUP BY time(30m), "engine" END DROP CONTINUOUS QUERY "cq_p95_30m" ON "syslog"
-
(optional) remove datapoints inserted before setting up the retention policies
use syslog show measurements delete FROM "logstash" WHERE time <= '2019-07-03T12:00:00.000Z'
-
Usage
Access the Dasboard: http://localhost:3000
- Login: admin
- Password: admin
DEV/DEBUG
> use syslog
Using database syslog
> show measurements
name: measurements
name
----
average_response_1h
logstash
p95_30m
p95_5m
> delete FROM "logstash" WHERE time <= '2019-07-03T12:00:00.000Z'
delete FROM "logstash" WHERE "engine" = 'trending_new'
delete FROM "logstash" WHERE "engine" = 'ts1'
delete FROM "logstash" WHERE "engine" = '%{engine}'
DROP SERIES FROM "logstash" WHERE "engine" = '%{engine}'