InfluxDB

From Frotmail Projects
Revision as of 19:22, 4 April 2022 by Eric (talk | contribs) (Created page with "=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 aanpass...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

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