---
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](https://victoriametrics.com/) |
| **GitHub** | [VictoriaMetrics/VictoriaMetrics](https://github.com/VictoriaMetrics/VictoriaMetrics) |
| **License** | Apache-2.0 |
| **Langage** | Go |
| **Étoiles GitHub** | 17.1k ⭐ |
| **Dernière MAJ** | 2026-06-07 |
| **Catégorie** | [[cat-monitoring|Monitoring]], Time Series Database |

## 📝 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)

```yaml
# 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 :**

```yaml
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)

```bash
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](https://docs.victoriametrics.com/cluster-victoriametrics/).

## ⚙️ Configuration Initiale

1. **Accéder à l'UI** : `http://IP:8428/vmui/` (interface web native)
2. **Tester une requête** : `http://IP:8428/api/v1/query?query=up`
3. **Brancher vmagent** : configurer le scrape config et le remote write vers vmstorage
4. **Importer les dashboards Grafana** : Grafana supporte nativement VictoriaMetrics comme datasource
5. **Configurer les alertes** : déployer `vmalert` et connecter à `alertmanager`
6. **Backup** : `vmbackup` (incrémental) ou `vmstorage` en 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.username` et `--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](https://github.com/VictoriaMetrics/VictoriaMetrics)
- [Documentation officielle](https://docs.victoriametrics.com/)
- [Blog technique](https://victoriametrics.com/blog/)
- [Benchmarks vs Prometheus](https://victoriametrics.com/blog/our-results-are-better-than-prometheus/)
- [VictoriaMetrics Cloud (managed)](https://victoriametrics.com/products/victoriametrics-cloud/)

## 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
