InfluxDB 1.x handbook#

Please note

Content on this page may need an update.

Query language#

InfluxDB 1.x supports both the Influx Query Language (InfluxQL) and the Flux data scripting language.

Walkthrough#

Prerequisites#

Define hostname of InfluxDB server:

export INFLUXDB_HOST=daq.example.org

Authentication#

Enable auth-only access by creating admin user:

$ curl --silent --get 'http://$INFLUXDB_HOST:8086/query?pretty=true' --user root:root --data-urlencode 'q=CREATE USER admin WITH PASSWORD 'admin' WITH ALL PRIVILEGES'

Database operations#

Create database:

curl --silent --get 'http://$INFLUXDB_HOST:8086/query?pretty=true' --user admin:admin --data-urlencode 'q=CREATE DATABASE "hiveeyes_100"'

List databases:

curl --silent --get 'http://$INFLUXDB_HOST:8086/query?pretty=true' --user admin:admin --data-urlencode 'q=SHOW DATABASES' | jq '.'

Drop database:

curl --silent --get 'http://$INFLUXDB_HOST:8086/query?pretty=true' --user admin:admin --data-urlencode 'q=DROP DATABASE "hiveeyes_100"'

Writing#

Querying#

Query database using curl:

# pretty-print json using jq
curl --silent --get 'http://$INFLUXDB_HOST:8086/query?pretty=true' --user admin:admin --data-urlencode 'db=hiveeyes_100' --data-urlencode 'q=select * from "1.99";' | jq '.'

Querying with Python#

from influxdb.client import InfluxDBClient
client = InfluxDBClient('$INFLUXDB_HOST', 8086, 'root', 'root', 'kotori')
client.query('select * from telemetry;')

Backup and Restore#

Backup example:

influxd backup -database hiveeyes_25a0e5df_9517_405b_ab14_cb5b514ac9e8 -host swarm.hiveeyes.org:8088 hiveeyes_25a0e5df_9517_405b_ab14_cb5b514ac9e8

Restore example:

influxd restore -datadir /var/lib/influxdb/data -database hiveeyes_25a0e5df_9517_405b_ab14_cb5b514ac9e8 hiveeyes_25a0e5df_9517_405b_ab14_cb5b514ac9e8

Export and Import#

CSV#

Export:

http GET https://swarm.hiveeyes.org/api/hiveeyes/25a0e5df-9517-405b-ab14-cb5b514ac9e8/3756782252718325761/1/data.csv from=2016-01-01 --download

Import:

export GOPATH=`pwd`
go get -v github.com/jpillora/csv-to-influxdb

./bin/csv-to-influxdb --batch-size=1 --timestamp-column=time --timestamp-format="2006-01-02 15:04:05.000000000" --server=http://localhost:8086 --database=hiveeyes_25a0e5df_9517_405b_ab14_cb5b514ac9e8 --measurement=3756782252718325761_1 ../../data/25a0e5df_9517_405b_ab14_cb5b514ac9e8_3756782252718325761_1_20160101T000000_20160705T195237.csv
2016/07/05 21:55:15 Done (wrote 34304 points)