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)