La interfaz de línea de comandos de InfluxDB (influx) es un shell interactivo para la API HTTP. Usar influx para escribir datos (manualmente o desde un archivo), consultar datos de forma interactiva y ver el resultado de la consulta en diferentes formatos.

  • Lanzamiento influx
  • influx Argumentos
  • influx Comandos

Lanzamiento influx

Si tu Instalar en pc InfluxDB a través de un administrador de paquetes, la CLI se instala en /usr/bin/influx (/usr/local/bin/influx en OS X).

Para acceder a la CLI, primero inicie el influxd proceso de base de datos y luego iniciar influx en tu terminal. Una vez que haya ingresado al shell y se haya conectado con éxito a un nodo InfluxDB, verá el siguiente resultado:

$ influx
Connected to http://localhost:8086 version 1.3.x
InfluxDB shell 1.3.x

Nota: Las versiones CLI e InfluxDB deben ser idénticas. De lo contrario, puede provocar problemas de análisis con las consultas.

influx Argumentos

Hay varios argumentos que puede pasar a influx al comenzar. Listarlos con $ influx --help. La siguiente lista ofrece una breve discusión de cada opción. Brindamos información detallada sobre -execute, -format, y -import al final de esta sección.

-compressed Ajustado a true si el archivo de importación está comprimido. Usar con -import.

-consistency 'any|one|quorum|all' Establezca el nivel de coherencia de escritura.

-database 'database name' La base de datos a la que influx conecta.

-execute 'command' Ejecute un comando de InfluxQL y salga. Consulte -execute.

-format 'json|csv|column' Especifica el formato de las respuestas del servidor. Consulte -formato.

-host 'host name' El anfitrión al que influx conecta. De forma predeterminada, InfluxDB se ejecuta en localhost.

-import Importar nuevos datos de un archivo o importar un archivo previamente exportado base de datos de un archivo. Ver -importar.

-password 'password' La contraseña influx utiliza para conectarse al servidor. influx le pedirá una contraseña si la deja en blanco (-password ''). Alternativamente, configure la contraseña para la CLI con el INFLUX_PASSWORD Variable ambiental.

-path La ruta al archivo que se va a importar. Usar con -import.

-port 'port #' El puerto al que influx conecta. De forma predeterminada, InfluxDB se ejecuta en el puerto 8086.

-pps Cuántos puntos por segundo permitirá la importación. De forma predeterminada, los pps son cero y la afluencia no limitará la importación. Usar con -import.

-precision 'rfc3339|h|m|s|ms|u|ns' Especifica el formato / precisión de la marca de tiempo: rfc3339 (YYYY-MM-DDTHH:MM:SS.nnnnnnnnnZ), h (horas), m (minutos), s (segundos), ms (milisegundos), u (microsegundos), ns (nanosegundos). Los valores predeterminados de precisión son nanosegundos.

Nota: Estableciendo la precisión en rfc3339 (-precision rfc3339) trabaja con el -execute opción, pero no funciona con la -import option. Todos los demás formatos de precisión (p. Ej. h,m,s,ms,u, y ns) trabajar con el -execute y -import opciones.

-pretty Activa la impresión bonita para json formato.

-ssl Utilice https para las solicitudes.

-username 'username' El nombre de usuario influx utiliza para conectarse al servidor. Alternativamente, configure el nombre de usuario para la CLI con el INFLUX_USERNAME Variable ambiental.

-version Muestre la versión de InfluxDB y salga.

Ejecute un comando InfluxQL y salga con -execute

Ejecute consultas que no requieran una especificación de base de datos:

$ influx -execute 'SHOW DATABASES'
name: databases
---------------
name
NOAA_water_database
_internal
telegraf
pirates

Ejecute consultas que requieran una especificación de base de datos y cambie la precisión de la marca de tiempo:

$ influx -execute 'SELECT * FROM "h2o_feet" LIMIT 3' -database="NOAA_water_database" -precision=rfc3339
name: h2o_feet
--------------
time			               level description	    location	     water_level
2015-08-18T00:00:00Z	 below 3 feet		        santa_monica	 2.0642015-08-18T00:00:00Z	 between 6 and 9 feet  coyote_creek  8.122015-08-18T00:06:00Z	 between 6 and 9 feet  coyote_creek  8.005

Especifique el formato de las respuestas del servidor con -format

El formato predeterminado es column:

$ influx -format=column
[...]> SHOW DATABASES
name: databases
---------------
name
NOAA_water_database
_internal
telegraf
pirates

Cambiar el formato a csv:

$ influx -format=csv
[...]> SHOW DATABASES
name,name
databases,NOAA_water_database
databases,_internal
databases,telegraf
databases,pirates

Cambiar el formato a json:

$ influx -format=json
[...]> SHOW DATABASES
"results":["series":["name":"databases","columns":["name"],"values":[["NOAA_water_database"],["_internal"],["telegraf"],["pirates"]]]]

Cambiar el formato a json y active la impresión bonita:

$ influx -format=json -pretty
[...]> SHOW DATABASES
"results":["series":["name":"databases",
                    "columns":["name"],
                    "values":[["NOAA_water_database"],
                        ["_internal"],
                        ["telegraf"],
                        ["pirates"]]]]

Importar datos de un archivo con -import

El archivo de importación tiene dos secciones:

  • DDL (lenguaje de definición de datos): Contiene los comandos de InfluxQL para crear la base de datos relevante y administrar la política de retención. Si su base de datos y su política de retención ya existen, su archivo puede omitir esta sección.
  • DML (lenguaje de manipulación de datos): Enumera la base de datos relevante y (si se desea) la política de retención y contiene el protocolo de datos en línea.

