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
- Premier accès :
http://IP:8086(puishttps://influxdb.example.comvia Traefik) → Setup automatique demande org, bucket, admin, token - Créer un bucket : Load Data → Buckets → + Create Bucket (rétention par défaut, par ex. 30d)
- Récupérer un token : Load Data → API Tokens → générer un token (lecture ou read+write)
- Brancher Telegraf : configurer l'agent Telegraf pour push les métriques système (ex:
outputs.influxdb_v2.urls = ["http://influxdb:8086"]) - Explorer les données : Data Explorer → sélection bucket → measurements → fields → visualisation
- 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-dataetinfluxdb-config, ou utiliserinflux backupqui dump les buckets en ligne - Tokens : secrets, à stocker hors de l'image, à surveiller (rotation régulière)
📚 Ressources
Pages Liées
- cat-database — Catégorie Database
- app-traefik — Reverse-proxy HTTPS
- app-backup (restic) — Sauvegardes
- app-grafana (à créer) — Visualisation idéale d'InfluxDB
- recettes-docker-compose — Recettes
- securisation-home-lab — Bonnes pratiques
- glossaire-homelab — Glossaire