2017-10-12 11 views
0

J'ai une entrée commecomment puis-je échapper backslash dans le modèle Grok personnalisé

app\exceptions\SomeException 

et le modèle est

%{EXCEPTION_CLASS:exception} 

et motif personnalisé comme

{"EXCEPTION_CLASS" : "app\\\\exceptions\\\\SomeException"} 

Débogueur Grok (en Kibana), la sortie est

{ 
    "exception": "app\\exceptions\\SomeException" 
} 

Ce n'est pas ce à quoi je m'attendais. Tout d'abord, l'utilisation de la double barre oblique inversée ne correspond pas à l'entrée.

{"EXCEPTION_CLASS" : "app\\exceptions\\SomeException"} 
#This gives no output 

Deuxièmement, je suis sortie avec quatre backslash, mais il y avait deux barres obliques inverses dans ce qui ce que je pensais était backslash comme l'entrée.

Comment cela fonctionne-t-il et comment j'échappe correctement à un antislash dans le motif Grok?

+0

Copie possible de [Comment est-ce que je peux échapper backslash dans le modèle de logstash grok?] (Https://stackoverflow.com/questions/30304397/how-can-i-escape-backslash-in-logstash-grok-pattern) – Phonolog

Répondre

0

J'ai essayé votre exemple. A la suite grok fonctionne pour moi avec cette entrée "\ app \ exection \ somethingother"

grok{ 
    match => { "message" => "\\%{WORD:app}\\%{WORD:exception}\\%{WORD:other}" } 
} 

Alors \ pour échapper \ fonctionne bien pour moi.

+0

Cela fonctionne pour moi dans le piolet de logstash. Je ne comprends pas le comportement dans le débogueur Grok à Kibana. – geliba187