31 - Glossaire Logstash de A a Z
Ce que tu vas trouver ici
Tous les termes techniques de la serie, définis en 1-2 phrases avec un lien vers l'article ou ils sont expliques en détail. Ce glossaire sert de référencé rapide.
A
Aggregate (filtre) : filtre qui regroupe plusieurs événements en un seul en utilisant un identifiant de correlation (task_id). Necessite pipeline.workers: 1. Voir article 15.
API de monitoring : API REST exposee par Logstash sur le port 9600. Donne acces aux statistiques de sante, de performance et aux hot threads. Voir article 22.
Auto_offset_reset : paramètre de l'input Kafka qui definit le comportement au premier démarrage. earliest lit depuis le début du topic, latest ne lit que les nouveaux messages. Voir article 07.
B
Backpressure : mecanisme qui ralentit l'input quand le pipeline ne peut pas suivre. Filebeat bufferise en local, Kafka garde les messages dans le topic. Voir article 05.
Batch size : nombre d'événements traites en un seul lot par un worker (pipeline.batch.size, défaut 125). Un batch plus grand réduit l'overhead mais augmente la latence. Voir article 21.
Beats : famille d'agents legers de collecte de donnees (Filebeat, Metricbeat, Heartbeat). Filebeat est le plus utilise, il lit des fichiers de log et les envoie a Logstash. Voir article 05.
Bool query : pas un terme Logstash mais Elasticsearch. Combinaison de conditions must/should/must_not/filter pour la recherche.
Bulk API : API d'Elasticsearch utilisee par l'output Logstash pour envoyer des lots de documents en une seule requête HTTP. Voir article 17.
C
Codec : composant qui decode les donnees a l'entree du pipeline (bytes -> événement) et encode les donnees a la sortie (événement -> bytes). Exemples : json, plain, rubydebug, multiline. Voir article 08.
Conditionnel : structure if/else if/else qui contrôle le flux du pipeline. Permet de router les événements selon leurs champs, tags ou type. Voir article 16.
Consumer group : identifiant Kafka qui relie plusieurs consumers. Les partitions d'un topic sont reparties entre les consumers du meme groupe. Voir article 07.
Convert : opération du filtre mutate qui change le type d'un champ (string -> integer, float, boolean). Voir article 11.
D
Date (filtre) : filtre qui parse un timestamp dans un champ string et le convertit en objet date. Utilise pour ecraser @timestamp avec le vrai timestamp du log. Voir article 12.
Dead Letter Queue (DLQ) : file d'attente sur disque qui recoit les événements rejetes par Elasticsearch. Permet de les corriger et re-indexer. Voir article 23.
Dissect (filtre) : filtre de parsing qui decoupe le texte sans regex, en se basant sur des delimiteurs fixes. 5 a 10 fois plus rapide que Grok. Voir article 10.
Drop (filtre) : filtre qui supprime un événement du pipeline. L'événement ne passe pas aux filtres suivants et n'est pas envoye a l'output. Voir article 16.
E
Elastic Stack : ensemble de quatre outils : Elasticsearch (stockage/recherche), Logstash (transformation), Kibana (visualisation), Beats (collecte). Anciennement "ELK". Voir article 01.
Elasticsearch (output) : output le plus utilise. Envoie les événements dans Elasticsearch via la Bulk API. Voir article 17.
Event : unité de donnees dans Logstash. Un objet avec des champs (@timestamp, message, etc.) qui traverse le pipeline. Voir article 03.
F
Fan-out : pattern ou un événement est envoye a plusieurs outputs (Elasticsearch + Kafka + fichier). Voir article 18.
Filebeat : agent leger (15 Mo RAM) qui lit des fichiers de log et les envoie a Logstash ou Elasticsearch. Gere la position de lecture et le retry. Voir article 05.
Filter : bloc central du pipeline qui transforme les événements. Les filtres s'executent dans l'ordre du fichier .conf. Voir article 03.
G
GeoIP (filtre) : filtre qui ajoute la geolocalisation (pays, ville, coordonnees) à partir d'une adresse IP. Utilise la base MaxMind GeoLite2. Voir article 12.
Grok (filtre) : filtre de parsing base sur des patterns regex nommes. %{PATTERN:field} extrait un champ. Le filtre le plus utilise et le plus lent. Voir article 09.
Grok Debugger : outil en ligne ou dans Kibana pour tester des patterns Grok sur des lignes de log. Voir article 09.
_grokparsefailure : tag ajoute a un événement quand aucun pattern Grok ne matche. Voir article 09.
H
Heap (JVM) : mémoire allouee a la machine virtuelle Java. Controllee par -Xms et -Xmx. Ne pas dépasser 50% de la RAM totale. Voir article 21.
Hot threads : endpoint de l'API de monitoring (_node/hot_threads) qui montre les threads les plus actifs. Utile pour identifier le bottleneck. Voir article 22.
HTTP (input) : input qui transforme Logstash en serveur HTTP. Recoit des requêtes POST (webhooks, logs applicatifs). Voir article 06.
I
ILM (Index Lifecycle Management) : fonctionnalité d'Elasticsearch qui gere le cycle de vie des index : rollover, warm, cold, delete. Voir article 17.
Index template : modèle qui definit le mapping et les settings appliques automatiquement aux nouveaux index Elasticsearch. Voir article 17.
Input : premier bloc du pipeline. Lit les donnees depuis une source (fichier, Beats, HTTP, Kafka, JDBC). Voir article 03.
J
JDBC (input) : input qui exécuté une requête SQL a intervalles réguliers et envoie les résultats dans le pipeline. Utilise pour la synchronisation base de donnees -> Elasticsearch. Voir article 07.
jdbc_static (filtre) : filtre d'enrichissement qui charge des donnees SQL en mémoire et fait des lookups sans appel réseau par événement. Voir article 29.
JSON (codec) : codec qui parse un objet JSON complet par message. Chaque champ JSON devient un champ de l'événement. Voir article 08.
json_lines (codec) : codec qui parse un objet JSON par ligne (format NDJSON). Voir article 08.
K
Kafka (input/output) : Logstash peut lire et écrire dans des topics Kafka. L'input gere les consumer groups et les offsets. Voir article 07.
Keystore : stockage chiffre de secrets (mots de passe, API keys) accessible via ${VARIABLE} dans les fichiers .conf. Voir article 24.
KV (filtre) : filtre qui parse des paires clé=valeur. Utile pour les query strings et les logs key-value. Voir article 13.
L
Logstash.yml : fichier de configuration globale de Logstash (API, log level, rechargement, DLQ). Ne definit pas les pipelines. Voir article 02.
M
@metadata : champ special invisible dans les outputs. Utilise pour stocker des informations de routage et de debug sans polluer les donnees. Voir article 03.
Metrics (filtre) : filtre qui calcule des compteurs et des percentiles en temps réel sur les événements. Voir article 15.
Multiline : regroupement de plusieurs lignes en un seul événement. Necessaire pour les stack traces Java, Python, etc. Voir article 19.
Mutate (filtre) : filtre de transformation de champs : rename, remove, convert, gsub, lowercase, split, join, copy. Le plus utilise apres Grok. Voir article 11.
N
NDJSON : Newline Delimited JSON. Un objet JSON par ligne. Format standard pour les fichiers de log JSON et le codec json_lines.
O
Offset : position de lecture dans un topic Kafka. Gere par consumer group. Permet a Logstash de reprendre ou il s'est arrêté apres un redemarrage. Voir article 07.
Output : dernier bloc du pipeline. Envoie les événements vers une destination (Elasticsearch, Kafka, fichier, HTTP, S3). Voir articles 17 et 18.
P
Persistent queue : queue sur disque qui survit aux crashes de Logstash. Activee avec queue.type: persisted. Voir article 21.
Pipeline : chaîne de traitement définie dans un fichier .conf : input -> filter -> output. Voir article 03.
Pipeline-to-pipeline : communication entre pipelines via les plugins pipeline input/output. Permet les patterns distributeur et collecteur. Voir article 20.
Pipelines.yml : fichier qui definit les pipelines a charger, avec leurs paramètres individuels (workers, batch_size, queue). Voir article 20.
Plugin : composant modulaire de Logstash. Chaque input, filter, output et codec est un plugin. Voir article 03.
Q
Queue : file d'attente interne entre les inputs et les workers. Deux types : memory (défaut, rapide) et persisted (disque, durable). Voir article 21.
R
Rubydebug (codec) : codec de sortie qui affiche les événements dans un format lisible avec indentation. Utilise pour le debug. Voir article 08.
Ruby (filtre) : filtre qui exécuté du code Ruby pour des transformations complexes. L'API Event donne acces aux champs (event.get, event.set). Voir article 14.
S
Sincedb : fichier interne du plugin file input qui enregistre la position de lecture dans chaque fichier. Permet de reprendre apres un redemarrage. Voir article 04.
sql_last_value : variable du JDBC input qui contient la dernière valeur de la colonne de tracking. Utilisee pour la synchronisation incrementale. Voir article 07.
SSL/TLS : chiffrement des communications entre Filebeat et Logstash, et entre Logstash et Elasticsearch. Voir article 24.
stdout (output) : output qui affiche les événements dans la console. Avec le codec rubydebug pour le dev, json pour la prod. Voir article 18.
T
@timestamp : champ système qui contient la date/heure de l'événement. Utilise par Kibana pour la timeline. Mis à jour par le filtre date. Voir article 12.
Tags : tableau de strings attache a un événement. Ajoutes par les inputs, filtres ou erreurs (_grokparsefailure). Utilisees dans les conditionnels pour le routage. Voir article 16.
Translate (filtre) : filtre de lookup statique qui remplace une valeur par une autre selon un dictionnaire (YAML ou inline). Voir article 29.
Type : champ special défini dans l'input (type => "nginx"). Utilise dans les conditionnels pour router les événements par source. Voir article 16.
U
Upsert : créer un document Elasticsearch s'il n'existe pas, le mettre à jour s'il existe. Realise avec document_id et action => "index". Voir article 17.
W
Workers : threads de traitement qui executent les filtres et outputs en parallèle (pipeline.workers). Défaut : nombre de CPUs. Voir article 21.
X
XML (filtre) : filtre qui parse du XML et extrait des champs avec XPath. Voir article 13.
Precedent : 30 - Logstash en production
La serie complète
| # | Article |
|---|---|
| 00 | Pourquoi Logstash existe encore en 2026 |
| 01 | L'Elastic Stack de A a Z |
| 02 | Installer Logstash avec Docker |
| 03 | Anatomie d'un pipeline |
| 04 | Inputs stdin et file |
| 05 | Input Beats et Filebeat |
| 06 | Inputs HTTP, TCP, UDP |
| 07 | Inputs Kafka et JDBC |
| 08 | Les codecs |
| 09 | Le filtre Grok |
| 10 | Le filtre Dissect |
| 11 | Le filtre Mutate |
| 12 | Filtres Date et GeoIP |
| 13 | Filtres KV, JSON, XML |
| 14 | Le filtre Ruby |
| 15 | Aggregate et Metrics |
| 16 | Conditionnels et contrôle de flux |
| 17 | Output Elasticsearch |
| 18 | Outputs file, stdout et autres |
| 19 | Gerer le multiline |
| 20 | Pipelines multiples |
| 21 | Performance et tuning |
| 22 | Monitoring |
| 23 | Dead Letter Queue |
| 24 | Sécurité |
| 25 | Debugging |
| 26 | Testing |
| 27 | Cas pratique : logs applicatifs |
| 28 | Cas pratique : ETL PostgreSQL |
| 29 | Cas pratique : enrichissement |
| 30 | Logstash en production |
| 31 | Glossaire |