Stack ELK : Logstash et Kibana les outils d'Elasticsearch

Les filtres

Définition

Le GROS point for de logstash, c'est sa capacité à pouvoir filtrer tous les types possibles de données. Il existe de nombreux plugins qui permetttent de traiter vos données

  • Ils permettent :

    • d'extraire les données

    • d'analyser les données

    • de nettoyer les données

    • d'ajouter des champs

    • de supprimer des champs

    • De détecter du texte en fonction d'un pattern et de le parser

  • Des outils comme grok qui se basent sur des expressions régulières permettent de détecter des patterns dans les données

1
aggregate alter anonymize collate csv cidr clone cipher checksum date de_dot dns drop   elasticsearch extractnumbers environment elapsed fingerprint geoip grok   i18n json json_encode kv mutate metrics multiline metaevent prune punct ruby range syslog_pri sleep split throttle translate uuid urldecode useragent   xml zeromq  	 

ExempleGrok les regex sous hormones

Grok vous permet de parser un message et de stocker son contenu dans différents champs. (Très utile pour les fichiers de log)

Grok est livré avec des pattern pré-définis comme (Syslog, Apache, ...)

Il est possible de définir ses propres patten

Grok debugger: http://grokdebug.herokuapp.com/

SyntaxeLa syntaxe

1
filter {
2
   # Lecture d'un fichier csv
3
   csv {
4
    	columns => ["col1","col2","col3"]
5
	    separator => ";"
6
   }
7
}
1
filter {
2
  mutate {
3
    gsub => [
4
      # Remplace tous les slashes par des underscore
5
      "fieldname", "/", "_",
6
      # Remplace les backslashes, point d'interrogation, dièse, et tiret
7
      # par un point "."
8
      "fieldname2", "[\\?#-]", "."
9
    ]
10
  }
11
}

RemarqueRemarque

Il est aussi possible d'écrire facilement son propre plugin de filtre en ruby en plaçant l'arborescence suivante avec les fichiers de configuration

1
logstash/filters/mon_plugin.rb
PrécédentPrécédentSuivantSuivant
AccueilAccueilImprimerImprimer Antoine Barbare, 2015 (Contributions : Stéphane Crozat, les étudiants de l'UTC) Paternité - Partage des Conditions Initiales à l'IdentiqueRéalisé avec Scenari (nouvelle fenêtre)