我有一個ELK羣集讓我的日誌保持在下面,並且我想在log中提取一些使用logstash grok的字段。帶有前綴和後綴的匹配字符串使用Logstash grok pattern
[info ][170703 10:34:38.998686/832]acct ok,deal_time=122ms;ACCESS_PORT=216179383538692472&ACCESS_TYPE=2&ACCOUNT=07592111916&Acct-Status-Type=3;
這裏是我的grok模式。
%{SYSLOG5424SD}\[%{DATA:[@metadata][timestamp]}\/%{NUMBER}\]%{WORD:type}\ %{WORD:status}\,%{GREEDYDATA}%{NUMBER:dealtime}ms\;%{GREEDYDATA}(?<acct>(?<=ACCOUNT=).*)
我想提取一些字段的值並將其賦予事件變量。 例如。 acct = 07592111916
我使用(?(?< = ACCOUNT =)。* & $)來提取值,但不起作用,我的問題在哪裏?
我調試在這個網站的代碼。 http://grokdebug.herokuapp.com
下面是否爲你工作的答案? –
@WiktorStribiżew是的,它的工作原理。 – Kizer
如果您有其他問題,請發佈。 –