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/influx1Configuració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"Red privada para los contenedores Docker
# comprobamos si existe la red i40sys
docker network ls
# si no existe, la creamos
docker network create i40sysLanzar 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: i40sysDefinir 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;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 = trueresetear contenedor
docker restart influx1Creació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 usersBackup y restore
# backup
docker exec -it influx1 influxd backup -portable /backup
# restore
docker exec -it influx1 influxd restore -portable /backup
