InfluxDB: Erste Schritte
Wie man mit InfluxDB beginnt
👋 Willkommen in der Stackhero-Dokumentation!
Stackhero bietet eine einsatzbereite InfluxDB Cloud Lösung, die zahlreiche Vorteile bietet, darunter:
- Unbegrenzte Schreibvorgänge, Abfragen, Dashboards, Aufgaben und Buckets.
- Unbegrenzte Datenaufbewahrungszeit.
- Unbegrenzte Netzwerk- und Datentransfers.
- Mühelose Updates mit nur einem Klick.
- Optimale Performance und robuste Sicherheit durch eine private und dedizierte VM.
Sparen Sie Zeit und vereinfachen Sie Ihr Leben: Es dauert nur 5 Minuten, um die InfluxDB Cloud Hosting Lösung von Stackhero auszuprobieren!
Verwaltung von InfluxDB-Benutzern
InfluxDB bietet keine Möglichkeit, Benutzer direkt über die Web-Oberfläche zu erstellen und zu verwalten. Glücklicherweise können Sie für diese Aufgaben die InfluxDB CLI verwenden.
Verwendung der InfluxDB CLI
Sie können auf die InfluxDB CLI über Docker zugreifen. Führen Sie zum Beispiel den folgenden Befehl aus:
docker run -it -u 0 bitnami/influxdb:2.7.11 /bin/bash
Vergessen Sie nicht,
2.7.11durch Ihre InfluxDB-Version zu ersetzen.
Sobald der Container gestartet ist, erstellen Sie eine Konfiguration. Denken Sie daran, <XXXXXX>.stackhero-network.com durch Ihre tatsächliche InfluxDB-Domain zu ersetzen:
influx config create \
--config-name adminConfig \
--active \
--username-password admin \
--org admin \
--host-url https://<XXXXXX>.stackhero-network.com
Nach diesem Schritt können Sie die InfluxDB CLI verwenden. Um beispielsweise einen neuen Benutzer zu erstellen, führen Sie aus:
influx user create --name <user> --password <password>
Vermeidung der Sättigung des Speicherplatzes
InfluxDB ist als Zeitreihendatenbank konzipiert und verarbeitet häufig eine große Anzahl von Metriken. Da diese Datenbanken normalerweise keine Daten automatisch löschen, kann Ihre Datenbank unbegrenzt wachsen und den gesamten verfügbaren Speicherplatz nutzen.
Um die Sättigung des Speicherplatzes zu vermeiden, bietet InfluxDB zwei Lösungen:
- Aufbewahrungsrichtlinien: Löschen von Daten, die älter als ein definiertes Datum sind. Beispielsweise könnten Sie entscheiden, Daten zu löschen, die älter als 365 Tage sind.
- Datenreduktion: Reduzierung der Datenauflösung im Laufe der Zeit. Wenn Sie beispielsweise jede Sekunde eine Temperatur aufzeichnen, könnten Sie Folgendes tun:
- Behalten Sie Temperaturdaten mit einer Auflösung von 1 Sekunde für die letzten 5 Minuten.
- Halten Sie maximale, minimale und durchschnittliche Temperaturen mit einer Auflösung von 1 Minute für die letzten 24 Stunden.
- Speichern Sie maximale, minimale und durchschnittliche Temperaturen mit einer Auflösung von 1 Stunde für ältere Daten.
Die Verwendung von Aufbewahrungsrichtlinien ermöglicht es Ihnen, historische Daten über längere Zeiträume zu speichern, ohne Terabytes an Speicherplatz zu benötigen. Weitere Informationen zur Datenreduktion finden Sie in der offiziellen Dokumentation.
Verwaltung der Datenaufbewahrung in InfluxDB
Standardmäßig speichert InfluxDB Daten unbegrenzt. Obwohl dieses Verhalten für traditionelle Datenbanken typisch ist, ist es für Zeitreihendatenbanken nicht ideal, da veraltete Daten entfernt werden sollten, um unkontrolliertes Wachstum zu verhindern.
Wenn Sie beispielsweise Batteriespannungsdaten speichern, könnten diese nur für einige Tage relevant sein und nicht für Jahre. Um zu vermeiden, dass Ihr Speicherplatz voll wird, ist es entscheidend, eine Aufbewahrungsfrist für jeden Ihrer Buckets festzulegen.
Um die Datenaufbewahrung zu konfigurieren:
- Öffnen Sie Ihre InfluxDB-Web-Oberfläche.
- Klicken Sie auf "Data" und dann auf "Buckets".
- Klicken Sie auf "Settings" neben dem Bucket, den Sie konfigurieren möchten.
- Wählen Sie "Delete data older than" und wählen Sie Ihre gewünschte Aufbewahrungsfrist.
Vergessen Sie nicht, dass Daten, die älter als die ausgewählte Aufbewahrungsfrist sind, dauerhaft gelöscht werden!
Beachten Sie, dass Daten in InfluxDB in Shards organisiert sind. Shards, die nur veraltete Daten enthalten, werden automatisch gelöscht, aber wenn ein Shard eine Mischung aus veralteten und aktuellen Daten enthält, wird er nicht entfernt. Standardmäßig, ohne definierte Aufbewahrungsrichtlinie, enthalten Shards 7 Tage Daten. Das bedeutet, dass, wenn Sie eine Aufbewahrungsrichtlinie festlegen, fast 7 Tage veraltete Daten möglicherweise noch zusammen mit Ihren aktuellen Daten erhalten bleiben. Weitere Informationen zu Shards finden Sie in der offiziellen Dokumentation.
Senden von Daten von Node.js an InfluxDB
Beispiele, wie Sie Daten von Node.js an einen InfluxDB-Dienst senden, finden Sie in diesem Repository: https://github.com/stackhero-io/influxdbGettingStarted