Using InfluxDB commandline/shell client influx

InfluxDB provides a command line interface (influx) to interact with HTTP api from shell/console. With InfluxDB web UI deprecated in latest versions of InfluxDB , InfluxDB command line will be the best option to interact with InfluxDB.

In this article we will explain how to connect to InfluxDB database using “influx” , query interactively, see output data in different formats…

Connecting to InfluxDB server using influx

If you have installed InfluxDB using RPM or any other package managers , you should be able to find the influx binary at “/usr/bin/influx” or “/usr/local/bin/influx” . If you can find it , please use “find” command

1 2 3   find / name influx  

Once you find the correct binary you can connect to InfluxDB server

1 2 3 4 5 6 7 8 9   [root@test.test.com ~]# which influx /usr/bin/influx [root@test.test.com ~]# /usr/bin/influx Visit https://enterprise.influxdata.com to register for updates, InfluxDB server management, and monitoring. Connected to http://localhost:8086 version 0.13.0 InfluxDB shell version: 0.13.0 >  

Hurray..Connection was successful ???? Now we will see what data it has

1 2 3 4 5 6 7 8 9 10 11 12   > show databases; name: databases name _internal test collectd cyberoam netdata telegraf  


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54   >use collectd Using database collectd >show series; key cpu_value,host=test.test.com,instance=0,type=cpu,type_instance=idle cpu_value,host=test.test.com,instance=0,type=cpu,type_instance=interrupt cpu_value,host=test.test.com,instance=0,type=cpu,type_instance=nice cpu_value,host=test.test.com,instance=0,type=cpu,type_instance=softirq cpu_value,host=test.test.com,instance=0,type=cpu,type_instance=steal cpu_value,host=test.test.com,instance=0,type=cpu,type_instance=system cpu_value,host=test.test.com,instance=0,type=cpu,type_instance=user cpu_value,host=test.test.com,instance=0,type=cpu,type_instance=wait cpu_value,host=test.test.com,instance=1,type=cpu,type_instance=idle cpu_value,host=test.test.com,instance=1,type=cpu,type_instance=interrupt cpu_value,host=test.test.com,instance=1,type=cpu,type_instance=nice cpu_value,host=test.test.com,instance=1,type=cpu,type_instance=softirq cpu_value,host=test.test.com,instance=1,type=cpu,type_instance=steal cpu_value,host=test.test.com,instance=1,type=cpu,type_instance=system cpu_value,host=test.test.com,instance=1,type=cpu,type_instance=user cpu_value,host=test.test.com,instance=1,type=cpu,type_instance=wait cpu_value,host=test.test.com,instance=2,type=cpu,type_instance=idle cpu_value,host=test.test.com,instance=2,type=cpu,type_instance=interrupt cpu_value,host=test.test.com,instance=2,type=cpu,type_instance=nice cpu_value,host=test.test.com,instance=2,type=cpu,type_instance=softirq cpu_value,host=test.test.com,instance=2,type=cpu,type_instance=steal cpu_value,host=test.test.com,instance=2,type=cpu,type_instance=system cpu_value,host=test.test.com,instance=2,type=cpu,type_instance=user cpu_value,host=test.test.com,instance=2,type=cpu,type_instance=wait cpu_value,host=test.test.com,instance=3,type=cpu,type_instance=idle cpu_value,host=test.test.com,instance=3,type=cpu,type_instance=interrupt cpu_value,host=test.test.com,instance=3,type=cpu,type_instance=nice cpu_value,host=test.test.com,instance=3,type=cpu,type_instance=softirq cpu_value,host=test.test.com,instance=3,type=cpu,type_instance=steal cpu_value,host=test.test.com,instance=3,type=cpu,type_instance=system cpu_value,host=test.test.com,instance=3,type=cpu,type_instance=user cpu_value,host=test.test.com,instance=3,type=cpu,type_instance=wait > select * from load_longterm where “host”=‘test.test.com’ limit 10 name: load_longterm time host type value 1482334941000000000 test.test.com load 0.31 1482334950000000000 test.test.com load 0.3 1482334960000000000 test.test.com load 0.31 1482334970000000000 test.test.com load 0.3 1482334980000000000 test.test.com load 0.3 1482334990000000000 test.test.com load 0.3 1482335000000000000 test.test.com load 0.3 1482335010000000000 test.test.com load 0.3 1482335020000000000 test.test.com load 0.29 1482335030000000000 test.test.com load 0.3   >  

You can fire these commands without actually going into the shell, like following

1 2 3 4 5 6 7 8 9 10 11 12   [root@test.test.com ~]# influx -execute ‘SHOW DATABASES’ name: databases name _internal test collectd cyberoam netdata telegraf  

You can specify the output format with “–format” flag

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16   [root@test.test.com ~]# influx -execute ‘SHOW DATABASES’ -format=column name: databases name _internal test collectd cyberoam netdata telegraf   [root@test.test.com ~]# influx -execute ‘SHOW DATABASES’ -format=json {“results”:[{“series”:[{“name”:“databases”,“columns”:[“name”],“values”:[[“_internal”],[“test”],[“collectd”],[“cyberoam”],[“netdata”],[“telegraf”]]}]}]} [root@test.test.com ~]#  

For complete list of commands , use influx –help

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38   [root@test.test.com ~]# influx –help Usage of influx: version Display the version and exit. host ‘host name’ Host to connect to. port ‘port #’ Port to connect to. database ‘database name’ Database to connect to the server. password ‘password’ Password to connect to the server. Leaving blank will prompt for password (password ). username ‘username’ Username to connect to the server. ssl Use https for requests. unsafeSsl Set this when connecting to the cluster using https and not use SSL verification. execute ‘command’ Execute command and quit. format ‘json|csv|column’ Format specifies the format of the server responses: json, csv, or column. precision ‘rfc3339|h|m|s|ms|u|ns’ Precision specifies the format of the timestamp: rfc3339, h, m, s, ms, u or ns. consistency ‘any|one|quorum|all’ Set write consistency level: any, one, quorum, or all pretty Turns on pretty print for the json format. import Import a previous database export from file pps How many points per second the import will allow. By default it is zero and will not throttle importing. path Path to file to import compressed Set to true if the import file is compressed  

SUMMARY

In this article we have explained how to connect to InfluxDB server using shell client and retrieve data interactively. 

 

Author: , 0000-00-00