So installierst du InfluxDB und Telegraf auf Rocky Linux 9

InfluxDB ist eine in Go geschriebene Open-Source-Zeitreihendatenbank. Sie ist eine leistungsstarke Zeitreihenplattform, die speziell für die Erfassung, Speicherung, Verarbeitung und Visualisierung von Zeitreihendaten entwickelt wurde. InfluxDB ist die führende Lösung für Zeitreihendatenbanken und bietet eine leistungsstarke Zeitreihendaten-Engine mit einer integrierten, leistungsstarken API für die Entwicklung von Echtzeitanwendungen. InfluxDB ist eine Plattform, die u.a. für Betriebsüberwachung, Anwendungs- und Server-Performance-Metriken, IoT-Sensordaten und Echtzeit-Analysen genutzt wird.

In diesem Lernprogramm installierst du die Open-Source-Zeitreihendatenbank influxdb und Telegraf auf einem Rocky Linux 9 Server. Außerdem sicherst du die influxdb-Deponie mit Authentifizierung und TLS-Zertifikaten, richtest die influxdb CLI ein und sammelst Metriken über den Telegraf-Agenten. Am Ende dieser Anleitung erstellst du die influxdb-Zeitreihendatenbank und visualisierst sie über das influxdb-Dashboard.

Voraussetzungen

Zu Beginn musst du die folgenden Voraussetzungen erfüllen, um diesen Lehrgang zu absolvieren:

  • Einen Rocky Linux 9 Server.
  • Einen Nicht-root-Benutzer mit sudo/root-Administrator-Rechten.
  • Ein SELinux mit „permissivem“ Modus.

Repository einrichten

InfluxDB ist eine Open-Source-Zeitreihendatenbank, die in verschiedenen Umgebungen eingesetzt werden kann. Dazu gehören virtuelle Maschinen mit Linux, Windows und macOS. Aber auch in Container-Umgebungen wie Docker und Kubernetes.

Um influxdb unter Linux zu installieren, kannst du es manuell per Binärpaket oder über das influxdb-Repository installieren. In diesem Schritt wirst du influxdb über das offizielle influxdb-Repository installieren.

Führe den folgenden Befehl aus, um das influxdb-Repository zu deinem Rocky-Linux-System hinzuzufügen.

cat <<EOF | sudo tee /etc/yum.repos.d/influxdb.repo
[influxdb]
name = influxdb Repository - RHEL \$releasever
baseurl = https://repos.influxdata.com/rhel/\$releasever/\$basearch/stable
enabled = 1
gpgcheck = 1
gpgkey = https://repos.influxdata.com/influxdb.key
EOF

Überprüfe danach die Liste der verfügbaren Repositories auf deinem System.

sudo dnf repolist

Du erhältst eine Ausgabe wie im folgenden Screenshot – Das influxdb-Repository wurde hinzugefügt.

Setup-Repository

Installieren von InfluxDB

Nachdem du das influxdb-Repository hinzugefügt hast, installierst du das influxdb-Paket auf deinem Rocky Linux-System und aktivierst den influxdb-Dienst.

Führe den folgenden dnf-Befehl aus, um das influxdb v2-Paket zu installieren. Zum Zeitpunkt der Erstellung dieses Artikels installierst du die neueste Version von influxdb v2.5.1.

sudo dnf install influxdb2

Wenn du dazu aufgefordert wirst, gib y zur Bestätigung ein und drücke ENTER, um fortzufahren.

influxdb installieren

Wenn du zur Eingabe des influxdb-GPG-Schlüssels aufgefordert wirst, gibst du zur Bestätigung y ein und drückst ENTER.

gpg-Schlüssel akzeptieren

Nachdem influxdb installiert ist, führe den folgenden systemctl-Befehl aus, um den influxdb-Dienst zu starten und zu aktivieren.

sudo systemctl start influxdb
sudo systemctl enable influxdb

Der influxdb-Dienst sollte jetzt laufen und aktiviert sein. Er wird beim Hochfahren automatisch gestartet.

