RousselTMLEARNING

Observabilité

Vector : sources, transforms, sinks et topologie

Les concepts de Vector (sources, transforms, sinks), la configuration YAML, les composants courants, les tampons disque et les outils d'exploitation (validate, top, tap).

1. Les concepts #

Un graphe orienté.

Topologie #

Topologie Vector
Chaque composant déclare ses entrées (inputs) : Vector construit le graphe.

Vector organise le traitement en un graphe : des sources produisent des événements (logs, métriques ou traces), des transforms les modifient, des sinks les envoient. Chaque composant indique ses inputs, ce qui permet d'aiguiller un même flux vers plusieurs destinations.

2. Configuration #

YAML, TOML ou JSON.

Exemple #

# vector.yaml
api:
  enabled: true
  address: 0.0.0.0:8686

sources:
  app:
    type: file
    include: [/var/log/app/*.log]

transforms:
  parse:
    type: remap
    inputs: [app]
    source: |
      . = parse_json!(.message)
      .level = downcase(string!(.level))
      del(.password)

  erreurs:
    type: filter
    inputs: [parse]
    condition: .level == "error"

sinks:
  loki:
    type: loki
    inputs: [parse]
    endpoint: http://loki:3100
    encoding: { codec: json }
    labels: { app: "{{ app }}", level: "{{ level }}" }
    buffer: { type: disk, max_size: 268435488, when_full: block }

  alerte_console:
    type: console
    inputs: [erreurs]
    encoding: { codec: json }
vector validate vector.yaml
vector --config vector.yaml

Composants courants #

TypeComposants
Sourcesfile, kubernetes_logs, journald, syslog, http_server, kafka, opentelemetry, internal_metrics
Transformsremap, filter, route, sample, dedupe, throttle, log_to_metric, aggregate
Sinksloki, elasticsearch, aws_s3, kafka, clickhouse, prometheus_exporter, datadog_logs, console

3. Exploiter Vector #

Voir ce qui circule.

Outils #

vector top                       # débit et erreurs par composant, en direct
vector tap parse                 # afficher les événements qui sortent de « parse »
vector tap --outputs-of 'parse' --limit 5
Bonne Pratique : vector tap est l'outil de mise au point le plus utile : il montre les événements réels à n'importe quel endroit du graphe, sans rien modifier.

La source internal_metrics expose les métriques de Vector lui-même (événements reçus et envoyés, erreurs, taille des tampons), à envoyer vers Prometheus avec le sink prometheus_exporter.

Articles liés

Vector : les sources en détail

Les sources de Vector : fichiers, logs Kubernetes, journald, syslog, sockets, HTTP, OpenTelemetry, Kafka, sou…

Vector : les transforms en détail (remap et VRL, route, filter, réduction et métriques)

Transformer les événements dans Vector : remap et le langage VRL (analyse, enrichissement, gestion des erreur…

Vector : les sinks en détail (destinations, lots, tampons et réessais)

Envoyer les événements de Vector : sinks Loki, Elasticsearch, S3, Kafka, OpenTelemetry, Prometheus, Datadog, …

Pour aller plus loin

Soutenir

♥ SOUTENIR

Soutenez RousselTM Learning

Les formations, articles, TP et attestations restent gratuits et sans publicité intrusive. Une contribution libre, du montant de votre choix, finance l’hébergement, les environnements de TP et l’écriture de nouveaux contenus.

Contribuer avec PayPal Montant libre · carte bancaire ou compte PayPalEn savoir plus
QR code PayPal
Ou scannez ce QR code avec votre téléphone

Merci, chaque contribution compte !