Este artículo está disponible en francés.
1. Le rôle des inputs #
La porte d'entrée des données.
Principe #
Un input collecte des données : il lit un fichier, écoute un port, interroge le système ou reçoit un protocole. Chaque enregistrement reçoit un tag (par exemple kube.var.log.containers.api-xyz.log) : c'est lui que les filtres et les outputs utilisent, via Match, pour décider de ce qu'ils traitent.
| Famille | Inputs | Usage |
|---|---|---|
| Fichiers | tail | Logs applicatifs, conteneurs (/var/log/containers) |
| Système | systemd, kmsg | Journal systemd, noyau |
| Réseau | syslog, tcp, udp, http | Équipements réseau, applications qui poussent |
| Protocoles d'agents | forward, opentelemetry | Fluentd/Fluent Bit en chaîne, SDK OpenTelemetry (OTLP) |
| Métriques | node_exporter_metrics, prometheus_scrape, cpu, mem | Métriques de l'hôte et des applications |
| Kubernetes | kubernetes_events | Événements du cluster |
2. Lire des fichiers avec tail #
L'input le plus utilisé.
Configuration #
pipeline:
inputs:
- name: tail
tag: app.*
path: /var/log/app/*.log
exclude_path: /var/log/app/*.gz
db: /var/lib/fluent-bit/tail-app.db # positions de lecture
read_from_head: false # nouveau fichier : partir de la fin
refresh_interval: 10 # recherche de nouveaux fichiers (s)
rotate_wait: 30 # continuer à lire l'ancien fichier après rotation (s)
skip_long_lines: on
multiline.parser: docker, cri, java # recoller les lignes d'une exception
mem_buf_limit: 50MB
storage.type: filesystemPoints d'attention #
pathaccepte les jokers ; le tag avec*est complété par le chemin du fichier (points à la place des barres).- Le multiligne se règle dès l'input :
dockeretcrireconstituent les lignes coupées par le runtime ;java,python,goregroupent les traces de pile. - Le fichier DB doit être sur un volume persistant (hostPath sur Kubernetes).
3. Autres inputs utiles #
Réseau, journald, OpenTelemetry.
Exemples #
pipeline:
inputs:
- name: systemd
tag: host.journal
systemd_filter: _SYSTEMD_UNIT=nginx.service
read_from_tail: on
- name: syslog
mode: udp
listen: 0.0.0.0
port: 5140
parser: syslog-rfc5424
- name: opentelemetry # reçoit logs, métriques et traces OTLP/HTTP
listen: 0.0.0.0
port: 4318
- name: forward # depuis d'autres agents Fluent Bit ou Fluentd
listen: 0.0.0.0
port: 24224
- name: node_exporter_metrics
tag: host.metrics
scrape_interval: 30Mémoire et contre-pression #
Quand une sortie ralentit, les données s'accumulent. mem_buf_limit borne la mémoire d'un input : une fois atteint, l'input est mis en pause (risque de perte pour les inputs réseau). Avec storage.type: filesystem, les chunks débordent sur disque et rien n'est perdu.
service:
storage.path: /var/lib/fluent-bit/buffer
storage.sync: normal
storage.backlog.mem_limit: 50MBonne Pratique : Pour les inputs réseau (syslog, http, forward), le tampon disque est indispensable : un client qui envoie pendant une pause perd ses messages.
Mi seguimiento
Inicia sesión para seguir tu progreso y tomar notas. Iniciar sesión
Artículos recomendados
Fluent Bit : pipeline, configuration et plugins essentiels
Les concepts de Fluent Bit (inputs, parsers, filters, tags et match, buffer, outputs), la configu...
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 : parsers et filters, structurer et transformer les logs
Structurer et transformer les logs dans Fluent Bit : parsers (json, regex, logfmt, ltsv), parsers...
Fluent Bit sur Kubernetes : DaemonSet, multiline, tampon et supervision
Déployer Fluent Bit sur Kubernetes avec Helm, enrichir avec le filtre kubernetes, gérer les logs ...
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...
Vector : les sources en détail
Les sources de Vector : fichiers, logs Kubernetes, journald, syslog, sockets, HTTP, OpenTelemetry...
Fluent Bit ou Vector ? Choisir, combiner et migrer
Comparer Fluent Bit et Vector (performances, transformations, écosystème, gouvernance), les combi...
Collecter des logs vers Loki : Alloy, Promtail, Docker et OpenTelemetry
Envoyer des logs vers Loki : Grafana Alloy, Promtail, driver Docker, OTLP, bons labels, parsing e...