InfluxDB: Aan de slag
Hoe te beginnen met InfluxDB
👋 Welkom bij de Stackhero-documentatie!
Stackhero biedt een kant-en-klare InfluxDB cloud oplossing met tal van voordelen, waaronder:
- Onbeperkt schrijven, queries, dashboards, taken en buckets.
- Onbeperkte gegevensretentietijd.
- Onbeperkte netwerk- en schijftransfers.
- Moeiteloze updates met slechts één klik.
- Optimale prestaties en robuuste beveiliging aangedreven door een privé en dedicated VM.
Bespaar tijd en vereenvoudig uw leven: het kost slechts 5 minuten om de InfluxDB cloud hosting oplossing van Stackhero te proberen!
Beheer van InfluxDB-gebruikers
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.
Gebruik van de InfluxDB CLI
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.11te 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>
Voorkom verzadiging van schijfruimte
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:
- Retentiebeleid: Verwijder gegevens ouder dan een bepaalde datum. U kunt bijvoorbeeld besluiten gegevens ouder dan 365 dagen te verwijderen.
- Downsampling van gegevens: Verminder de gegevensresolutie in de loop van de tijd. Als u bijvoorbeeld elke seconde een temperatuur registreert, kunt u:
- Temperatuurgegevens met een resolutie van 1 seconde bewaren voor de laatste 5 minuten.
- Maximale, minimale en gemiddelde temperaturen met een resolutie van 1 minuut behouden voor de afgelopen 24 uur.
- 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.
Beheer van InfluxDB-gegevensretentie
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:
- Open uw InfluxDB-webinterface.
- Klik op "Data" en vervolgens op "Buckets".
- Klik op "Settings" naast de bucket die u wilt configureren.
- 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.
Gegevens van Node.js naar InfluxDB verzenden
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