InfluxDB: Aan de slag

Hoe te beginnen met InfluxDB

👋 Welkom bij de Stackhero-documentatie

Stackhero biedt een volledig beheerde InfluxDB cloud-omgeving, ontworpen voor snelheid en eenvoud:

  • Onbeperkt schrijven, queries, dashboards, taken en buckets.
  • Onbeperkte dataretentie: bewaar uw metrics zo lang als u wilt.
  • Onbeperkte netwerk- en schijftransfers, zonder verborgen limieten.
  • Updates met één klik: altijd toegang tot de nieuwste functies en fixes.
  • Consistente performance en sterke beveiliging op uw eigen private, dedicated infrastructuur.

Met Stackhero kunt u zich volledig richten op uw data en inzichten. Aan de slag gaan met InfluxDB cloud hosting duurt slechts enkele minuten, en elke installatie is geoptimaliseerd voor langdurige betrouwbaarheid.

InfluxDB biedt geen mogelijkheid om gebruikers direct via de webinterface te creëren en beheren. Gelukkig kunt u de InfluxDB CLI voor deze taken gebruiken.

U kunt toegang krijgen tot de InfluxDB CLI via Docker. Voer bijvoorbeeld de volgende opdracht uit:

docker run -it -u 0 bitnami/influxdb:2.7.11 /bin/bash

Vergeet niet 2.7.11 te vervangen door uw InfluxDB-versie.

Zodra de container start, maakt u een configuratie. Vergeet niet <XXXXXX>.stackhero-network.com te vervangen door uw daadwerkelijke InfluxDB-domein:

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

Na deze stap kunt u de InfluxDB CLI gebruiken. Om bijvoorbeeld een nieuwe gebruiker aan te maken, voert u uit:

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

InfluxDB is ontworpen als een tijdreeksdatabase en verwerkt vaak een groot aantal metrieken. Aangezien deze databases doorgaans geen gegevens automatisch verwijderen, kan uw database oneindig groeien en alle beschikbare schijfruimte gebruiken.

Om verzadiging van schijfruimte te voorkomen, biedt InfluxDB twee oplossingen:

  1. Retentiebeleid: Verwijder gegevens ouder dan een bepaalde datum. U kunt bijvoorbeeld besluiten gegevens ouder dan 365 dagen te verwijderen.
  2. Downsampling van gegevens: Verminder de gegevensresolutie in de loop van de tijd. Als u bijvoorbeeld elke seconde een temperatuur registreert, kunt u:
    1. Temperatuurgegevens met een resolutie van 1 seconde bewaren voor de laatste 5 minuten.
    2. Maximale, minimale en gemiddelde temperaturen met een resolutie van 1 minuut behouden voor de afgelopen 24 uur.
    3. Maximale, minimale en gemiddelde temperaturen met een resolutie van 1 uur opslaan voor oudere gegevens.

Het gebruik van retentiebeleid stelt u in staat historische gegevens voor langere perioden op te slaan zonder terabytes aan opslagruimte nodig te hebben. U vindt meer informatie over downsampling in de officiële documentatie.

Standaard slaat InfluxDB gegevens onbeperkt op. Hoewel dit gedrag typisch is voor traditionele databases, is het niet ideaal voor tijdreeksdatabases, die verouderde gegevens moeten verwijderen om ongecontroleerde groei te voorkomen.

Als u bijvoorbeeld batterijspanningsgegevens opslaat, zijn deze mogelijk slechts enkele dagen relevant in plaats van jaren. Om te voorkomen dat uw schijf vol raakt, is het cruciaal om een retentieperiode voor elk van uw buckets in te stellen.

Om gegevensretentie te configureren:

  1. Open uw InfluxDB-webinterface.
  2. Klik op "Data" en vervolgens op "Buckets".
  3. Klik op "Settings" naast de bucket die u wilt configureren.
  4. Selecteer "Delete data older than" en kies uw gewenste retentieperiode.

Vergeet niet dat gegevens ouder dan de geselecteerde retentieperiode permanent worden verwijderd!

Houd er rekening mee dat gegevens in InfluxDB zijn georganiseerd in shards. Shards die alleen verouderde gegevens bevatten, worden automatisch verwijderd, maar als een shard een mix van verouderde en actuele gegevens bevat, wordt deze niet verwijderd. Standaard, zonder een gedefinieerd retentiebeleid, bevatten shards 7 dagen aan gegevens. Dit betekent dat wanneer u een retentiebeleid instelt, bijna 7 dagen aan verouderde gegevens mogelijk nog steeds worden bewaard naast uw actuele gegevens. U vindt meer informatie over shards in de officiële documentatie.

U vindt voorbeelden van hoe u gegevens van Node.js naar een InfluxDB-service kunt verzenden in deze repository: https://github.com/stackhero-io/influxdbGettingStarted