This article is available in French.
1. Les concepts #
Un graphe orienté.
Topologie #
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.yamlComposants courants #
| Type | Composants |
|---|---|
| Sources | file, kubernetes_logs, journald, syslog, http_server, kafka, opentelemetry, internal_metrics |
| Transforms | remap, filter, route, sample, dedupe, throttle, log_to_metric, aggregate |
| Sinks | loki, 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 5Bonne 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.
My progress
Sign in to track your progress and take notes. Sign in
Recommended Articles
Logs dans Datadog : collecte, pipelines, index et maîtrise du volume
Collecter les logs avec l'agent, les structurer avec pipelines et processeurs (grok), utiliser fa...
Datadog sur Kubernetes : Operator, Cluster Agent et Autodiscovery
Superviser Kubernetes avec Datadog : Datadog Operator et ressource DatadogAgent, Cluster Agent, A...
Datadog : la plateforme d'observabilité SaaS en un coup d'œil
Ce qu'est Datadog, ses produits (infrastructure, logs, APM, RUM, synthétiques, sécurité), ses con...
APM Datadog et OpenTelemetry : traces, services et corrélation avec les logs
Instrumenter ses applications pour l'APM Datadog (dd-trace, instrumentation en une étape, OpenTel...
Monitors, SLO, dashboards et Datadog as code
Créer des monitors efficaces (métriques, logs, APM, composites, anomalies), des SLO, des dashboar...
Bonnes pratiques Datadog : tags, coûts, alertes et gouvernance
Check-list pour exploiter Datadog efficacement : tagging unifié, maîtrise des coûts (hôtes, logs,...
Architecture de la plateforme Datadog : sites, organisations, clés et modèle de données
Comprendre l'architecture de Datadog : sources de données (agent, intégrations cloud, SDK, OpenTe...
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...