RousselTMLEARNING

Observabilité

Vector : les sources en détail

Les sources de Vector : fichiers, logs Kubernetes, journald, syslog, sockets, HTTP, OpenTelemetry, Kafka, source vector entre instances, métriques de l'hôte et métriques internes, avec le modèle d'événements, les points de lecture et les acquittements de bout en bout.

1. Rôle des sources #

Le point de départ de la topologie.

Principe #

Topologie Vector
Les sources n'ont pas d'entrée ; les transforms et sinks référencent leurs sources par leur nom.
Types d'événements
Une source de fichiers produit des logs ; host_metrics produit des métriques.
FamilleSources
Fichiers et systèmefile, journald, exec
Kuberneteskubernetes_logs (avec métadonnées des pods)
Réseausyslog, socket, http_server, splunk_hec
Agents et filesopentelemetry, datadog_agent, kafka, vector, fluent
Métriqueshost_metrics, prometheus_scrape, internal_metrics

2. Exemples #

Les sources les plus courantes.

Configuration #

sources:
  fichiers_app:
    type: file
    include: ["/var/log/app/*.log"]
    exclude: ["/var/log/app/*.gz"]
    read_from: end                     # nouveau fichier : partir de la fin
    ignore_older_secs: 86400
    multiline:                          # recoller une trace de pile
      start_pattern: '^\d{4}-\d{2}-\d{2}'
      mode: halt_before
      condition_pattern: '^\d{4}-\d{2}-\d{2}'
      timeout_ms: 1000
  kube:
    type: kubernetes_logs              # lit /var/log/pods et ajoute pod, namespace, labels
    extra_label_selector: "logging!=off"
  journal:
    type: journald
    include_units: [nginx, sshd]
  syslog_reseau:
    type: syslog
    mode: udp
    address: 0.0.0.0:5140
  otlp:
    type: opentelemetry
    grpc: { address: 0.0.0.0:4317 }
    http: { address: 0.0.0.0:4318 }
  hote:
    type: host_metrics
    collectors: [cpu, memory, disk, filesystem, network]
  vector_interne:
    type: internal_metrics

3. Positions et acquittements #

Ne rien perdre.

Fiabilité #

  • Les sources de fichiers mémorisent leur position dans data_dir (à placer sur un volume persistant) et identifient un fichier par une empreinte de ses premiers octets, ce qui gère la rotation.
  • Avec acknowledgements: true sur les sinks, une source qui le permet (HTTP, Kafka, fichiers) n'accuse réception ou n'avance qu'une fois l'événement livré.
  • La source internal_metrics expose le débit et les erreurs de chaque composant.
data_dir: /var/lib/vector
sinks:
  loki:
    type: loki
    inputs: [kube]
    endpoint: http://loki:3100
    acknowledgements:
      enabled: true
Bonne Pratique : Vérifiez qu'une source produit bien des événements avec vector tap --outputs-of kube avant d'écrire les transformations.

Articles liés

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, …

Vector : sources, transforms, sinks et topologie

Les concepts de Vector (sources, transforms, sinks), la configuration YAML, les composants courants, les tamp…

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 !