Herramientas de usuario

Herramientas del sitio


informatica:bases_de_datos:influxdb

InfluxDB

Base de datos para series temporales.

Instalación

Docker

Imagen Docker oficial.

La configuración se puede hacer mediante variables de entorno o utilizando un fichero de configuración. Para el segundo método, se puede crear un fichero de configuración por defecto mediante:

docker run --rm influxdb:meta influxd-meta config > influxdb-meta.conf

Se creará un fichero llamado influxdb-meta.conf que podremos configurar a nuestro gusto y luego pasárselo al contenedor

Anotar cómo pasarle ese fichero de configuración al contenedor

Ejemplo de docker-compose.yml:

services:
  influxdb:
    image: influxdb:latest
    ports:
      - "8086:8086"
    volumes:
      - ./data:/var/lib/influxdb
    environment:
      - INFLUXDB_DB=telegraf
      - INFLUXDB_USER=telegraf
      - INFLUXDB_USER_PASSWORD=supersecret
 
      - INFLUXDB_ADMIN_ENABLED=true
      - INFLUXDB_ADMIN_USER=admin
      - INFLUXDB_ADMIN_PASSWORD=supersecret 

InfluxQL

InfluxQL es un lenguaje tipo SQL para interactuar con la información contenida en una base de datos InfluxDB.

La interacción con InfluxDB se hace con influx

Si queremos que los valores de tiempo vengan en un formato más amigable, ejecutamos el cliente de esta manera: influx -precision rfc3339. El tiempo vendrá de la forma YYYY-MM-DDTHH:MM:SS UTC. También se le puede indicar la precisión una vez conectados a la base de datos ejecutando precision rfc3339

Crear base de datos:

CREATE DATABASE nombre_base_datos

Eliminar base de datos:

DROP DATABASE nombre_base_datos

Mostrar bases de datos:

SHOW DATABASES

Seleccionar una base de datos:

USE nombre_base_datos

Crear usuario

CREATE USER "usuario" WITH PASSWORD 'contraseña'

Mostrar usuarios:

SHOW USERS

Mostrar las series de datos:

SHOW SERIES

Mediciones

Describe el tipo de dato almacenado.

Para ver las mediciones (measurements) que contiene el sistema:

SHOW MEASUREMENTS

Ejemplo de salida:

name: measurements
name
----
cpu
disk
diskio
kernel
mem
processes
swap
system

Series

Agrupación de datos definida por una medición, conjunto de etiquetas o campo compartidos.

Ejemplo de serie:

# medida, conjunto de etiquetas, clave de campo
h2o_level, location=santa_monica, h2o_feet

Puntos

Un punto representa un registro de información y tiene 4 componentes:

  • Medida
  • Conjunto de etiquetas
  • Conjunto de campos
  • Timestamp
<measurement>[,<tag-key>=<tag-value>...] <field-key>=<field-value>[,<field2-key>=<field2-value>...] [unix-nano-timestamp]

Ejemplo:

name: census
-----------------
time                    butterflies honeybees   location    scientist
2015-08-18T00:00:00Z    1           30          1           perpetua
  • Medida: census
  • Conjunto de etiquetas: location = 1, scientist = perpetua
  • Conjunto de campos: butterflies = 1, honeybees = 30
  • Timestamp: 2015-08-18T00:00:00Z

Recursos

informatica/bases_de_datos/influxdb.txt · Última modificación: por tempwin