Operar InfluxDB 2 desde la consola con Flux

·4 min de lectura·

Esta guía reúne operaciones habituales de InfluxDB 2 desde la línea de comandos: preparar la conexión, ejecutar consultas Flux, escribir puntos, exportar resultados e importar datos. Está dirigida a instalaciones existentes de InfluxDB 2. InfluxDB 2 y Flux están en mantenimiento; InfluxDB 3 es la generación actual y no admite Flux de forma nativa, así que los proyectos nuevos o las migraciones deben evaluar SQL o InfluxQL [1][2].

Preparar la conexión

La CLI puede leer el host, la organización y el token de variables de entorno, o de una configuración creada con influx config. Usa un token con los permisos mínimos necesarios y evita escribirlo literalmente en scripts, historial de shell o repositorios [3].

export INFLUX_HOST="https://influxdb.example.net"
export INFLUX_ORG="<ORG_NAME>"
export INFLUX_TOKEN="<INFLUXDB_TOKEN>"
export INFLUX_BUCKET="<BUCKET_NAME>"

Para instalaciones locales, ajusta INFLUX_HOST a la URL y el puerto del servidor. La CLI también puede guardar configuraciones de conexión con influx config create, útil si trabajas con varios entornos [3].

Consultar datos con Flux

influx query ejecuta una consulta Flux. El ejemplo filtra una medición y un campo dentro de un intervalo temporal; reemplaza los nombres por los de tu esquema [4]:

influx query 'from(bucket: "<BUCKET_NAME>")
  |> range(start: -24h)
  |> filter(fn: (r) => r["_measurement"] == "<MEASUREMENT>")
  |> filter(fn: (r) => r["_field"] == "<FIELD>")'

Para mostrar las consultas como CSV anotado sin las tablas de texto de la terminal, usa --raw. El CSV anotado incluye metadatos de columnas y puede conservar el formato necesario para volver a escribir los resultados [5]:

influx query --raw 'from(bucket: "<BUCKET_NAME>") |> range(start: -1h)' \
  > consulta.csv

Escribir datos

La CLI acepta datos en formato Line Protocol. Cada punto incluye una medición, etiquetas opcionales, campos y una marca temporal opcional [6]. Este ejemplo pasa la hora Unix en segundos, por lo que especifica la precisión con -p s:

influx write \
  --bucket "$INFLUX_BUCKET" \
  --org "$INFLUX_ORG" \
  --precision s \
  'temperatura,ubicacion=sala valor=21.7 1710000000'

Para datos preparados en un archivo, usa --file y declara su formato cuando sea necesario. InfluxDB puede escribir CSV anotado si el archivo incluye las anotaciones y columnas esperadas [5][6].

Exportar e importar resultados

Una consulta Flux de InfluxDB 2 devuelve CSV anotado. Guárdalo en un archivo y vuelve a escribirlo con influx write --format=csv para conservar los metadatos que describen mediciones, campos, etiquetas y marcas temporales [5]:

influx query --raw \
  'from(bucket: "<BUCKET_NAME>") |> range(start: 2024-01-01T00:00:00Z, stop: 2024-01-02T00:00:00Z)' \
  > export.csv

influx write \
  --bucket "$INFLUX_BUCKET" \
  --org "$INFLUX_ORG" \
  --format=csv \
  --file export.csv

Esto sirve para intercambiar resultados de consultas entre buckets o entornos compatibles, pero no sustituye una copia de seguridad completa del servidor. Para proteger una instalación OSS, utiliza las funciones de backup y restore adecuadas a la versión [7].

Borrar datos con un predicado acotado

influx delete elimina puntos dentro del bucket y el intervalo indicado. Si se omite el predicado, se borra todo el contenido comprendido entre las fechas; comprueba por separado el bucket, los límites temporales y el predicado antes de ejecutar la operación [8].

influx delete \
  --bucket "$INFLUX_BUCKET" \
  --start '2024-01-01T00:00:00Z' \
  --stop '2024-01-02T00:00:00Z' \
  --predicate '_measurement="<MEASUREMENT>" AND <TAG>="<TAG_VALUE>"'

Precaución: prueba primero el mismo filtro con una consulta de lectura. Un predicado incorrecto o la ausencia de predicado puede borrar más datos de los previstos.

En resumen

  • Confirma que los comandos se dirigen a una instalación InfluxDB 2 compatible con Flux.
  • Mantén los tokens en variables de entorno o en una configuración protegida de la CLI.
  • Usa CSV anotado para exportar e importar resultados de consultas.
  • Revisa bucket, intervalo y predicado antes de borrar datos.
  • Planifica la migración de consultas Flux si el destino es InfluxDB 3.

📚 Fuentes consultadas

  1. The future of Flux — InfluxData
  2. Which InfluxDB 3 should I use? — InfluxData
  3. Install and use the influx CLI — InfluxDB OSS v2
  4. Query data with Flux — InfluxDB OSS v2
  5. Write CSV data to InfluxDB — InfluxDB OSS v2
  6. Write data with the influx CLI — InfluxDB OSS v2
  7. Back up and restore InfluxDB OSS — InfluxDB OSS v2
  8. Delete data — InfluxDB OSS v2

Imagen

Operaciones de consulta y escritura en InfluxDB 2

¿Te ha resultado útil?

Compártelo con tu red de contactos profesionales.

Comentarios (0)

Sé el primero en comentar.