/
Instalar y configurar InfluxDB v1 (Base de datos de series temporales)
Search
Try Notion
Instalar y configurar InfluxDB v1 (Base de datos de series temporales)
Fecha publicación
2021/11/19
#
21
Dificultad
Básico
3 more properties
Descripción
InfluxDB es una BBDD de series temporales, en este vídeo explicaremos como instalar la versión 1.8 del mismo que aunque algo antigua es la que tiene más documentación, usuarios y ayuda disponible en Internet. Esto es importante por qué nos permitirá montar sistemas de monitorización de sistemas de forma sencilla con la herramienta Telegraf. Esto lo veremos en los siguientes vídeos.
Directorios
mkdir -p /docker-data/influx1/etc mkdir -p /docker-data/influx1/backup mkdir /data/influx1
Copy
Bash
Configuración
/docker-data/influx1/etc/influxdb.conf
file content
reporting-disabled = false bind-address = "127.0.0.1:8088" [meta] dir = "/var/lib/influxdb/meta" retention-autocreate = true logging-enabled = true [data] dir = "/var/lib/influxdb/data" index-version = "inmem" wal-dir = "/var/lib/influxdb/wal" wal-fsync-delay = "0s" query-log-enabled = true cache-max-memory-size = 1073741824 cache-snapshot-memory-size = 26214400 cache-snapshot-write-cold-duration = "10m0s" compact-full-write-cold-duration = "4h0m0s" max-series-per-database = 1000000 max-values-per-tag = 100000 max-concurrent-compactions = 0 trace-logging-enabled = false [coordinator] write-timeout = "10s" max-concurrent-queries = 0 query-timeout = "0s" log-queries-after = "0s" max-select-point = 0 max-select-series = 0 max-select-buckets = 0 [retention] enabled = true check-interval = "30m0s" [shard-precreation] enabled = true check-interval = "10m0s" advance-period = "30m0s" [monitor] store-enabled = true store-database = "_internal" store-interval = "10s" [subscriber] enabled = true http-timeout = "30s" insecure-skip-verify = false ca-certs = "" write-concurrency = 40 write-buffer-size = 1000 [http] enabled = true bind-address = ":8086" auth-enabled = false log-enabled = true write-tracing = false pprof-enabled = true https-enabled = false https-certificate = "/etc/ssl/influxdb.pem" https-private-key = "" max-row-limit = 0 max-connection-limit = 0 shared-secret = "" realm = "InfluxDB" unix-socket-enabled = false bind-socket = "/var/run/influxdb.sock" [[graphite]] enabled = false bind-address = ":2003" database = "graphite" retention-policy = "" protocol = "tcp" batch-size = 5000 batch-pending = 10 batch-timeout = "1s" consistency-level = "one" separator = "." udp-read-buffer = 0 [[collectd]] enabled = false bind-address = ":25826" database = "collectd" retention-policy = "" batch-size = 5000 batch-pending = 10 batch-timeout = "10s" read-buffer = 0 typesdb = "/usr/share/collectd/types.db" security-level = "none" auth-file = "/etc/collectd/auth_file" [[opentsdb]] enabled = false bind-address = ":4242" database = "opentsdb" retention-policy = "" consistency-level = "one" tls-enabled = false certificate = "/etc/ssl/influxdb.pem" batch-size = 1000 batch-pending = 5 batch-timeout = "1s" log-point-errors = true [[udp]] enabled = false bind-address = ":8089" database = "udp" retention-policy = "" batch-size = 5000 batch-pending = 10 read-buffer = 0 batch-timeout = "1s" precision = "" [continuous_queries] log-enabled = true enabled = true run-interval = "1s"
Copy
Bash
Red privada para los contenedores Docker
# comprobamos si existe la red i40sys docker network ls # si no existe, la creamos docker network create i40sys
Copy
Bash
Lanzar contenedor Docker
/docker-data/influx1/docker-compose.yml
version: '3.8'
services:
influx1:
container_name: influx1
image: influxdb:1.8
restart: unless-stopped
environment:
- TZ="Europe/Madrid"
volumes:
- /data/influx1:/var/lib/influxdb
- ./etc/influxdb.conf:/etc/influxdb/influxdb.conf:ro
- ./backup:/backup
- /etc/localtime:/etc/localtime:ro
command: -config /etc/influxdb/influxdb.conf
networks:
- i40sys
networks:
i40sys:
external:
name: i40sys
Definir password Admin
# CLI and regular commands: docker exec -ti influx1 /usr/bin/influx # set admin user # user name "admin" is mandatory for default administrator create user "admin" with password 'fxvJYEQ%J&Te_GgEmjVDm)U6' with all privileges;
Copy
Bash
modificar el fichero de configuración /docker-data/influx1/etc/influxdb.conf
# localizar esta parte del fichero ... [http] enabled = true bind-address = ":8086" auth-enabled = false ... # cambiar esta lina para que quede así: auth-enabled = true
Copy
Bash
resetear contenedor
docker restart influx1
Copy
Bash
Creación de BBDD y usuarios
# CLI and regular commands: docker exec -ti influx1 /usr/bin/influx # authenciate session with:auth auth <user> <password> # creem bbdd telegraf, monitoring sistema # CREEM BBDD AMB RETENCIÓ 1 MES PER TREBALLAR AMB TELEGRAF CREATE DATABASE "telegraf" WITH DURATION 4w1d REPLICATION 1 NAME "one_month" show databases use telegraf SHOW RETENTION POLICIES create user "telegraf_r" with password '#s,9q:.~gM/yEub4'; create user "telegraf_w" with password '%AfqgnSb5Ye?p!qd'; grant read on "telegraf" to "telegraf_r"; grant write on "telegraf" to "telegraf_w"; show users
Copy
Bash
Backup y restore
# backup docker exec -it influx1 influxd backup -portable /backup # restore docker exec -it influx1 influxd restore -portable /backup
Copy
Bash