InfluxDB 1.8 und Chronograf Docker Installation

Aus Laub-Home Wiki

Dies ist eine Anleitung wie man eine InfluxDB Version 1 (hier 1.8) mit dem Chronograf via docker-compose Projekt deployt. Version 1.8 muss immer genutzt werden, wenn es sich um ein 32bit System handelt. Version 2 der InfluxDB setzt ein 64bit System voraus.

Docker Compose Setup

Als erstes legen wir unseren Docker Compose Projektordner an:

mkdir /opt/influxdb

In diesem dann unsere Projekt Konfigurationsdatei:

/opt/influxdb/.env

# Config File for InfluxDB and Chronograf

# Docker Compose Project Name
# max length 11 characters
PROJECT_NAME=influxdb

# InfluxDB Configuration
INFLUXDB_ADMIN_USER=admin
INFLUXDB_ADMIN_PASSWORD=bijpagPakurrapni
INFLUXDB_DB=test_db
INFLUXDB_USER=testdbuser
INFLUXDB_USER_PASSWORD=claksd8q3wfeadvckl
INFLUXDB_READ_USER=testdbuser_ro
INFLUXDB_READ_USER_PASSWORD=csaldkjvcehlr8caqde3

# Chronograph Configuration
CHRONOGRAF_HTTP_PORT=8888

# Timezone
TZ=Europe/Berlin

Nun unser docker-compose.yml

/opt/influxdb/docker-compose.yml

version: '3.7'

services:
  influxdb:
    image: influxdb:1.8
    restart: always
    environment:
      - INFLUXDB_DATA_ENGINE=tsm1
      - INFLUXDB_REPORTING_DISABLED=false
      - INFLUXDB_ADMIN_USER=${INFLUXDB_ADMIN_USER}
      - INFLUXDB_ADMIN_PASSWORD=${INFLUXDB_ADMIN_PASSWORD}
      - INFLUXDB_USER=${INFLUXDB_USER}
      - INFLUXDB_USER_PASSWORD=${INFLUXDB_USER_PASSWORD}
      - INFLUXDB_READ_USER=${INFLUXDB_READ_USER}
      - INFLUXDB_READ_USER_PASSWORD=${INFLUXDB_READ_USER_PASSWORD}
      - INFLUXDB_DB=${INFLUXDB_DB}
      - INFLUXDB_HTTP_LOG_ENABLED=false
      - INFLUXDB_META_LOGGING_ENABLED=false
      - INFLUXDB_DATA_QUERY_LOG_ENABLED=false
      - INFLUXDB_LOGGING_LEVEL=warn
      - TZ=${TZ}
    labels:
        com.centurylinklabs.watchtower.enable: "true"
    volumes:
      - data_influxdb:/var/lib/influxdb
    networks:
      backend-nw:
        aliases:
          - influxdb

  chronograf:
    image: chronograf:latest
    depends_on:
      - influxdb
    restart: always
    environment:
      - TZ=${TZ}
    labels:
        com.centurylinklabs.watchtower.enable: "true"
    volumes:
      - data_chronograf:/var/lib/chronograf/
    ports:
      - ${CHRONOGRAF_HTTP_PORT}:8888
    networks:
      app-nw:
        aliases:
          - chronograf
      backend-nw:
        aliases:
          - chronograf

volumes:
  data_influxdb:
  data_chronograf:

networks:
  app-nw:
    internal: false
    driver: bridge
    driver_opts:
      com.docker.network.bridge.name: app-${PROJECT_NAME}
  backend-nw:
    internal: true
    driver: bridge
    driver_opts:
      com.docker.network.bridge.name: be-${PROJECT_NAME}

Haben wir die beiden Dateien erfolgreich angelegt und konfiguriert. Können wir das ganze deployen:

cd /opt/influxdb
docker-compose up -d

Das Webinterface von Chronograf ist dann unter:

http://localhost:8888

erreichbar.

Möchtet ihr euch an die InfluxDB direkt verbinden, dann könnt ihr das so machen:

docker exec -ti influxdb_influxdb_1 influx