---
title: Vector
created: 2026-06-08
updated: 2026-06-08
type: app
tags: [catalogue, observability, app-marathon3-batch-c]
confidence: high
contested: false
sources: [https://selfh.st/apps/?tag=observability&app=vector]
---

# 📊 Vector

> Le pipeline de logs/métriques/events ultra-performant en Rust pour l'observabilité moderne.

## 📋 Informations Générales

| Champ | Valeur |
| :--- | :--- |
| **Site web** | [vector.dev](https://vector.dev) |
| **GitHub** | [vectordotdev/vector](https://github.com/vectordotdev/vector) |
| **License** | MPL-2.0 |
| **Langage** | Rust |
| **Étoiles GitHub** | 19k ⭐ |
| **Catégorie** | [[cat-observability|Observability]] |

## 📝 Description

**Vector** (par Datadog/Timber) est un agent de collecte et transformation de données observabilité (logs, métriques, traces) en Rust, conçu pour remplacer Filebeat/Fluentd/Logstash. Architecture de pipeline déclarative (sources → transforms → sinks), remappage VRL (Vector Remap Language), back-pressure, Exactly-once semantics. **Différence vs ELK stack** : agent unifié logs+métriques+traces, performance Rust (10x Logstash), binaire statique 200 Mo max, agent-only. **Pour qui** : plateformes multi-services, SRE, équipes DevOps voulant réduire la complexité Filebeat+Prometheus+Otel.

## 🚀 Installation

### Docker Compose (recommandé)

```yaml
version: '3.8'
services:
  vector:
    image: timberio/vector:0.39.0-debian
    container_name: vector
    restart: unless-stopped
    volumes:
      - vector-data:/vector-data-dir
      - /var/run/docker.sock:/var/run/docker.sock:ro
      - ./vector.toml:/etc/vector/vector.toml:ro
    environment:
      VECTOR_LOG: info
    command: ["--config", "/etc/vector/vector.toml"]
    labels:
      - "traefik.enable=false"
```

### Configuration `vector.toml` (exemple)

```toml
[sources.docker]
type = "docker_logs"
include_images = false

[transforms.parse]
type = "remap"
inputs = ["docker"]
source = '''
  . |= parse_json!(.message)
  .timestamp = parse_timestamp!(.timestamp, format: "%+")
'''

[sinks.loki]
type = "loki"
inputs = ["parse"]
endpoint = "http://loki:3100"
labels = {"host" = "{{ hostname }}"}
```

## 🔄 Alternatives

### Open Source
- **Logstash** — JVM pipeline historique, plus lent
- **Fluentd / Fluent Bit** — CNCF, Ruby/C, écosystème large
- **Promtail** — agent Loki dédié
- **Telegraf** — agent InfluxData, métriques+logs
- **Cribl Stream** — version commerciale Vector (fork)

### Propriétaires / SaaS
- **Datadog Agent** — agent managed de Datadog
- **Splunk Forwarder** — agent commercial historique
- **New Relic Agent** — agent APM cloud
- **Logz.io** — ELK managé

## 🔐 Sécurité
- **TLS natif** : sources/sinks HTTPS, mTLS supporté
- **Auth basic/bearer** : nativement configurable
- **Fichiers sensibles** : permissions 0600 sur vector.toml (clés API)
- **Mode rootless** : exécution non-root possible
- **Buffering disque** : back-pressure évite la perte en cas de panne sink

## 📚 Ressources
- [Documentation](https://vector.dev/docs/)
- [VRL reference](https://vector.dev/docs/reference/vrl/)
- [Composants disponibles](https://vector.dev/components/)

## Pages Liées
- [[cat-observability]] — Catégorie Observability
- [[app-opnsense]] — Logs réseau → Vector
- [[app-bunkerweb]] — Logs WAF
