Supprimer champs envoyés par filebeat impossible?


(Charles-Henri Boust) #1

Bonjour,

dans ma configuratoin LS (dont voici un extrait) je ne veux pas conserver certains champs envoyés par filebeat :

 if [source] =~ "backup_restore" {
    if [type] == "crs" {
      # Generation du uuid pour rendre la gestion des doublons
      #uuid {
      #  add_field => [ "hostname","instance","timestamp" ]
      #  target    => "@uuid"
      #  overwrite => true
      #}

      # cas pour les fichiers crs
      csv {
        separator => ";"
        columns   => [ "hostname","instance","date_injection","heure_injection","duree","inspected","backup","failed","transfert_time","taux_cp","volume","sauve","classarch","log","app_save","save_mode","dsm_opt","version_tbx" ]
        remove_field => [ "message","beat.hostname","beat.name","input_type","offset" ]
      }
    }

    if [type] == "err" {
      # cas pour les fichiers err
      csv {
        separator => ";"
        columns   => [ "hostname","instance","date_injection","heure_injection","codeans","poids","fichier_err" ]
        remove_field => [ "message","beat.hostname","beat.name","input_type","offset" ]
      }
    }

Les champs offset et input_type (+ message) ont bien été supprimés, cependant ce n'est pas le cas des champs beat.name et beat.hostname.
C'est un comportement normal ?

Versions : LS 2.2.0 / Filebeat 1.1.0, sur RHEL 6


(David Pilato) #2

Il me semble avoir aussi observé un comportement analogue.

Peut-être ajoute un filtre mutate à la fin?


(Charles-Henri Boust) #3

Vous voulez dire un filtre mutate pour le remove_field ? C'est ce que j'avais fait initialement, j'avais regroupé en fin de groupe filter les filtres commun (gestion du timestamp + les remove-field). Idem ça ne fonctionnait pas mieux, les champs beat.* n'étaient pas supprimés.
Bon ce n'est pas vital, juste "gênant" à la lecture pour le quidam.


(David Pilato) #4

Peut-être faut-il écrire le champ sous la forme [beat][name]? Ou simplement virer tout beat?


(Charles-Henri Boust) #5

Pourquoi pas effectivement, je ne sais pas. Je testerais demain au bureau et posterait les résultats !


(Charles-Henri Boust) #6

Bonjour @dadoonet,

Avec ceci :

  mutate {
    remove_field => [ "[beat]","input_type","offset" ]
  }

les champs beat.* sont bien supprimés.

A bientôt,

CH


(system) #7