InfluxDB Installation

From r00tedvw.com wiki
Revision as of 23:59, 30 June 2016 by R00t (Talk | contribs)

Jump to: navigation, search

Contents

Ubuntu 14.04 Installation

Add Repo

~$ curl -sL https://repos.influxdata.com/influxdb.key | sudo apt-key add -
~$ source /etc/lsb-release
~$ echo "deb https://repos.influxdata.com/${DISTRIB_ID,,} ${DISTRIB_CODENAME} stable" | sudo tee /etc/apt/sources.list.d/influxdb.list

Install InfluxDB

~$ sudo apt-get update && sudo apt-get install influxdb -y
~$ sudo service influxdb start

Verify Dev Web Portal

By default, InfluxDB creates a simple web portal that developers can use to verify or generate query strings. You should be able to access it by going to:
http://domain.com:8083/

Database config

Login and create a DB

~$ influx
Connected to http://localhost:8086 version 0.13.0
InfluxDB shell version: 0.13.0
> CREATE DATABASE influxdb
> SHOW DATABASES
name: databases
---------------
name
_internal
influxdb

Testing DB

~$ influx
> USE influxdb
> INSERT cpu,host=serverA value=0.64
> SELECT * from cpu
name: cpu
---------
time			host	value
1467318896821675352	serverA	0.64

Setting up an external write into the database. Open a new shell on the same host.

~$ curl -i -XPOST 'http://localhost:8086/write?db=influxdb' --data-binary 'cpu_load_short,host=server01,region=us-west value=0.60'
HTTP/1.1 204 No Content
Request-Id: d333c2a3-3f03-11e6-800b-000000000000
X-Influxdb-Version: 0.13.0
Date: Thu, 30 Jun 2016 20:47:14 GMT

Write the same string multiple times to the influxdb, but remember to change the value

~$ curl -i -XPOST 'http://localhost:8086/write?db=influxdb' --data-binary 'cpu_load_short,host=server01,region=us-west value=0.30'
~$ curl -i -XPOST 'http://localhost:8086/write?db=influxdb' --data-binary 'cpu_load_short,host=server01,region=us-west value=0.40'


Verify the data is there

~$ influx
> USE influxdb
Using database influxdb
> SELECT * from cpu_load_short
name: cpu_load_short
--------------------
time			host		region	value
1434055562000000000	server01	us-west	0.64

Adding an Administrator Account

~$ influx
> CREATE USER root WITH PASSWORD 'TuTewlyQsjhMregggQbF' WITH ALL PRIVILEGES

Creating User account with access to Database

~$ influx
> CREATE USER influx WITH PASSWORD 'influxdb'
> GRANT ALL ON influxdb TO influx

Verify Users and Rights

~$ influx
> SHOW USERS
user	admin
root	true
influx	false
> SHOW GRANTS FOR influx
database	privilege
influxdb	ALL PRIVILEGES

Add Authentication for HTTP requests

Note: I started out with this enabled, then I had to set it back to false in order for collectd to report metrics. As with anything, lock down traffic to your trusted hosts. Change auth-enabled = false to auth-enabled = true

~$ sudo vi /etc/influxdb/influxdb.conf
[http]
  enabled = true
  bind-address = ":8086"
  auth-enabled = true #
  log-enabled = true
  write-tracing = false
  pprof-enabled = false
  https-enabled = false
  https-certificate = "/etc/ssl/influxdb.pem"
  max-row-limit = 10000

Restart the Service

~$ sudo service influxdb restart

Verify local authentication

Make sure you can still authenticate with your accounts. Non-Admin accounts cannot SHOW DATABASES or SHOW USERS

 ~$ influx
Connected to http://localhost:8086 version 0.9.4.1
InfluxDB shell 0.9.4.1
> auth root TuTewlyQsjhMregggQbF
>

OR

~$ influx -username root -password TuTewlyQsjhMregggQbF

Inserting data with Authentication

This is an example:

~$ curl -i -XPOST 'http://localhost:8086/write?db=influxdb' -u influx:influxdb --data-binary 'cpu_load_short,host=server01,region=us-west value=0.10'

Grafana Test Graph

Verify Data

Before you begin with grafana, you should verify that the data has been inserted into the DB. You can do this quickly by navigating to the Dev Page for InfluxDB: http://domain.com:8083/
Once there, make sure you input the correct

  • hostname
  • user
  • password
  • database
  • database user
  • database user password

Use a simple query that will show your data, like this:

SELECT * FROM cpu_load_short

Grafana Dashboard

Watch this video: https://youtu.be/sKNZMtoSHN4?list=PLDGkOdUX1Ujo3wHw9-z5Vo12YLqXRjzg2
Remember to click the "Eye" icon once you've selected the Measurement. Without this being selected, the query will never be passed to the InfluxDB and you'll get error messages like:

influxdb error: response missing required parameter q
Personal tools
Namespaces

Variants
Actions
Navigation
Mediawiki
Confluence
DevOps Tools
Open Source Products
Ubuntu
Ubuntu 22
Mac OSX
Oracle Linux
AWS
Windows
OpenVPN
Grafana
InfluxDB2
TrueNas
MagicMirror
OwnCloud
Pivotal
osTicket
OTRS
phpBB
WordPress
VmWare ESXI 5.1
Crypto currencies
HTML
CSS
Python
Java Script
PHP
Raspberry Pi
Canvas LMS
Kaltura Media Server
Plex Media Server
MetaSploit
Zoneminder
ShinobiCE
Photoshop CS2
Fortinet
Uploaded
Certifications
General Info
Games
Meal Plans
NC Statutes
Politics
Volkswagen
Covid
NCDMV
Toolbox