(Last Updated On: January 7, 2019)

How can i install InfluxDB on RHEL 8 / CentOS 8?. InfluxDB is an open-source time series database written in Go and optimized for fast, high-availability storage and retrieval of time series data for metrics analysis.

For CentOS 7, Ubuntu and Debian distributions, refer:

Install InfluxDB on Ubuntu 18.04 and Debian 9

Install Grafana and InfluxDB on CentOS 7

Install InfluxDB on RHEL 8

Influxdata provides the repository for installing InfluxDB on RHEL 8. Since the repository for RHEL 8 is still not available, we will use one for RHEL 7.

Add InfluxDB repository to your system using the commands below:

sudo vi  /etc/yum.repos.d/influxdb.repo

Add the following content:

[influxdb]
name = InfluxDB Repository
baseurl = https://repos.influxdata.com/rhel/7/x86_64/stable/
enabled = 1
gpgcheck = 1
gpgkey = https://repos.influxdata.com/influxdb.key

Update cache to confirm that the repository is working fine:

sudo yum makecache

Then install influxDB:

sudo yum -y install influxdb

Check installed package details.

$ rpm -qi influxdb 
Name : influxdb
Version : 1.7.2
Release : 1
Architecture: x86_64
Install Date: Mon 07 Jan 2019 01:37:16 PM EAT
Group : default
Size : 105943586
License : Proprietary
Signature : RSA/SHA256, Thu 13 Dec 2018 01:51:54 AM EAT, Key ID 684a14cf2582e0c5
Source RPM : influxdb-1.7.2-1.src.rpm
Build Date : Wed 12 Dec 2018 10:05:15 PM EAT
Build Host : 8d1b307babf6
Relocations : /
Packager : [email protected]
Vendor : InfluxData
URL : https://influxdata.com
Summary : Distributed time-series database.
Description :
Distributed time-series database.

Start InfluxDB Service on RHEL 8

Start and enable InfluxDB service on RHEL 8:

sudo systemctl enable --now influxdb

Check status to confirm it is running

Configure InfluxDB firewall on RHEL 8

By default, InfluxDB uses the following network ports:

  • TCP port 8086 is used for client-server communication over InfluxDB’s HTTP API
  • TCP port 8088 is used for the RPC service for backup and restore.

To open it on the firewall, use the command:

sudo firewall-cmd --add-port=8086/tcp --permanent
sudo firewall-cmd --reload

Port mappings can be modified by changing the file /etc/influxdb/influxdb.conf. 

If you make any change in the configuration file, restart influxdb service.

sudo systemctl restart influxdb

Configure InfluxDB http Authentication on RHEL 8

If you need http authentication, modify influxdb http section to contain the following.

$ sudo vi /etc/influxdb/influxdb.conf

[http]
auth-enabled = true

Restart InfluxDB service.

sudo systemctl restart influxdb

Then create a user with an authentication password:

curl -XPOST "http://localhost:8086/query" --data-urlencode "q=CREATE USER \
username WITH PASSWORD 'strongpassword' WITH ALL PRIVILEGES"

Replace:

– username with your own username
– strongpassword with your own password (note that the password requires single quotes)

Now whenever you need to run any influxdb commands on the terminal, you need to specify username using -username and password using -password options.

influx -username 'username' -password 'password'

For curl, use -u to specify username and password separated by a colon.

curl -G http://localhost:8086/query -u username:password --data-urlencode "q=SHOW DATABASES"

By default, influxdb service is listening on all interfaces on port 8086.

$ ss -tunelp | grep 8086
tcp LISTEN 0 128 *:8086 *:* users:(("influxd",pid=2072,fd=5)) uid:985 ino:37787 sk:6 v6only:0 <->

You now have InfluxDB installed on RHEL 8. For usage of InfluxDB, check our guide on:

Monitor Linux System with Grafana and Telegraf