J'ai des données provenant de kafka et je veux les envoyer à ElasticSearch. J'ai un journal comme celui-ci avec des tags:Grok - analyse des champs optionnels
<TOTO><ID_APPLICATION>APPLI_A|PRF|ENV_1|00</ID_APPLICATION><TN>3</TN></TOTO>
Je suis en train de l'analyser avec grok
en utilisant débogueur grok:
\<ID_APPLICATION\>%{WORD:APPLICATION}\|%{WORD:PROFIL}\|%{WORD:ENV}\|%{WORD:CODE}\</ID_APPLICATION\>\<TN\>%{NUMBER:TN}\</TN\>
Il fonctionne, mais parfois le journal a un nouveau champ comme ce (celui avec l'étiquette <TP>
):
<TOTO><ID_APPLICATION>APPLI_A|PRF|ENV_1|00</ID_APPLICATION><TN>3</TN><TP>new</TP></TOTO>
Je voudrais obtenir des lignes avec ce champ (la balise de TP) et les lignes sans. Comment puis je faire ça?
Utilisez-vous: http://grokdebug.herokuapp.com/ en tant que débogueur? – vdolez
Il semble que vous pouvez utiliser un groupe facultatif: '% {WORD: APPLICATION} \ |% {WORD: PROFIL} \ |% {WORD: ENV} \ |% {WORD: CODE} ID_APPLICATION> % {NOMBRE: TN} (?: % {WORD: TP} )? S'il vous plaît essayez et laissez-moi savoir si cela fonctionne pour vous. –
Ça marche! Merci beaucoup !! – David