Überprüfe den influxdb-Dienst mit dem unten stehenden Befehl. Du siehst dann, dass der influxdb-Dienst läuft und aktiviert ist.

sudo systemctl status influxdb

influxdb prüfen

Standardmäßig läuft der influxdb-Dienst auf dem TCP-Port „8085“. Jetzt, wo influxdb läuft, musst du den influxdb-Port zur Firewalld hinzufügen.

Führe den folgenden Firewall-Befehl aus, um den Port„8086“ zur Firewalld hinzuzufügen.

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

Lade nun die Firewalld neu, um die Änderungen zu übernehmen. Überprüfe dann den Status der Firewall, um sicherzustellen, dass der Port influxdb der Firewall hinzugefügt wurde.

sudo firewall-cmd --reload
sudo firewall-cmd --list-ports

Du erhältst eine Ausgabe wie die folgende – Der influxdb-Port 8089 wurde der Firewalld hinzugefügt.

firewalld einrichten

Nachdem du die influxdb installiert und die Firewalld konfiguriert hast, installierst du als Nächstes die influxdb CLI, die du für die Verwaltung der influxdb über die Kommandozeile verwenden wirst.

Installation von influxdb CLI

Nachdem du die Zeitreihendatenbank influxdb installiert hast, installierst du die influxdb2-cli oder die influxdb-Kommandozeile. Mit influxdb2-cli kannst du influxdb über die Kommandozeile verwalten, z. B. Buckets, Organisationen, Benutzer, Aufgaben usw.

Führe den folgenden dnf-Befehl aus, um das Paket influxdb2-cli zu installieren.

sudo dnf install influxdb2-cli

Gib y ein, wenn du zur Bestätigung aufgefordert wirst, und drücke ENTER, um fortzufahren.

influxdb cli installieren

Nachdem influxdb2-cli installiert ist, führe den folgenden Befehl aus, um die inlfuxdb2-cli-Binärdatei zu prüfen und die influxdb-cli-Version zu verifizieren.

which influx
influx version

Du erhältst folgende Ausgabe auf deinem Bildschirm: Die influxdb2-cli-Binärdatei ist unter „/bin/influx“ verfügbar und die aktuelle Version von influxdb2-cli auf deinem System ist v2.5.0.

influx cli prüfen

Die influxdb2-cli stellt die Befehlsvervollständigungen für mehrere Shells wie bash und zsh bereit. Die meisten Linux-Rechner verwenden die Standard-Shell bash. Daher musst du die Befehlsvervollständigung von influxdb2-cli für die Bash-Shell einrichten.

Führe den folgenden Befehl aus, um die influxdb2-cli-Befehlsvervollständigung in„/etc/bash_completion.d/influx.sh“ zu erzeugen. Anschließend machst du die Datei„/etc/bash_completion.d/influx.sh“ mit dem Befehl chmod ausführbar.

sudo influx completion bash > /etc/bash_completion.d/influx.sh
sudo chmod +x /etc/bash_completion.d/influx.sh

Wenn du jetzt den Befehl„influx“ in dein System eingibst und die Tabulatortaste drückst, siehst du die verfügbaren Optionen für den Befehl„influx„.

sudo influx TAB

Auto-Vervollständigung einrichten

Jetzt hast du die Zeitreihendatenbank influxdb und den influxdb2-cli auf deinem Rocky Linux System installiert. Anschließend richtest du die influxdb-Installation über die influxdb2-cli ein.

InfluxDB über die InfluxDB CLI konfigurieren

In diesem Schritt konfigurierst du die influxdb-Installation über die influxdb2-cli. Du richtest den influxdb-Administrator-Benutzer und das Passwort ein, richtest den Standard-Bucket oder die Standard-Datenbank ein und überprüfst den Listenbenutzer und die Autorisierung auf influxdb. Außerdem lernst du, wie du dich mit dem influx-Befehl und dem Benutzer-Token mit der influxdb-Shell verbinden kannst und wie du über den Webbrowser auf das Dashboard der influxdb-Webadministration zugreifen kannst.

Führe zunächst den folgenden influx-Befehl aus, um die Konfiguration der influxdb-Installation zu starten.

sudo influx setup

Nun wirst du nach der folgenden influxdb-Konfiguration gefragt:

  • Setup admin user – gib den neuen Benutzernamen für deinen influxdb-Server ein. In diesem Beispiel wird„alice“ als Admin-Benutzer für influxdb verwendet.
  • Admin-Passwort einrichten – gib das neue Admin-Passwort für deinen influxdb-Einsatz ein und wiederhole das Passwort.
  • Lege den Organisationsnamen fest – gib den Namen deiner Organisation ein. In diesem Beispiel ist die Organisation„HW.IO„.
  • Lege den Namen des primären Buckets fest, den du erstellen wirst – gib den Bucket-Namen für die Standardinstallation ein. In diesem Beispiel lautet der Bucket-Name „test-bucket„.
  • Lege den Aufbewahrungszeitraum für influxdb fest – gib 0 für unendlich ein.
  • Bestätige die Grundkonfiguration von influxdb mit„Ja„.

Nachfolgend siehst du die vollständige Ausgabe der influxdb-Konfiguration über den Befehl „influx“.

influxdb einrichten

Nachdem der influxdb-Admin-Benutzer erstellt wurde, überprüfst du die Liste der Benutzer und Authentifizierungen auf der influxdb mit dem folgenden influx-Befehl.

sudo influx user list
sudo influx auth list

Die Ausgabe unten bestätigt, dass der influxdb-Admin-Benutzer „alice“ erstellt wurde. Außerdem solltest du die Authentifizierungsdetails für den Benutzer„alice“ sehen, darunter die Authentifizierungs-ID, das Token und die Berechtigungen.

influxdb list user auth

Wie du siehst, wird das Benutzer-Token während des Einrichtungsprozesses automatisch generiert. Mit dem Token meldest du dich bei der influxdb-Shell an und überprüfst, ob du die influxdb-Konfiguration richtig eingestellt hast.

Bevor du dich an der influxdb-Shell anmeldest, führe den folgenden Befehl aus, um die Umgebungsvariable„INFLUX_TOKEN“ zu erstellen. Achte darauf, dass du das Token im unten stehenden Befehl mit deinem Token änderst.

export INFLUX_TOKEN=FlIq521ZVxEA40Iz7rVVKK25sDmuEWUHm_Mbly-4mYxt-rWrYOOytVnmE5yL5bpNB_gNHBWlYXKDED9PEbk-0g==

Melde dich nun mit dem Befehl „influx“ in der influxdb-Shell an. Nachdem du dich eingeloggt hast, solltest du eine Meldung wie „Connected to InfluxDB OSS v2.5.1“ sehen.

sudo influx v1 shell $INFLUX_TOKEN

mit influxdb verbinden

Als Nächstes führst du die folgende influx-Abfrage aus, um Details zu den Datenbanken oder Buckets auf dem influxdb-Server zu erhalten.

show DATABASES

Du solltest die Datenbank„test-bucket“ erhalten, die auf dem influxdb-Server verfügbar ist.

Eimer anzeigen

Du kannst jetzt„q“ drücken, um den interaktiven Modus zu verlassen, und„exit“ eingeben, um dich von der influxdb-Shell abzumelden.

Als Nächstes kannst du auch über den Webbrowser auf deine influxdb-Administration zugreifen.

