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
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