2017-02-27 1 views
0

Je journaux multilignes personnalisés que je suis en train de traiter une seule ligne par le mot-clé multiligne filebeat. Maintenant cela inclut \ n à la fin de chaque ligne. Cela provoque cependant une erreur d'analyse grok dans mon fichier de configuration logstsash. Quelqu'un peut-il m'aider à ce sujet. Voici comment tous ressemblent:Parse logstash filtre grok grok échec

S'il vous plaît me aider avec le filtre grok la ligne suivante:

11/18/2016 3:05:50 AM: \ nErreur est jeté: \ nEmpty Queue \ n ********************************************** *************************** \ Nrequest envoyé est: \ nhpi_hho_de, 2015423181057, e06106f64e5c40b4b72592196a7a45cd \ n ********* ********************************************** ************** \ nResponse reçu est: \ nQSS RMS Contient Hashtable est \ n vide ********************* ************************************************** **

+0

Si vous pouviez poster votre * logstash config *? – Kulasangar

Répondre

0

Comme @Mohsen suggéré que vous pourriez avoir à utiliser le filtre gsub afin de remplacer tous les caractères de nouvelle ligne dans votre ligne de journal.

filter { 
    mutate { 
    gsub => [ 
     # replace all forward slashes with underscore 
     "fieldname", "\n", ""   
    ] 
    } 
} 

Peut-être que vous pourriez aussi faire ce qui précède dans un état if, pour vous assurer qu'il n'y a pas une défaillance grokparse.

if "_grokparsefailure" in [tags] or "_dateparsefailure" in [tags] { 
    drop { } 
}else{ 
    mutate { 
    gsub => [ 
     # replace all forward slashes with underscore 
     "fieldname", "\n", ""   
    ] 
    } 
} 

Espérons que cela aide!

+0

Merci beaucoup pour vos réponses rapides, cela a fonctionné !! – prosenjit

+0

pouvez-vous s'il vous plaît jeter un oeil à ce http://stackoverflow.com/questions/42576560/logstash-grok-parsing-for-xml – prosenjit

0

vous pouvez trouver votre réponse ici:

https://www.elastic.co/guide/en/logstash/current/plugins-filters-mutate.html

vous devez utiliser le bloc Mutate pour remplacer tous les "\n" avec "" (chaîne vide). ou utiliser ce

%{DATESTAMP} %{WORD:time} %{GREEDYDATA} 
+0

Merci beaucoup pour vos réponses rapides, cela a fonctionné! – prosenjit

+0

pouvez-vous s'il vous plaît regarder cela http://stackoverflow.com/questions/42576560/logstash-grok-parsing-for-xml – prosenjit