InfluxDB: Premiers pas

Comment débuter avec InfluxDB

👋 Bienvenue sur la documentation de Stackhero !

Stackhero propose une solution InfluxDB cloud prête à l'emploi qui offre de nombreux avantages, parmi lesquels :

  • Écriture, requêtes, dashboards, tasks et buckets en illimité.
  • 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 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 gestion des utilisateurs directement via son interface web. Heureusement, vous pouvez effectuer ces opérations avec le CLI InfluxDB.

Vous pouvez accéder au 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 la version de votre InfluxDB.

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

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 le 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 ne suppriment généralement pas les données automatiquement, votre base peut croître indéfiniment et occuper tout l'espace disque disponible.

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

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

L'utilisation des politiques de rétention vous permet de conserver des historiques sur de longues périodes sans avoir besoin de téraoctets d'espace disque. Vous trouverez plus d'informations sur le downsampling dans la documentation officielle.

Par défaut, InfluxDB conserve les données indéfiniment. Si ce comportement est courant pour les bases de données traditionnelles, il n'est pas adapté aux bases de séries temporelles, qui doivent 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 ne sont pertinentes que quelques jours, pas plusieurs années. Pour éviter de saturer votre disque, il est essentiel de définir une période de rétention pour chacun de vos buckets.

Pour configurer la rétention des données :

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

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

Gardez à l'esprit que les données dans InfluxDB sont organisées en shards. Les shards ne contenant que des données obsolètes sont supprimés automatiquement, mais si un shard contient à la fois des données obsolètes et des données récentes, 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 qu'après avoir défini une politique de rétention, près de 7 jours de données obsolètes peuvent 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 pour envoyer des données de Node.js vers un service InfluxDB dans ce dépôt : https://github.com/stackhero-io/influxdbGettingStarted