InfluxDB: Premiers pas

Comment débuter avec InfluxDB

👋 Bienvenue sur la documentation de Stackhero !

Stackhero propose une solution InfluxDB cloud prête à l'emploi offrant de nombreux avantages, notamment :

  • Ecritures, requêtes, tableaux de bord, tâches et buckets illimités.
  • Durée de rétention des données illimitée.
  • Transferts réseau et disque illimités.
  • Mises à jour simplifiées en un clic.
  • Performance optimale et une sécurité renforcée grâce à une VM privée et dédiée.

Gagnez du temps et simplifiez-vous la vie : il suffit de 5 minutes pour essayer la solution InfluxDB cloud hosting de Stackhero !

InfluxDB ne propose pas de moyen de créer et gérer les utilisateurs directement via son interface web. Heureusement, vous pouvez utiliser la CLI InfluxDB pour ces tâches.

Vous pouvez accéder à la CLI InfluxDB via Docker. Par exemple, exécutez la commande suivante :

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

N'oubliez pas de remplacer 2.7.11 par votre version d'InfluxDB.

Une fois le conteneur démarré, créez une configuration. N'oubliez pas de remplacer <XXXXXX>.stackhero-network.com par votre domaine InfluxDB réel :

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

Après cette étape, vous pourrez utiliser la CLI InfluxDB. Par exemple, pour créer un nouvel utilisateur, exécutez :

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

InfluxDB est conçu comme une base de données de séries temporelles et gère souvent un grand nombre de métriques. Comme ces bases de données ne suppriment généralement pas les données automatiquement, votre base de données peut croître indéfiniment et utiliser tout l'espace disque disponible.

Pour éviter la saturation de l'espace disque, InfluxDB propose deux solutions :

  1. Politiques de rétention : Supprimer les données plus anciennes qu'une date définie. Par exemple, vous pourriez décider de supprimer les données de plus de 365 jours.
  2. Réduction des données : Réduire la résolution des données au fil du temps. Par exemple, si vous enregistrez une température chaque seconde, vous pourriez vouloir :
    1. Conserver les données de température avec une résolution d'une seconde pour les 5 dernières minutes.
    2. Maintenir les températures maximales, minimales et moyennes avec une résolution d'une minute pour les dernières 24 heures.
    3. Stocker les températures maximales, minimales et moyennes avec une résolution d'une heure pour les données plus anciennes.

L'utilisation de politiques de rétention vous permet de stocker des données historiques sur de longues périodes sans nécessiter des téraoctets d'espace de stockage. Vous trouverez plus d'informations sur la réduction des données dans la documentation officielle.

Par défaut, InfluxDB stocke les données indéfiniment. Bien que ce comportement soit typique pour les bases de données traditionnelles, il n'est pas idéal pour les bases de données de séries temporelles, qui devraient supprimer les données obsolètes pour éviter une croissance incontrôlée.

Par exemple, si vous stockez des données de tension de batterie, elles pourraient n'être pertinentes que pendant quelques jours plutôt que des années. Pour éviter de remplir votre disque, il est crucial de définir une période de rétention pour chacun de vos buckets.

Pour configurer la rétention des données :

  1. Ouvrez votre interface web InfluxDB.
  2. Cliquez sur "Data", puis "Buckets".
  3. Cliquez sur "Settings" à côté du bucket que vous souhaitez configurer.
  4. Sélectionnez "Delete data older than" et choisissez votre période de rétention souhaitée.

N'oubliez pas que les données plus anciennes que la période de rétention sélectionnée seront définitivement supprimées !

Gardez à l'esprit que les données dans InfluxDB sont organisées en shards. Les shards contenant uniquement des données obsolètes sont supprimés automatiquement, mais si un shard contient un mélange de données obsolètes et actuelles, il ne sera pas supprimé. Par défaut, sans politique de rétention définie, les shards contiennent 7 jours de données. Cela signifie que lorsque vous définissez une politique de rétention, près de 7 jours de données obsolètes pourraient encore être conservés avec vos données actuelles. Vous trouverez plus d'informations sur les shards dans la documentation officielle.

Vous trouverez des exemples sur comment envoyer des données de Node.js à un service InfluxDB dans ce dépôt : https://github.com/stackhero-io/influxdbGettingStarted