Files
2026-06-09 18:40:21 +02:00

7.8 KiB


title: InfluxDB created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, database, tsdb, time-series, metrics, monitoring, iot, go, mit] confidence: high contested: false sources: [https://selfh.st/apps/?tag=Database, https://github.com/influxdata/influxdb]

🗄️ InfluxDB

La base de données time-series open source (MIT) : optimisée pour stocker des millions de points de données horodatés (métriques, IoT, événements) avec un moteur de requêtes type Flux et InfluxQL.

📋 Informations Générales

Champ Valeur
Site web influxdata.com
GitHub influxdata/influxdb
License MIT (version OSS v2.x, depuis 2024)
Langage Go
Étoiles GitHub 31k
Dernière MAJ 2026-06-05
Catégorie cat-database

📝 Description

InfluxDB est une base de données time-series (TSDB) conçue dès le départ pour gérer des volumes massifs de points horodatés : métriques système, données IoT, télémétrie, événements, monitoring d'infrastructure. Sa structure de stockage TSM (Time-Structured Merge Tree) est optimisée pour les insertions très rapides et les agrégations sur des fenêtres temporelles.

L'écosystème InfluxDB inclut :

  • InfluxDB v2 (OSS, MIT) — le moteur principal
  • Telegraf — agent de collecte de métriques (300+ plugins)
  • InfluxDB UI — interface web intégrée
  • InfluxQL / Flux — deux langages de requêtes
  • InfluxDB Cloud — offre SaaS propriétaire

📜 À propos de la licence (confusion historique)

La licence d'InfluxDB a changé plusieurs fois, ce qui crée de la confusion :

  • v1.x : MIT
  • v2.0 → v2.6 : passage à SSPL (Server Side Public License) — licence non approuvée OSI, restrictive
  • v2.7+ (octobre 2024) : retour à MIT pour la version OSS, sous la pression de la communauté (suite à la crise des licences de Redis, Elastic, HashiCorp)

Aujourd'hui, InfluxDB v2 OSS est MIT. C'est à nouveau un choix sûr pour un homelab ou un projet commercial open. La version InfluxDB v3 (Cloud et Core) est sous licence propriétaire / non-OSS, mais InfluxDB v2 OSS reste MIT et activement maintenue.

À comparer à Prometheus (l'autre roi du time-series, plus orienté monitoring pur, langage PromQL) et à TimescaleDB (extension Postgres pour le time-series, plus classique).

  • Moteur TSM optimisé pour ingestions massives et compressions
  • Schéma flexible : pas de schéma rigide, on tag les mesures
  • Langage Flux (scripting, time-series natif) + InfluxQL (SQL-like)
  • Retention policies : effacement automatique des données anciennes
  • Continuous Queries : agrégations pré-calculées
  • Telegraf : agent de collecte avec 300+ plugins (systeme, docker, mqtt, snmp…)
  • Tasks et alerts intégrées
  • HTTP API + client libraries (Go, Python, JS, Java…)
  • UI web intégrée

Public cible : homelabs qui veulent monitorer leur infra ou stocker des données IoT, développeurs d'observabilité, data engineers.

🚀 Installation

Option 1 : Docker Compose (recommandé)

# docker-compose.yml
version: '3.8'
services:
  influxdb:
    image: influxdb:2.7
    container_name: influxdb
    restart: unless-stopped
    environment:
      DOCKER_INFLUXDB_INIT_MODE: setup
      DOCKER_INFLUXDB_INIT_USERNAME: admin
      DOCKER_INFLUXDB_INIT_PASSWORD: "ChangeMe123!"
      DOCKER_INFLUXDB_INIT_ORG: mon-org
      DOCKER_INFLUXDB_INIT_BUCKET: homelab
      DOCKER_INFLUXDB_INIT_RETENTION: 30d
      DOCKER_INFLUXDB_INIT_ADMIN_TOKEN: "CHANGEZ_CE_TOKEN_LONG_ET_ALEATOIRE"
    ports:
      - "8086:8086"  # API + UI
    volumes:
      - influxdb-data:/var/lib/influxdb2
      - influxdb-config:/etc/influxdb2
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.influxdb.rule=Host(`influxdb.example.com`)"
      - "traefik.http.routers.influxdb.entrypoints=websecure"
      - "traefik.http.routers.influxdb.tls.certresolver=letsencrypt"
      - "traefik.http.services.influxdb.loadbalancer.server.port=8086"

volumes:
  influxdb-data:
  influxdb-config:

Option 2 : Binaire natif

wget https://dl.influxdata.com/influxdb/releases/influxdb2-2.7.x_linux_amd64.tar.gz
tar xzf influxdb2-*.tar.gz
cd influxdb2-*
./influxd

⚙️ Configuration Initiale

  1. Premier accès : http://IP:8086 (puis https://influxdb.example.com via Traefik) → Setup automatique demande org, bucket, admin, token
  2. Créer un bucket : Load Data → Buckets → + Create Bucket (rétention par défaut, par ex. 30d)
  3. Récupérer un token : Load Data → API Tokens → générer un token (lecture ou read+write)
  4. Brancher Telegraf : configurer l'agent Telegraf pour push les métriques système (ex: outputs.influxdb_v2.urls = ["http://influxdb:8086"])
  5. Explorer les données : Data Explorer → sélection bucket → measurements → fields → visualisation
  6. Créer une alerte : Alerts → + Create Check → seuil + endpoint (Slack, HTTP, PagerDuty)

🔄 Alternatives

Open Source

  • Prometheus — Le standard CNCF, pull-based, PromQL, idéal pour Kubernetes
  • VictoriaMetrics — Compatible Prometheus, plus performant, MIT
  • TimescaleDB — Extension Postgres pour le time-series, requêtes SQL classiques
  • QuestDB — TSQL-like, très rapide, Apache-2.0
  • ClickHouse — Colonnaire OLAP, excellent pour analytics de logs/métriques
  • TDengine — TSDB IoT, double licence (AGPL + propriétaire)

Propriétaires / Cloud

  • InfluxDB Cloud — v3 de l'éditeur, serverless ou dédiée
  • Grafana Cloud — Métriques + logs + traces
  • Datadog — Observabilité tout-en-un
  • New Relic — APM + métriques
  • Chronosphere — M3-based, orienté enterprise

Comparaison

Critère InfluxDB v2 OSS Prometheus TimescaleDB
Licence MIT Apache-2.0 Apache-2.0 (community) / TSL (cloud)
Ingestion Push (Telegraf, HTTP) Pull (scraping) Push / SQL insert
Langage de requête Flux + InfluxQL PromQL SQL standard
Rétention Native (1j à infini) TSDB local / remote_write Dépend du partitionnement
Scalabilité Cluster (Enterprise) Fédération Sharding natif
Idéal pour IoT, métriques, events Monitoring infra / K8s Analytics SQL sur séries temporelles
UI Intégrée Minimal (Grafana) pgAdmin ou Grafana

Verdict : InfluxDB v2 (MIT) est le bon choix pour un homelab qui veut un TSDB autonome avec UI et un écosystème riche (Telegraf). Pour du monitoring pur, Prometheus + Grafana reste le duo roi.

🔐 Sécurité

  • Authentification par token (API tokens scoped)
  • HTTPS obligatoire via app-traefik — l'UI et l'API exposent tous les buckets
  • Pas de chiffrement at-rest natif (donc chiffrer le volume avec LUKS/ZFS si la machine est partagée)
  • Backups : app-backup (restic) sur les volumes influxdb-data et influxdb-config, ou utiliser influx backup qui dump les buckets en ligne
  • Tokens : secrets, à stocker hors de l'image, à surveiller (rotation régulière)

📚 Ressources

Pages Liées