Ejemplo:

Expediente (datarrr.txt):

# DDL
CREATE DATABASE pirates
CREATE RETENTION POLICY oneday ON pirates DURATION 1d REPLICATION 1

# DML
# CONTEXT-DATABASE: pirates
# CONTEXT-RETENTION-POLICY: oneday

treasures,captain_id=dread_pirate_roberts value=801 1439856000
treasures,captain_id=flint value=29 1439856000
treasures,captain_id=sparrow value=38 1439856000
treasures,captain_id=tetra value=47 1439856000
treasures,captain_id=crunch value=109 1439858880

Mando:

$influx -import -path=datarrr.txt -precision=s

Resultados:

2015/12/22 12:25:06 Processed 2 commands
2015/12/22 12:25:06 Processed 5 inserts
2015/12/22 12:25:06 Failed 0 inserts

Nota: Para grandes conjuntos de datos, influx escribe un mensaje de estado cada 100.000 puntos. Por ejemplo:

2015/08/21 14:48:01 Processed 3100000 lines.
Time elapsed: 56.740578415s.
Points per second (PPS): 54634

Cosas a tener en cuenta -import:

  • Permita que la base de datos ingiera puntos usando -pps para establecer el número de puntos por segundo permitidos por la importación. Por defecto, pps es cero y influx no acelera la importación.
  • Importaciones trabaja con .gz archivos, solo incluye -compressed en el comando.
  • Incluya marcas de tiempo en el archivo de datos. InfluxDB asignará la misma marca de tiempo a los puntos sin marca de tiempo. Esto puede provocar un comportamiento de sobrescritura no deseado.
  • Si su archivo de datos tiene más de 5,000 puntos, puede ser necesario dividir ese archivo en varios archivos para poder escribir sus datos en lotes en InfluxDB. Recomendamos escribir puntos en lotes de 5,000 a 10,000 puntos. Lotes más pequeños y más solicitudes HTTP darán como resultado un rendimiento subóptimo. De forma predeterminada, la solicitud HTTP agota el tiempo de espera después de cinco segundos. InfluxDB seguirá intentando escribir los puntos después de ese tiempo de espera, pero no habrá confirmación de que se hayan escrito correctamente.

Nota: Para saber cómo exportar datos de InfluxDB versión 0.8.9, consulte Exportando desde 0.8.9.

influx Comandos

Ingresar help en la CLI para obtener una lista parcial de los comandos disponibles.

Comandos

La siguiente lista ofrece una breve descripción de cada comando. Brindamos información detallada sobre insert al final de esta sección.

auth Le solicita su nombre de usuario y contraseña. influx usa esas credenciales cuando consulta una base de datos. Alternativamente, configure el nombre de usuario y la contraseña para la CLI con el INFLUX_USERNAME y INFLUX_PASSWORD Variables de entorno.

chunked Activa respuestas fragmentadas del servidor al realizar consultas. Este ajuste está activado por defecto.

chunk size Establece el tamaño de las respuestas fragmentadas. El tamaño predeterminado es 10,000. Poniéndolo en 0 reinicia chunk size a su valor predeterminado.

clear [ database | db | retention policy | rp ] Borra el contexto actual de la base de datos o la política de retención.

connect Conéctese a un servidor diferente sin salir del shell. Por defecto, influx se conecta a localhost:8086. Si no especifica ni el host ni el puerto, influx asume la configuración predeterminada para el atributo que falta.

consistency Establece el nivel de coherencia de escritura: any, one, quorum, o all.

exit Sale del influx cascarón.

format Especifica el formato de las respuestas del servidor: json, csv, o column. Consulte la descripción de -format para ver ejemplos de cada formato.

history Muestra su historial de comandos. Para usar el historial mientras está en el shell, simplemente use la flecha “hacia arriba”. influx almacena sus últimos 1,000 comandos en su directorio de inicio en .influx_history.

insert Escribe datos usando el protocolo de línea. Ver encarte.

precision Especifica el formato / precisión de la marca de tiempo: rfc3339 (YYYY-MM-DDTHH:MM:SS.nnnnnnnnnZ), h (horas), m (minutos), s (segundos), ms (milisegundos), u (microsegundos), ns (nanosegundos). Los valores predeterminados de precisión son nanosegundos.

pretty Activa la impresión bonita para json formato.

settings Muestra la configuración actual del shell, incluida la Host, Username, Database, Retention Policy, Pretty estado, Chunked estado, Chunk Size, Format, y Write Consistency.

use [ "" | ""."" ] Establece la base de datos actual y / o la política de retención. Una vez influx establece la base de datos actual y / o la política de retención, no es necesario especificar esa base de datos y / o política de retención en las consultas. Si no especifica la política de retención, influx consulta automáticamente el used base de datos DEFAULT Política de retención.

Escriba datos en InfluxDB con insert

Ingresar insert seguido del protocolo de datos en línea para escribir datos en InfluxDB. Usar insert into para escribir datos en una política de retención específica.

Escribe datos en un solo campo en la medición. treasures con la etiqueta captain_id = pirate_king. influx escribe automáticamente el punto en la base de datos DEFAULT Política de retención.

> INSERT treasures,captain_id=pirate_king value=2
>

Escriba el mismo punto a la política de retención ya existente oneday:

> INSERT INTO oneday treasures,captain_id=pirate_king value=2
Using retention policy oneday
>

Consultas

Ejecute todas las consultas de InfluxQL en influx. Consulte Exploración de datos, Exploración de esquemas, Gestión de bases de datos, Autenticación y autorización para la documentación de InfluxQL.