This article is available in French.
1. Rôle des sinks #
La sortie de la topologie.
Principe #
| Destination | Sink |
|---|---|
| Logs | loki, elasticsearch, splunk_hec_logs, datadog_logs, clickhouse |
| Métriques | prometheus_exporter, prometheus_remote_write, datadog_metrics |
| Archives et files | aws_s3, gcp_cloud_storage, azure_blob, kafka |
| Générique | http, opentelemetry, vector (vers un agrégateur), console |
2. Exemples #
Les sinks les plus courants.
Configuration #
sinks:
loki:
type: loki
inputs: [aiguiller._unmatched, echantillon]
endpoint: http://loki:3100
encoding: { codec: json }
labels: # peu de labels, bornés
namespace: "{{ kubernetes.pod_namespace }}"
app: "{{ kubernetes.pod_labels.app }}"
elastic:
type: elasticsearch
inputs: [aiguiller.erreurs]
endpoints: [https://es:9200]
mode: data_stream
auth: { strategy: basic, user: vector, password: "${ES_PASSWORD}" }
archive:
type: aws_s3
inputs: [nettoyer]
bucket: archives-logs
region: eu-west-3
key_prefix: "date=%F/"
compression: gzip
encoding: { codec: json }
batch: { max_bytes: 100000000, timeout_secs: 300 }
metriques:
type: prometheus_exporter
inputs: [compteur_erreurs, vector_interne]
address: 0.0.0.0:95983. Fiabilité #
Lots, tampons, réessais, santé.
Réglages #
loki:
type: loki
inputs: [nettoyer]
endpoint: http://loki:3100
healthcheck: { enabled: true } # vérifié au démarrage
batch: { max_bytes: 1048576, timeout_secs: 1 }
request:
retry_attempts: 10
retry_initial_backoff_secs: 1
retry_max_duration_secs: 300
concurrency: adaptive # ajuste le parallélisme selon la latence observée
buffer:
type: disk
max_size: 2147483648 # 2 Go
when_full: block
acknowledgements: { enabled: true }concurrency: adaptive(ARC) réduit automatiquement le parallélisme quand la destination ralentit.- Surveillez
vector_component_sent_events_total,vector_buffer_eventsetvector_component_errors_totalpar sink. vector topaffiche le débit de chaque composant en direct.
Bonne Pratique : Pour des volumes importants, placez Vector en agrégateur derrière des agents légers (Vector ou Fluent Bit) : l'agrégateur porte les tampons disque et les transformations coûteuses.
My progress
Sign in to track your progress and take notes. Sign in
Recommended Articles
Vector : les sources en détail
Les sources de Vector : fichiers, logs Kubernetes, journald, syslog, sockets, HTTP, OpenTelemetry...
Vector : sources, transforms, sinks et topologie
Les concepts de Vector (sources, transforms, sinks), la configuration YAML, les composants couran...
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...
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 : 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...
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...
Fluent Bit ou Vector ? Choisir, combiner et migrer
Comparer Fluent Bit et Vector (performances, transformations, écosystème, gouvernance), les combi...
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...
Transformer avec VRL et tester ses pipelines Vector
Le langage VRL (Vector Remap Language) : analyse de logs (JSON, regex, syslog), gestion des erreu...