This article is available in French.
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.My progress
Sign in to track your progress and take notes. Sign in
Recommended Articles
Vector : les sinks en détail (destinations, lots, tampons et réessais)
Envoyer les événements de Vector : sinks Loki, Elasticsearch, S3, Kafka, OpenTelemetry, Prometheu...
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, gestio...
Vector : sources, transforms, sinks et topologie
Les concepts de Vector (sources, transforms, sinks), la configuration YAML, les composants couran...
Fluent Bit : les inputs (entrées) du pipeline en détail
Tout sur les inputs de Fluent Bit : rôle des tags, lecture de fichiers avec tail (positions, rota...
Collecteurs de logs légers : Fluent Bit, Vector et les autres
Pourquoi un collecteur de logs, ce qui distingue les agents légers (Fluent Bit, Vector) des colle...
Bonnes pratiques de collecte de logs avec Fluent Bit et Vector
Check-list de production pour la collecte de logs : structure, filtrage à la source, masquage, ta...
Fluent Bit ou Vector ? Choisir, combiner et migrer
Comparer Fluent Bit et Vector (performances, transformations, écosystème, gouvernance), les combi...
Transformer avec VRL et tester ses pipelines Vector
Le langage VRL (Vector Remap Language) : analyse de logs (JSON, regex, syslog), gestion des erreu...
Fluent Bit : les outputs (sorties), routage et fiabilité de l'envoi
Envoyer les données de Fluent Bit : routage par Match et Match_Regex, sorties Loki, Elasticsearch...