7.7 KiB
title: VictoriaMetrics created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, monitoring, time-series, metrics, prometheus, performance, go, production] confidence: high contested: false sources: [https://selfh.st/apps/?tag=Monitoring, https://github.com/VictoriaMetrics/VictoriaMetrics]
📊 VictoriaMetrics
La base de données time-series ultra-performante : drop-in replacement de Prometheus, 10-100× plus rapide à l'ingestion, jusqu'à 70× moins de RAM. Le choix du production à grande échelle.
📋 Informations Générales
| Champ | Valeur |
|---|---|
| Site web | victoriametrics.com |
| GitHub | VictoriaMetrics/VictoriaMetrics |
| License | Apache-2.0 |
| Langage | Go |
| Étoiles GitHub | 17.1k ⭐ |
| Dernière MAJ | 2026-06-07 |
| Catégorie | [[cat-monitoring |
📝 Description
VictoriaMetrics est une base de données time-series (TSDB) conçue comme un drop-in replacement de Prometheus, avec des performances nettement supérieures en termes de :
- Vitesse d'ingestion : jusqu'à 20× plus rapide que Prometheus
- Consommation RAM : 10-70× moins de RAM
- Compression disque : 5-10× moins d'espace disque
- Scalabilité : conçue pour gérer des milliards de séries actives
C'est le choix naturel quand Prometheus atteint ses limites (typiquement au-delà de 5-10 millions de séries actives ou quand l'ingestion sature).
Composants de l'écosystème :
- ✅ vmstorage : le moteur de stockage TSDB
- ✅ vminsert : réception des métriques (Prometheus remote write, InfluxDB, OpenTSDB, CSV, JSON)
- ✅ vmselect : exécution des requêtes (PromQL, MetricsQL)
- ✅ vmagent : scraper (remplace prometheus dans le scraping)
- ✅ vmauth : proxy d'authentification
- ✅ vmalert : alerting (compatible avec alertmanager)
- ✅ vmgateway : API gateway multi-tenant
- ✅ vmui : interface web native pour requêter
- ✅ Cluster mode : sharding et réplication pour scale horizontale
- ✅ Drop-in Prometheus : imite les APIs de Prometheus (
/api/v1/query, etc.) - ✅ MetricsQL : extension de PromQL avec des fonctions supplémentaires
Public cible : DevOps, SRE, plateforme, équipes qui font du monitoring à grande échelle. Pour un homelab avec quelques serveurs, app-prometheus standard suffit largement.
Comparaison : VictoriaMetrics est à app-prometheus ce que PostgreSQL avec extensions est à SQLite : la même philosophie, mais conçue pour le production à grande échelle. C'est aussi un concurrent direct de InfluxDB, TimescaleDB, M3DB et Thanos (qui est un autre moyen de scaler Prometheus).
🚀 Installation
Option 1 : Docker Compose (single-node, recommandé pour démarrer)
# docker-compose.yml
version: '3.8'
services:
victoriametrics:
image: victoriametrics/victoria-metrics:latest
container_name: victoriametrics
restart: unless-stopped
ports:
- "8428:8428" # API + UI
volumes:
- vm-data:/storage
command:
- "--storageDataPath=/storage"
- "--httpListenAddr=:8428"
- "--retentionPeriod=12" # 12 mois
- "--memory.allowedPercent=60"
labels:
- "traefik.enable=true"
- "traefik.http.routers.vm.rule=Host(`vm.example.com`)"
- "traefik.http.routers.vm.entrypoints=websecure"
- "traefik.http.routers.vm.tls.certresolver=letsencrypt"
vmagent:
image: victoriametrics/vmagent:latest
container_name: vmagent
restart: unless-stopped
depends_on:
- victoriametrics
volumes:
- ./prometheus.yml:/etc/prometheus/prometheus.yml
command:
- "--promscrape.config=/etc/prometheus/prometheus.yml"
- "--remoteWrite.url=http://victoriametrics:8428/api/v1/write"
volumes:
vm-data:
Exemple de prometheus.yml pour vmagent :
scrape_configs:
- job_name: node
static_configs:
- targets: ['node-exporter:9100']
- job_name: cadvisor
static_configs:
- targets: ['cadvisor:8080']
Option 2 : Binaire unique (bare-metal)
wget https://github.com/VictoriaMetrics/VictoriaMetrics/releases/download/v1.106.0/victoria-metrics-linux-amd64-v1.106.0.tar.gz
tar -xzf victoria-metrics-linux-amd64-v1.106.0.tar.gz
./victoria-metrics-prod -storageDataPath=/vm-data
Option 3 : Cluster mode (production à grande échelle)
Voir la doc officielle cluster.
⚙️ Configuration Initiale
- Accéder à l'UI :
http://IP:8428/vmui/(interface web native) - Tester une requête :
http://IP:8428/api/v1/query?query=up - Brancher vmagent : configurer le scrape config et le remote write vers vmstorage
- Importer les dashboards Grafana : Grafana supporte nativement VictoriaMetrics comme datasource
- Configurer les alertes : déployer
vmalertet connecter àalertmanager - Backup :
vmbackup(incrémental) ouvmstorageen mode cluster avec réplication
🔄 Alternatives
Open Source
- app-prometheus — La référence, en Go, simple et éprouvé
- Thanos — Pour scaler Prometheus (extension)
- Cortex — TSDB multi-tenant (très complexe)
- M3DB — TSDB distribuée par Uber
- InfluxDB — TSDB généraliste, écrit en Go
- TimescaleDB — Extension PostgreSQL pour time-series
- QuestDB — TSDB en Java, ultra-rapide
Comparaison VictoriaMetrics vs alternatives
| Critère | VictoriaMetrics | Prometheus | Thanos | InfluxDB |
|---|---|---|---|---|
| RAM (10M séries) | ~2 Go | ~20 Go | ~30 Go | ~10 Go |
| Ingestion rate | 1M+ samples/s | 100k samples/s | 100k+ | 500k+ |
| Stockage | 0.4 bytes/sample | 2-3 bytes/sample | 2-3 bytes/sample | 1 byte/sample |
| PromQL | ✅ (MetricsQL) | ✅ | ✅ | ❌ (Flux) |
| Drop-in Prometheus | ✅ | N/A | ✅ | ❌ |
| Cluster natif | ✅ | ❌ | ✅ | ✅ (Enterprise) |
| Complexité | Moyenne | Basse | Élevée | Moyenne |
Verdict : VictoriaMetrics est le choix pragmatique quand Prometheus montre ses limites. Plus simple que Thanos, plus rapide qu'InfluxDB, plus scalable que Prometheus seul.
Propriétaires (ce que VictoriaMetrics remplace)
- Datadog Metrics (très cher)
- New Relic Metrics (payant)
- InfluxDB Cloud (payant au-delà du free tier)
- AWS Timestream (payant AWS)
- Azure Data Explorer (payant Azure)
- Splunk Infrastructure Monitoring (très cher)
🔐 Sécurité
- Auth basique :
--httpAuth.usernameet--httpAuth.password - TLS : via reverse proxy (app-traefik) ou mTLS natif (Enterprise)
- Multi-tenant : via
vmauth(headers, JWT, mTLS) - HTTPS via app-traefik obligatoire
- Firewall : l'API write (8429) ne doit jamais être exposée publiquement
- Backups : chiffrer les sauvegardes (elles contiennent toutes vos métriques)
📚 Ressources
- GitHub VictoriaMetrics/VictoriaMetrics
- Documentation officielle
- Blog technique
- Benchmarks vs Prometheus
- VictoriaMetrics Cloud (managed)
Pages Liées
- cat-monitoring — Catégorie Monitoring
- app-prometheus — Prometheus standard
- app-grafana — Dashboards
- app-cadvisor — Métriques containers
- app-traefik — Reverse proxy HTTPS
- observabilite — Vue d'ensemble observabilité
- checklist-monitoring-minimal — Checklist