Creando un sistema de visualización de series temporales III: Instalación y configuración de InfluxDB

Instalación de InfluxDB

En mi caso voy a realizar la instalación de InfluxDB en un servidor con CentOS7, y para ello seguimos estos pasos:

  • Añadimos un nuevo repositorio, creando el archivo /etc/yum.repos.d/influxdb.repo con el siguiente contenido
[influxdb]
name = InfluxDB Repository - RHEL \$releasever
baseurl = https://repos.influxdata.com/rhel/\$releasever/\$basearch/stable
enabled = 1
gpgcheck = 1
gpgkey = https://repos.influxdata.com/influxdb.key
  • Instalamos el paquete
yum install influxdb
  • Abrimos los puertos en el cortafuegos. InfluxDB utilizar por defecto dos puertos:
    • TCP-8083
    • TCP-8086
firewall-cmd --permanent --add-port=8083/tcp
firewall-cmd --permanent --add-port=8086/tcp
firewall-cmd --reload
  • Arrancamos el servicio
systemctl start influxdb

En este punto tendremos el servicio ejecutándose con las opciones por defecto. El archivo de configuración se encuentra en la ruta  /etc/influxdb/influxdb.conf

 

Interfaces de acceso

El método de acceso para consultar y escribir datos es a través del API HTTP. Hay dos utilidades básicas que permiten interactuar con InfluxDB:

  • CLI / Shell
  • Web Admin

CLI / Shell

Es una utilidad que permite acceder a los datos a través de línea de comandos.

Ejecutamos el comando influx para entrar en el modo interactivo

[root@CENTOS03 ~]# influx
Visit https://enterprise.influxdata.com to register for updates, InfluxDB server management, and monitoring.
Connected to http://localhost:8086 version 1.0.2
InfluxDB shell version: 1.0.2
>

Y podemos escribir consultas

> SHOW DATABASES
name: databases
---------------
name
_internal

También podemos ejecutar las consultas como argumentos del comando influx

[root@CENTOS03 ~]# influx -execute 'SHOW DATABASES'
name: databases
---------------
name
_internal

Documentación de CLI / Shell

Web Admin

Por defecto, InfluxDB incorpora un interfaz web al que se puede acceder por el puerto 8083

influxdb-001

El interfaz es muy sencillo y podemos ejecutar consultas y obtener datos

influxdb-002

 

Configuración inicial

En la configuración por defecto, no tiene ningún usuario configurado ni solicita credenciales al realizar la conexión, por lo que cualquier conexión permite consultar o escribir datos. Así que el primer paso de la configuración que vamos a realizar es crear un usuario administrador y habilitar la autenticación para que se solicite un usuario y contraseña para acceder a las bases de datos.

Creación de un usuario administrador

Utilizamos la siguiente consulta para crear el usuario administrador

CREATE USER <username> WITH PASSWORD '<password>' WITH ALL PRIVILEGES

Por ejemplo

CREATE USER admin WITH PASSWORD 'InfluxDB2016' WITH ALL PRIVILEGES

 

Habilitar la autenticación

Accedemos al archivo de configuración y modificamos el valor de la clave «auth-enabled»

###
### [http]
###
### Controls how the HTTP endpoints are configured. These are the primary
### mechanism for getting data into and out of InfluxDB.
###

[http]
  enabled = true
  bind-address = ":8086"
  auth-enabled = true
  log-enabled = true
  write-tracing = false
  pprof-enabled = false
  https-enabled = false
  https-certificate = "/etc/ssl/influxdb.pem"
  ### Use a separate private key location.
  # https-private-key = ""
  max-row-limit = 10000
  realm = "InfluxDB"

 

Reiniciamos el servicio

Para hacer efectivo el cambio, reiniciamos el servicio:

systemctl restart influxdb

 

Comprobamos que ya no podemos acceder sin indicar usuario y contraseña:

[root@CENTOS03 ~]# influx
Visit https://enterprise.influxdata.com to register for updates, InfluxDB server management, and monitoring.
Connected to http://localhost:8086 version 1.0.2
InfluxDB shell version: 1.0.2
> SHOW DATABASES
ERR: unable to parse authentication credentials
Warning: It is possible this error is due to not setting a database.
Please set a database with the command "use <database>".
>

O desde el Web Admin

influxdb-003

 

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.