InfluxDB: Erste Schritte

Wie Sie InfluxDB schnell einrichten und verwalten – Best Practices

👋 Willkommen in der Stackhero-Dokumentation

Stackhero bietet Ihnen eine vollständig verwaltete InfluxDB Cloud-Umgebung, die auf Geschwindigkeit und Einfachheit ausgelegt ist:

  • Unbegrenzte Schreibvorgänge, Abfragen, Dashboards, Tasks und Buckets.
  • Unbegrenzte Datenaufbewahrung: Bewahren Sie Ihre Metriken so lange auf, wie Sie möchten.
  • Unbegrenzte Netzwerk- und Datentransfers – ohne versteckte Limits.
  • Updates mit nur einem Klick: Sie nutzen immer die neuesten Funktionen und Fehlerbehebungen.
  • Stetige Performance und hohe Sicherheit auf Ihrer eigenen privaten, dedizierten Infrastruktur.

Mit Stackhero können Sie sich ganz auf Ihre Daten und Analysen konzentrieren. Der Einstieg in das InfluxDB Cloud Hosting dauert nur wenige Minuten, und jede Bereitstellung ist auf langfristige Zuverlässigkeit optimiert.

InfluxDB bietet keine Benutzerverwaltung direkt über die Web-Oberfläche an. Sie können die Erstellung und Verwaltung von Benutzern effizient über die InfluxDB CLI durchführen.

Sie können die InfluxDB CLI über Docker nutzen. Zum Beispiel können Sie folgenden Befehl ausführen:

docker run -it influxdb:2.8 /bin/bash

Denken Sie daran, das passende Versionstag für Ihre InfluxDB-Instanz anstelle von 2.8 zu verwenden.

Nachdem Sie den Container gestartet haben, erstellen Sie eine Konfiguration. Ersetzen Sie <XXXXXX>.stackhero-network.com durch Ihre tatsächliche InfluxDB-Domain:

influx config create \
  --config-name adminConfig \
  --active \
  --username-password admin \
  --org admin \
  --host-url https://<XXXXXX>.stackhero-network.com

Sobald die Konfiguration eingerichtet ist, können Sie die InfluxDB CLI zur Benutzerverwaltung verwenden. Um beispielsweise einen neuen Benutzer anzulegen:

influx user create --name <user> --password <password>

InfluxDB ist für große Mengen an Zeitreihendaten optimiert. Da alte Daten nicht automatisch gelöscht werden, kann eine unverwaltete Datenbank den verfügbaren Speicher schnell füllen. Stackhero unterstützt Sie dabei, indem es die nativen InfluxDB-Funktionen für ein effizientes Datenmanagement bereitstellt.

InfluxDB bietet zwei Hauptlösungen:

  1. Retention Policies (Aufbewahrungsrichtlinien): Daten, die älter als ein definierter Zeitraum sind (z. B. 365 Tage), werden automatisch gelöscht. So bleibt die Speichernutzung vorhersehbar und manueller Aufwand entfällt.
  2. Downsampling von Daten: Hochaufgelöste Daten werden für aktuelle Zeiträume gespeichert, aggregierte Daten für ältere Zeiträume. Zum Beispiel:
    • 1-Sekunden-Auflösung für die letzten 5 Minuten behalten.
    • Maximal-, Minimal- und Durchschnittswerte im 1-Minuten-Intervall für die letzten 24 Stunden speichern.
    • Stündliche Aggregationen für ältere Daten aufbewahren.

Mit Retention Policies speichern Sie nur relevante Historie und vermeiden unnötigen Speicherverbrauch. Weitere Informationen zum Downsampling finden Sie in der offiziellen InfluxDB-Downsampling-Dokumentation.

Standardmäßig bewahrt InfluxDB Daten unbegrenzt auf. Für die meisten Zeitreihen-Anwendungsfälle empfiehlt es sich, für jeden Bucket eine Aufbewahrungsdauer zu definieren, um nur die benötigten Daten zu behalten und unkontrolliertes Speicherwachstum zu verhindern.

So konfigurieren Sie die Aufbewahrung:

  1. Öffnen Sie die InfluxDB Web-Oberfläche.
  2. Navigieren Sie zu "Data" und wählen Sie "Buckets".
  3. Klicken Sie neben dem gewünschten Bucket auf "Settings".
  4. Wählen Sie unter "Delete data older than" den gewünschten Aufbewahrungszeitraum aus.

Daten, die älter als der gewählte Aufbewahrungszeitraum sind, werden dauerhaft gelöscht.

InfluxDB speichert Daten in Shards. Shards, die ausschließlich abgelaufene Daten enthalten, werden automatisch gelöscht. Enthält ein Shard sowohl abgelaufene als auch aktuelle Daten, bleibt er bestehen, bis alle enthaltenen Daten abgelaufen sind. Standardmäßig umfasst ein Shard 7 Tage an Daten. Wenn Sie eine neue Retention Policy festlegen, können bis zu knapp 7 Tage veralteter Daten verbleiben, bis der nächste Shard-Zyklus beginnt. Weitere Informationen finden Sie in der InfluxDB-Dokumentation zu Shards.

Praktische Beispiele zum Senden von Daten von Node.js an InfluxDB finden Sie im InfluxDB Getting Started Repository.