2017-08-28 1 views
0

mon grok filter est correct dans grok debugger mais ne fonctionne pas quand je démarre logstash.Logstash grok filter, débogueur OK mais échec de l'analyse de logstash

ma ligne journal

[Mon Aug 28 09:16:16.028821 2017] [php7:notice] [pid 11111] [client 22.22.66.66:66666] message d'erreur 

mon .conf

filter { 
    grok { 
     match => { "message" => "\[%{DAY:day} %{MONTH:month} %{MONTHDAY:monthday} %{TIME:time} %{YEAR:year}\] \[%{WORD:php}:%{WORD:logelvel}\] \[%{WORD} %{WORD:processus}\] \[%{WORD} %{IP}:%{POSINT:port}\] %{GREEDYDATA: message}" } 
    } 
} 

Résultat:

@timestamp:August 28th 2017, 10:40:22.380 offset:5,269 @version:1 input_type:log beat.hostname:ip-166-55-55-55 beat.name:ip-166-55-55-55 beat.version:5.5.1 host:ip-175-61-66-66 source:/var/log/apache2/filelog.log 
message:[Mon Aug 28 09:10:59.023093 2017] [php7:notice] [pid 11111] [client 22.22.66.66:66666] 
message d'erreur type:log tags:beats_input_codec_plain_applied, _grokparsefailure _id:AV4n_8akHhd-RttynnUH _type:log _index:index-2017.08.28 _score: - 

super sympa pour votre aide.

Répondre

0

Vous devez échapper à votre parenthèse carrée comme ceci:

\[%{DAY:day} %{MONTH:month} %{MONTHDAY:monthday} %{TIME:time} %{YEAR:year}\] \[%{WORD:php}:%{WORD:logelvel}\] \[%{WORD} %{WORD:processus}\] \[%{WORD} %{IP}:%{POSINT:port}\] %{GREEDYDATA:message} 
+0

L'espace '% {GREEDYDATA: message}' doit être supprimé ou il ne fonctionnera pas (au moins dans le débogueur grok). – baudsp

+0

correct, merci – whites11

+0

Désolé, je ne vois pas la différence entre les deux. Ok pour l'espace – Cleoh