我从kafka获取数据并想将它们发送到ElasticSearch。 我有一个带有标记的日志,格式如下:
<TOTO><ID_APPLICATION>APPLI_A|PRF|ENV_1|00</ID_APPLICATION><TN>3</TN></TOTO>
我正在尝试使用 grok
和 grok 调试器对其进行解析:
\<ID_APPLICATION\>%{WORD:APPLICATION}\|%{WORD:PROFIL}\|%{WORD:ENV}\|%{WORD:CODE}\</ID_APPLICATION\>\<TN\>%{NUMBER:TN}\</TN\>
它可以工作,但有时日志中会有一个新字段,像这样(带有 <TP>
标记的字段):
<TOTO><ID_APPLICATION>APPLI_A|PRF|ENV_1|00</ID_APPLICATION><TN>3</TN><TP>new</TP></TOTO>
我想获取包含此字段(TP标记)和不包含此字段的行。我该怎么做?
<ID_APPLICATION>%{WORD:APPLICATION}\|%{WORD:PROFIL}\|%{WORD:ENV}\|%{WORD:CODE}</ID_APPLICATION><TN>%{NUMBER:TN}</TN>(?:<TP>%{WORD:TP}</TP>)?
。请尝试并告诉我是否有效。 - Wiktor Stribiżew