InfluxDB auf CentOS 8 installieren

InfluxDB ist eine Open-Source- und Zeitreihen-Datenbank, die von InfluxData entwickelt wurde. Sie ist in Go geschrieben und für hohe Schreib- und Abfragelasten ausgelegt. Sie ist bekannt für ihre Einfachheit und ihre Fähigkeit, in großem Maßstab zu arbeiten. Sie kann auf mehreren Betriebssystemen betrieben werden und unterstützt eine Vielzahl von Client-Bibliotheken.

In diesem Lernprogramm wird erklärt, wie du die Zeitreihendatenbank InfluxDB auf CentOS 8 installierst.

Voraussetzungen

  • Ein Server, auf dem CentOS 8 läuft.
  • Ein Root-Passwort ist auf deinem Server eingerichtet.

InfluxDB installieren

Standardmäßig ist InfluxDB nicht im CentOS 8 Standard-Repository verfügbar. Daher musst du ein Repository für InfluxDB erstellen. Du kannst es mit dem folgenden Befehl erstellen:

nano /etc/yum.repos.d/influxdb.repo

Füge die folgenden Zeilen ein:

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

Speichere und schließe die Datei und aktualisiere dann den Repo-Cache mit dem folgenden Befehl:

dnf makecache

Als Nächstes installierst du InfluxDB mit dem folgenden Befehl:

dnf -y install influxdb

Sobald die Installation abgeschlossen ist, überprüfe die installierte Version von InfluxDB mit dem folgenden Befehl:

rpm -qi influxdb

Du solltest die folgende Ausgabe erhalten:

Name        : influxdb
Version     : 1.8.4
Release     : 1
Architecture: x86_64
Install Date: Wednesday 07 April 2021 01:24:54 AM EDT
Group       : default
Size        : 174431824
License     : Proprietary
Signature   : RSA/SHA256, Monday 01 February 2021 08:01:46 PM EST, Key ID 684a14cf2582e0c5
Source RPM  : influxdb-1.8.4-1.src.rpm
Build Date  : Thursday 28 January 2021 05:31:21 AM EST
Build Host  : bf85fc4b5de4
Relocations : / 
Packager    : support@influxdb.com
Vendor      : InfluxData
URL         : https://influxdata.com
Summary     : Distributed time-series database.
Description :
Distributed time-series database.

InfluxDB-Dienst verwalten

Du kannst den InfluxDB-Dienst mit dem folgenden Befehl starten und stoppen:

systemctl start influxdb
systemctl stop influxdb

Um InfluxDB beim Neustart des Systems zu starten, führe den folgenden Befehl aus:

systemctl enable influxdb

Um den Status von InfluxDB zu überprüfen, führe den folgenden Befehl aus:

systemctl status influxdb

Du solltest die folgende Ausgabe erhalten:

? influxdb.service - InfluxDB is an open-source, distributed, time series database
   Loaded: loaded (/usr/lib/systemd/system/influxdb.service; enabled; vendor preset: disabled)
   Active: active (running) since Wed 2021-04-07 01:25:11 EDT; 11s ago
     Docs: https://docs.influxdata.com/influxdb/
 Main PID: 48978 (influxd)
    Tasks: 8 (limit: 12524)
   Memory: 7.9M
   CGroup: /system.slice/influxdb.service
           ??48978 /usr/bin/influxd -config /etc/influxdb/influxdb.conf

