Windows Event log en français


(Matthieu Robin) #1

Bonjour à tous,

Je me permets de vous contacter car j'ai un souci pour filtrer mes events logs de mon Windows FR.
J'utilise WinlogBeat et cela fonctionnait bien en anglais, mais pas en français.
Je dois surement oublier quelque choses...
Voici mon input:

input {
beats {
port => 5044
codec => plain
}
}

Et mon filter:

filter {
  mutate {
    gsub => [
      "message", "\r\n", " ",
      "message", "\n", " "
    ]
  }

  if [event_id] == 4634 {
    grok {
      match => { "message" => "%{GREEDYDATA:msg} Sujet : .*ID de sécurité :\s*%{NOTSPACE:security_id}\s*Nom du compte :\s*%{GREEDYDATA:account_name}\s*Domaine du compte :\s*%{NOTSPACE:account_domain}" }
    }
  }
  if [event_id] == 4624 {
    grok {
      match => { "message" => "%{GREEDYDATA:msg} Sujet : .*ID de sécurité :\s*%{NOTSPACE:security_id}\s*Nom du compte :\s*%{GREEDYDATA:account_name}\s*Domaine du compte :\s*%{NOTSPACE:account_domain}" }
    }
  }
}

Malheureusement, cela ne fonctionne pas, et mes fields ne sont pas reconnu.
Avez vous une idée?
J'ai bosser un peu avec grok debugger, mais j'ai plus l'impression que c'est un problème de codage!

Merci d'avance pour votre aide!


(David Pilato) #2

Essaye de formater ton code plutôt que d'utiliser la fonction citation.

Je parie que tu as un problème d'encoding.
Tu as un é dans ton fichier logstash et de mémoire, Windows encode les fichiers en cp-xxx or logstash et elasticsearch demande de l'UTF-8.


(Matthieu Robin) #3

Merci de ta réponse, mais je suis loin de tout comprendre :-/
Formater mon code? Qu'entends tu part la? Utiliser charset? J'ai essayé UTF8, ASCII, CP1252 avec des codecs "plain, line, json, json_line"...

Est ce que je devrais pas changer quelques choses dans la config de winlogbeat?

Merci d'avance pour votre aide!


(David Pilato) #4

Formater. Je voulais dire: passer de ça:

à ça:

Je viens de modifier une partie de ta question pour montrer la différence. L'un est lisible, l'autre moins...

Encoder en UTF-8, ben ça dépend du logiciel que tu utilises pour créer ton fichier de configuration logstash.
Est-ce que logstash tourne sous Windows ? Est-ce que tu utilises notepad.exe ?
Si oui, ben y a fort à parier que le fichier de conf soit encodé en "windows". Donc ton caractère accentué n'a pas le même "code" qu'un é encodé en UTF-8. Du coup, logstash le voit peut-être autrement...

Ca n'est qu'une supposition...


(Matthieu Robin) #5

Merci de ton aide!
Alors, mon ELK est sous CentOS, et j'utilise Vi pour faire la config.

Mon log s'affiche comme ça dans Kibana (Json):
"_source": {
"message": "Fermeture de session d’un compte. Sujet : \tID de sécurité :\t\tS-1-5-21-1384711216-490714767-1472526301-1002 \tNom du compte :\t\ttest1 \tDomaine du compte :\t\tMR2012 \tID du compte :\t\t0x15A9BD Type d’ouverture de session :\t\t\t3 Cet événement est généré lorsqu’une session ouverte est supprimée. Il peut être associé à un événement d’ouverture de session en utilisant la valeur ID d’ouverture de session. Les ID d’ouverture de session ne sont uniques qu’entre les redémarrages sur un même ordinateur.",

Donc il y a bien un soucis de codage.
Est ce que je dois changer quelque chose dans l'input de mon logstash ou peut être dans mon fichier de config de WinLogBeat?

Merci d'avance


(David Pilato) #6

Du coup je ne sais pas et je pense que le mieux serait d'ouvrir une issue dans beats avec toutes ces infos.


(system) #7