InfluxDB
Inleiding
Deze tutorial is geschreven voor InfluxDB 1.8. Per 2.0 staat er een hoop te veranderen.
Ik wil een InfluxDB container maken met SSL en auth. Het aanmaken van een database en starten van een QC hoort hier ook bij.
Docker-compose
Om het cert via LetsEncrypt te laten verlopen is het handig om de SSL laag aan Traefik over te laten. Verder willen we een config laten genereren door influxdb en deze vervolgens mounten in de container zodat we deze kunnen aanpassen.
version: "2.3" services: influx: container_name: influx image: influxdb:1.8 environment: - INFLUXDB_HTTP_AUTH_ENABLED=true labels: - traefik.http.routers.influx.rule=Host(`influx.cloud.frotmail.nl`) - traefik.http.services.influx.loadbalancer.server.port=8086 - traefik.http.routers.influx.tls.certresolver=letsencrypt - traefik.http.routers.influx.entrypoints=influx - traefik.enable=true volumes: - /home/Eric/docker/influx/data:/var/lib/influxdb - /home/Eric/docker/influx/influxdb.conf:/etc/influxdb/influxdb.conf:ro restart: always
docker-compose up -d influx
Create admin user
influx -host xxxxx -ssl
Let op de single quotes!
> create user admin with password 'mysecret' with all privileges > auth username: admin password:
Create database
> create database grafana > show databases name: databases name ---- _internal grafana
Create retention policy
> create retention policy "one_week" on "grafana" DURATION 1w REPLICATION 1 DEFAULT > create retention policy "five_year" on "grafana" DURATION 270w REPLICATION 1 > create retention policy "one_year" on "grafana" DURATION 52w REPLICATION 1
Create CQ's
> create continuous query data_to_oney ON grafana begin select mean(*), last(*) into "one_year".:MEASUREMENT from /.*/ group by time(1h),* end > create continuous query data_to_fivey ON grafana begin select mean(*), last(*) into "five_year".:MEASUREMENT from /.*/ group by time(1d),* end