Apr 07 01:25:11 centos8 influxd[48978]: ts=2021-04-07T05:25:11.426523Z lvl=info msg="Starting precreation service" log_id=0TMhWB~l000 service=>
Apr 07 01:25:11 centos8 influxd[48978]: ts=2021-04-07T05:25:11.426552Z lvl=info msg="Starting snapshot service" log_id=0TMhWB~l000 service=sna>
Apr 07 01:25:11 centos8 influxd[48978]: ts=2021-04-07T05:25:11.426570Z lvl=info msg="Starting continuous query service" log_id=0TMhWB~l000 ser>
Apr 07 01:25:11 centos8 influxd[48978]: ts=2021-04-07T05:25:11.426616Z lvl=info msg="Starting HTTP service" log_id=0TMhWB~l000 service=httpd a>
Apr 07 01:25:11 centos8 influxd[48978]: ts=2021-04-07T05:25:11.426634Z lvl=info msg="opened HTTP access log" log_id=0TMhWB~l000 service=httpd >
Apr 07 01:25:11 centos8 influxd[48978]: ts=2021-04-07T05:25:11.426802Z lvl=info msg="Listening on HTTP" log_id=0TMhWB~l000 service=httpd addr=>
Apr 07 01:25:11 centos8 influxd[48978]: ts=2021-04-07T05:25:11.426831Z lvl=info msg="Starting retention policy enforcement service" log_id=0TM>
Apr 07 01:25:11 centos8 influxd[48978]: ts=2021-04-07T05:25:11.427033Z lvl=info msg="Listening for signals" log_id=0TMhWB~l000
Apr 07 01:25:11 centos8 influxd[48978]: ts=2021-04-07T05:25:11.427330Z lvl=info msg="Storing statistics" log_id=0TMhWB~l000 service=monitor db>
Apr 07 01:25:11 centos8 influxd[48978]: ts=2021-04-07T05:25:11.427779Z lvl=info msg="Sending usage statistics to usage.influxdata.com" log_id=>

Standardmäßig lauscht InfluxDB auf Port 8086. Du kannst dies mit dem folgenden Befehl überprüfen:

ss -tunelp | grep 8086

Du solltest die folgende Ausgabe sehen:

tcp     LISTEN   0        128                    *:8086                *:*       users:(("influxd",pid=49040,fd=14)) uid:987 ino:824427 sk:c v6only:0 <->       

Aktiviere die Authentifizierung

Standardmäßig ist InfluxDB so konfiguriert, dass es sich ohne Authentifizierung verbindet. Es wird daher empfohlen, InfluxDB mit einem Benutzernamen und einem Passwort zu sichern.

Dazu musst du die Authentifizierung in der Datei influxdb.conf aktivieren.

nano /etc/influxdb/influxdb.conf

Ändere die folgende Zeile im Abschnitt [http]:

auth-enabled = true

Speichere und schließe die Datei und starte die InfluxDB neu, damit die Änderungen übernommen werden:

systemctl restart influxdb

Als Nächstes musst du einen Admin-Benutzer anlegen, um InfluxDB zu authentifizieren. Du kannst ihn mit dem folgenden Befehl erstellen:

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

Zu diesem Zeitpunkt ist InfluxDB mit einem Benutzernamen und einem Passwort gesichert.

Arbeiten mit InfluxDB

Jetzt kannst du dich mit folgendem Befehl mit der InfluxDB-Shell verbinden:

influx -username 'admin' -password 'password'

Sobald du verbunden bist, solltest du die folgende Ausgabe erhalten:

Connected to http://localhost:8086 version 1.8.4
InfluxDB shell version: 1.8.4

Erstelle nun eine neue Datenbank mit dem folgenden Befehl:

> CREATE DATABASE mydb

Um alle Datenbanken anzuzeigen, führe den folgenden Befehl aus:

> SHOW DATABASES

Du solltest die folgende Ausgabe erhalten:

name: databases
name
----
_internal
mydb

Verlasse nun die InfluxDB-Shell mit folgendem Befehl:

> exit

Du kannst auch alle Datenbanken auflisten, ohne dich bei InfluxDB anzumelden, wie unten gezeigt:

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

Du solltest die folgende Ausgabe erhalten:

{"results":[{"statement_id":0,"series":[{"name":"databases","columns":["name"],"values":[["_internal"],["mydb"]]}]}]}

Fazit

Herzlichen Glückwunsch! Du hast InfluxDB erfolgreich auf CentOS 8 installiert. Du kannst InfluxDB jetzt nutzen, um große Datenmengen in der Produktionsumgebung zu verarbeiten.

Das könnte dich auch interessieren …