2017-04-24 1 views
0

J'essaie de faire correspondre le niveau de log d'un fichier journal avec un filtre de grok, mais je reçois toujours un _grokparsefailure. Le problème est peut-être avec l'espace entre [et le niveau de journal.problème de filtrage de groins

exemple de journal: 21/04/2017 10: 12: 03004 [INFO] Message

mon filtre:

filter { 
    grok { 
     match => { 
      "log.level" => "\[ %{LOGLEVEL:loglevel}\]" 
     } 
    } 
} 

J'ai essayé aussi d'autres solutions sans succès:

"\[ *%{LOGLEVEL:loglevel}\]" 
"\[%{SPACE}%{LOGLEVEL:loglevel}\]" 

Merci d'avance pour votre aide

Répondre

0

Le point est le champ par défaut est le message et vous devez trouver toute la chaîne

filter { 
    grok { 
     match => { 
      "message" => "%{TIMESTAMP_ISO8601:logDate} \[ %{LOGLEVEL:loglevel}\]%{GREEDYDATA:messages}" 
     } 
    } 
}