RousselTMLEARNING

Observabilité

Logstash : gérer les plugins et adopter Elastic Common Schema (ECS)

Version écrite des leçons vidéo : lister, installer, mettre à jour et embarquer hors ligne les plugins Logstash ; comprendre ECS, le mode ecs_compatibility et nommer ses champs.

1. La gestion des plugins #

Étendre Logstash.

Les commandes #

Lister et installer des plugins.
bin/logstash-plugin list --verbose            # plugins installés et versions
bin/logstash-plugin install logstash-filter-translate
bin/logstash-plugin update logstash-input-kafka
bin/logstash-plugin remove logstash-output-xyz

# Hors ligne : préparer un paquet sur une machine connectée, l'installer ailleurs
bin/logstash-plugin prepare-offline-pack logstash-filter-translate
bin/logstash-plugin install file:///tmp/logstash-offline-plugins-9.1.0.zip
TypeExemples
inputbeats, kafka, jdbc, s3, http
filtergrok, dissect, mutate, translate, geoip
outputelasticsearch, s3, kafka, file
codecjson, multiline, plain
Erreur courante : Installer des plugins à la main sur chaque serveur : les versions divergent et un redéploiement les perd. Construisez une image Docker ou un paquet qui embarque les plugins nécessaires.

2. Elastic Common Schema #

Des champs communs.

Pourquoi ECS #

ECS définit des noms de champs communs : source.ip, host.name, http.response.status_code, log.level, event.category… Quand toutes les sources les respectent, une même requête, un même tableau de bord ou une même règle de détection fonctionne sur toutes les données.

Champ maisonChamp ECS
clientipsource.ip
statushttp.response.status_code
levellog.level
serverhost.name
useruser.name
filter {
  mutate {
    rename => {
      "clientip" => "[source][ip]"
      "status"   => "[http][response][status_code]"
      "level"    => "[log][level]"
    }
  }
}

Le mode ecs_compatibility #

Depuis la version 8, les plugins Logstash produisent par défaut des champs compatibles ECS (pipeline.ecs_compatibility: v8) : l'input beats, grok avec les motifs ECS, geoip… Le mode disabled retrouve l'ancien comportement, utile pour migrer d'anciens pipelines.

Bonne pratique : Placez vos champs métier hors des espaces ECS, sous un préfixe à vous (labels.* pour des mots-clés simples, ou monapp.*) : ils ne risquent pas d'entrer en conflit avec une future version d'ECS.

Articles liés

Logstash : rôle, concept de pipeline et installation

Version écrite des leçons vidéo : à quoi sert Logstash, comment fonctionne un pipeline (inputs, filtres, sort…

Logstash : les entrées (inputs) et les sorties (outputs)

Version écrite des leçons vidéo : les inputs courants (beats, file, tcp/udp, http, kafka, jdbc) et les sortie…

Logstash : les filtres, grok et dissect

Version écrite des leçons vidéo : les filtres essentiels (mutate, date, json, kv, drop), le plugin grok et se…

Pour aller plus loin

Soutenir

♥ SOUTENIR

Soutenez RousselTM Learning

Les formations, articles, TP et attestations restent gratuits et sans publicité intrusive. Une contribution libre, du montant de votre choix, finance l’hébergement, les environnements de TP et l’écriture de nouveaux contenus.

Contribuer avec PayPal Montant libre · carte bancaire ou compte PayPalEn savoir plus
QR code PayPal
Ou scannez ce QR code avec votre téléphone

Merci, chaque contribution compte !