Créez vos propres patterns grok pour Logstash

Edit 28/05/2013 Ajout d’un lien utile dans Créer le pattern

Les filtres Grok pour Logstash

Logstash est un outil permettant de scanner nos fichiers de logs (ou tout autre fichier) et d’en extraire de l’information. Nous vous le présentions dans ce post.

Les filtres grok pour logstash sont ceux utilisés pour extraire l’information de nos messages. Ils se basent sur les expressions régulières.

Logstash est fourni avec un grand nombre de patterns grok prédéfinis. Mais il peut arriver que l’on ait besoin d’en créer de nouveaux pour satisfaire certains cas particuliers.

Prenons un exemple simple, l’adresse mail. Aucun pattern ne permet de sélectionner une adresse mail qui apparaît dans les messages.

Créer le pattern

Pour créer le pattern, nous allons créer un nouveau fichier : »/etc/logstash/mypatterns.conf ».

Nous insérons une seule ligne dans ce fichier :

MAIL \b[a-zA-Z0-9._%-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}\b

Ici nous avons l’expression régulière qui correspond au format d’une adresse e-mail. Et le pattern aura pour nom MAIL. Pour récupérer une adresse e-mail qui apparaît dans le message, il nous suffira de mettre dans notre pattern du filtre grok :

pattern => '%{MAIL:adresse_mail}'

Sur une ligne qui ne comportera qu’une adresse e-mail, le pattern permet de stocker cette adresse dans le champs adresse_mail qu’il va créer.

Vous trouverez à cette adresse un utilitaire pour tester vos pattern groke

Prise en compte de nos patterns par logstash

À ce stade, nous avons créé le pattern mais logstash ne l’intègre pas. Il faut modifier la commande d’exécution de logstash.

Celle-ci devient alors :

java -jar /etc/logstash/logstash.jar agent -f /etc/logstash/logstash.conf --grok-patterns-path /etc/logstash/mypatterns.conf

Ainsi logstash ira chercher les patterns supplémentaires dans notre fichier. On peut alors utiliser notre pattern dans nos filtres grok.

Vous pouvez maintenant créer vos patterns grok et récupérer exactement l’information qu’il vous faut de vos logs.

Une réflexion sur “ Créez vos propres patterns grok pour Logstash ”

  1. Ping : Tutoriel sur les Regex (Logstash) | Les notes d'un SISR

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *