1. Rôle des sources #
Le point de départ de la topologie.
Principe #
| Famille | Sources |
|---|---|
| Fichiers et système | file, journald, exec |
| Kubernetes | kubernetes_logs (avec métadonnées des pods) |
| Réseau | syslog, socket, http_server, splunk_hec |
| Agents et files | opentelemetry, datadog_agent, kafka, vector, fluent |
| Métriques | host_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_metrics3. 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: truesur 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_metricsexpose 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: trueBonne Pratique : Vérifiez qu'une source produit bien des événements avec vector tap --outputs-of kube avant d'écrire les transformations.