Öffne deinen Webbrowser und rufe die IP-Adresse des influxdb-Servers auf, gefolgt von Port „8086“ (d.h. : http://192.168.5.100:8086). Du solltest nun die Anmeldeseite von influxdb erhalten.

Gib den influxdb-Benutzer und das Passwort ein, die du bei der Einrichtung von influxdb erstellt hast, und klicke auf„ANMELDEN„. In diesem Beispiel ist der Admin-Benutzer„alice„.

influxdb-Anmeldung

Nachdem du dich angemeldet hast, solltest du das webbasierte Administrations-Dashboard von influxdb sehen.

influxdb Dashboard

Klicke im linken Menü auf„Daten laden“ und wähle den Reiter„Buckets„. Du solltest sehen, dass der „test-bacuket“ auf dem influxdb-Server verfügbar ist.

Check-Eimer

Nachdem du die Grundkonfiguration von influxdb abgeschlossen hast, fügst du als Nächstes die Sicherheitsebene von influxdb hinzu, indem du die sichere Verbindung über TLS-Zertifikate aktivierst.

Sichern von InfluxDB mit TLS

Nachdem du die Grundkonfiguration des influxdb-Servers abgeschlossen hast, sicherst du als Nächstes den Einsatz von influxdb mit SSL/TLS-Zertifikaten. Dann aktualisierst du die Standardkonfiguration/ das Standardprofil von influx mit dem neuen gesicherten influxdb-Server.

Bevor du beginnst, musst du sicherstellen, dass du SSL/TLS-Zertifikate erstellt hast. Du kannst selbstsignierte SSL/TLS-Zertifikate verwenden oder die generierten SSL-Zertifikate von Drittanbietern wie Letsencrypt nutzen.

Erstelle zunächst ein neues Verzeichnis zum Speichern von SSL/TLS-Zertifikaten „/etc/influxdb/ssl“.

mkdir -p /etc/influxdb/ssl

Kopiere nun die SSL/TLS-Zertifikate in das Verzeichnis „/etc/influxdb/ssl“ und ändere den Eigentümer des Verzeichnisses „/etc/influxdb/ssl“ auf den Benutzer „influx“.

cp /etc/letsencrypt/live/influxdb.hwdomain.io/{fullchain.pem,privkey.pem} /etc/influxdb/ssl/
sudo chown -R influx: /etc/influxdb/ssl

Nachdem die SSL/TLS-Zertifikate kopiert wurden, öffne die influxdb-Konfigurationsdatei„/etc/influxdb/config.toml“ mit dem folgenden nano-Editor-Befehl.

sudo nano /etc/influxdb/config.toml

Füge die folgenden Zeilen in die Datei ein.

tls-cert = "/etc/influxdb/ssl/fullchain.pem"
tls-key = "/etc/influxdb/ssl/privkey.pem"

Speichere die Datei und beende den Editor, wenn du fertig bist.

Als Nächstes führst du den folgenden systemctl-Befehl aus, um den influxdb-Dienst neu zu starten und die neuen Änderungen zu übernehmen.

sudo systemctl restart influxdb

Jetzt, wo influxdb mit aktiviertem TLS läuft, kannst du den influxdb-Server nicht mehr über die Befehlszeile „influx“ abfragen und verwalten. Um dieses Problem zu lösen, musst du das Standard-Influxprofil auf deinem System aktualisieren.

Führe den folgenden Befehl aus, um die „Standard“-Konfiguration/das Standard-Profil der influx-Umgebung zu aktualisieren. In diesem Beispiel aktualisierst du die URL auf„https://influxdb.hwdomain.io:8086“ mit aktiviertem SSL/TLS und aktualisierst das Token mit der Umgebungsvariablen„INFLUX_TOKEN“ und die Organisation auf„HW.IO„.

sudo influx config set -a -n default -u https://influxdb.hwdomain.io:8086 -t $INFLUX_TOKEN -o HW.IO

Überprüfe die Liste der Influx-Konfigurationen/Profile mit dem unten stehenden Befehl. Du solltest nun sehen, dass die URL in „https://influxdb.hwdomain.io:8086“ geändert wurde, was bedeutet, dass SSL/TLS auf dem influxdb-Server aktiviert ist.

sudo influx config ls

ssl influxdb aktivieren

Führe abschließend den folgenden Befehl aus, um zu überprüfen, ob die neue Update-Influx-Konfiguration/-Profil funktioniert.

sudo influx user list
sudo influx auth list

Angenommen, die influx-Konfiguration/das influx-Profil wurde korrekt aktualisiert. In diesem Fall solltest du die Liste der Benutzer und die Autorisierung auf dem influxdb-Server erhalten und dich über die sichere SSL/TLS-Verbindung mit dem influxdb-Server verbunden haben.

telegraph

An diesem Punkt hast du die Installation und Konfiguration des influxdb-Servers auf Rocky Linux abgeschlossen und den influxdb-Einsatz über SSL/TLS-Zertifikate gesichert. Als Nächstes sammelst du Daten und Metriken mit Telegraf und erstellst ein Dashboard zur Visualisierung der influxdb-Zeitreihen.

Datenerfassung mit Telegraf

Telegraf ist Teil der von influxdata entwickelten Zeitreihenplattform. Es ist ein Open-Source-Server-basierter Agent zum Sammeln und Senden von Metriken und Ereignissen aus verschiedenen Umgebungen wie IoT-Sensoren, Datenbanksystemen, Systemtelemetrie und DevOps-Tools und -Frameworks. Telegraf ist als einzelne Binärdatei kompiliert und in Go geschrieben, sodass für die Installation keine externen Abhängigkeiten erforderlich sind.

In diesem Schritt installierst du telegaf auf einem Rocky-Linux-Server und konfigurierst es so, dass es Metriken an den influxdb-Server sendet.

Telegraf ist im influxdb-Repository verfügbar. Bevor du telegaf installierst, musst du sicherstellen, dass das influxdb-Repository zu deinem System hinzugefügt wurde.

Führe nun den folgenden dnf-Befehl aus, um telegraf auf deinem System zu installieren. Wenn du zur Bestätigung aufgefordert wirst, gib y ein und drücke ENTER, um fortzufahren.

sudo dnf install telegraf

telegraphieren

Nachdem telegraf installiert ist, starte und aktiviere den telegraf-Dienst mit dem unten stehenden systemctl-Befehl.

sudo systemctl start telegraf
sudo systemctl enable telegraf

Als Nächstes führst du den folgenden Befehl aus, um den telegraf-Dienst zu überprüfen und sicherzustellen, dass der Dienst läuft und aktiviert ist.

sudo systemctl is-enabled telegraf
sudo systemctl status telegraf

Die folgende Ausgabe bestätigt, dass der telegraf-Dienst aktiviert ist und beim Booten automatisch ausgeführt wird. Und der aktuelle Status des telegraf-Dienstes ist „running“.

telegraphieren

Jetzt, wo telegraf läuft, fügst du als Nächstes den influxdb-Server zur telegraf-Konfiguration hinzu.

Öffne die Telegraf-Konfiguration„/etc/telegraf/telegraf.conf“ mit dem unten stehenden nano-Editor-Befehl.

sudo nano /etc/telegraf/telegraf.conf

Füge im Abschnitt ‚[[outputs.influxdb_v2]]‚ die URL, das Token, die Organisation und den Bucket-Namen mit den Details des influxdb-Servers hinzu.

 [[outputs.influxdb_v2]]
#   ## The URLs of the influxdb cluster nodes.
.........
#   ###   ##   ex: urls = ["https://us-west-2-1.aws.cloud2.influxdata.com"]
   urls = ["https://influxdb.hwdomain.io:8086"]
#
#   ## Token for authentication.
   token = "FlIq521ZVxEA40Iz7rVVKK25sDmuEWUHm_Mbly-4mYxt-rWrYOOytVnmE5yL5bpNB_gNHBWlYXKDED9PEbk-0g=="
#
#   ## Organization is the name of the organization you wish to write to.
   organization = "HW.IO"
#
#   ## Destination bucket to write into.
   bucket = "test-bucket"

Speichere die Datei und beende den Editor, wenn du fertig bist.

Als Nächstes führst du den folgenden systemctl-Befehl aus, um den telegraf-Dienst neu zu starten und die neuen Änderungen anzuwenden. Jetzt sammelt der telegraf-Dienst Metriken deines Systems und sendet sie an den influxdb-Server.

sudo systemcl restart telegraf

Du kannst nun die Installation von telegraf und influxdb über das influxdb Webadministrations-Dashboard und die influxdb Shell überprüfen.

Überprüfen der Telegraf-Metriken über das Dashboard der influxdb-Webadministration – klicke auf das Menü„Data Explorer“ und wähle den„Test-Bucket„. Du solltest nun die von telegraf gesammelten Systemdaten erhalten, darunter cpu, disk, diskio, kernel, memory, swap und system.

telegraf influxdb Dashboard verifizieren

Überprüfe die Telegraf-Metriken über die influxdb-Shell – verbinde dich mit der influxdb-Shell über den unten stehenden Befehl „influx“.

sudo influx v1 shell

Als Nächstes führst du die folgende Abfrage aus, um zum „test-bucket“ zu wechseln und die verfügbaren Messungen aus diesem anzuzeigen.

use test-bucket
SHOW MEASUREMENTS

Die folgende Ausgabe bestätigt, dass die vom telegraf-Dienst gesammelten Messdaten auf dem influxdb-Server verfügbar sind.

telegrafisches Terminal verifizieren

Nachdem die Installation und Konfiguration von telegraf abgeschlossen ist, sind die Metriken auf dem influxdb-Server verfügbar. Du kannst nun ein neues Dashboard einrichten und mit der Überwachung deines Servers über telegraf und influxdb beginnen.

Daten visualisieren und Dashboard erstellen

In diesem Schritt erstellst du ein neues Dashboard zur Überwachung der Systemtelemetrie über den influxdb-Server und telegraf. Du wirst influxdb-Dashboards erstellen, Zellen für die Systemüberwachung anlegen und die vom telegraf-Dienst gesammelten Metriken visualisieren.

Um zu beginnen, wähle das Menü„Dashboard“ und klicke auf„DASHBOARD ERSTELLEN„.

Daashboard erstellen

Gib den Namen deines Dashboards ein und klicke auf„ZELLE HINZUFÜGEN„. In diesem Beispiel erstellst du das Dashboard„Test Dashboard„.

Dashboard Zelle hinzufügen

Jetzt kannst du damit beginnen, neue Zellen für deine Systemüberwachung hinzuzufügen. Nachfolgend findest du einige Beispiele für Diagramme zur Systemüberwachung mit telegraf.

Unten siehst du die Grafikeinstellungen für den verfügbaren Speicher und die Speichernutzung.

Speicher

Unten siehst du die Grafikeinstellungen für die Prozessüberwachung.

Prozesse

Unten ist das Diagramm für die Systemauslastung.

Systembelastung

Unten einfaches Uptime-Diagramm.

Betriebszeit

Unten ist das Diagramm für den aktiven Benutzer.

Benutzer aktiv

Unten schließlich das Diagramm für die verfügbaren CPUs im System.

cpus

Mit diesen Zellen für die Systemüberwachung solltest du das„Test-Dashboard“ erhalten, das wie der folgende Screenshot aussieht.

Dashboard-Überwachung

Du hast die Systemüberwachung über den influxdb Server und Telegraf erfolgreich eingerichtet. Du hast gelernt, wie du das influxdb Dashboard einrichtest und eine Zelle für die Visualisierung von Metriken aus telegraf einrichtest.

Fazit

In dieser Anleitung hast du die Zeitreihendatenbank influxdb und den influxdb2-cli auf einem Rocky Linux 9-Server installiert. Außerdem hast du den influxdb-Einsatz über SSL/TLS-Zertifikate gesichert und den influxdb-Server über die influx-Befehlszeile konfiguriert.

Außerdem hast du telegraf installiert und konfiguriert, um Metriken zu sammeln und über eine sichere SSL/TLS-Verbindung an den influxdb-Server zu senden. Und schließlich hast du ein Dashboard für die Systemüberwachung über den influxdb-Server und telegraf erstellt.

Von hier aus kannst du nun deine Systeme und Anwendungen visualisieren und das Dashboard für die Überwachung einrichten. Du kannst auch influxdb-Aufgaben einrichten, ein Warnsystem einrichten und vieles mehr.

Das könnte dich auch interessieren …