我对logstash grok过滤器有疑问

问题描述 投票:0回答:1

我想通过logstash的grok过滤器提取字段。例如,如果出现以下日志,我想提取消息时间,线程,日志级别和状态代码。

2020-01-01 10:10:10 [QuartzScheduler-1]错误发生c.l.c.i.c.t.a.c.AmazonElbV2Task-Exception ..... LoadBalancing;状态码:400;错误代码:节流;

消息时间,线程和日志级别是通过以下过滤器提取的。如何提取状态码?

%{TIME:messageTime} [(?[A-Za-z0-9 \ W .-_] +)]%{LOGLEVEL:logLevel}

logstash logstash-grok elk
1个回答
0
投票

您可以使用以下GROK表达式。使用GROK调试器对您提供的输入进行了测试。我建议您也使用kibana的GROK调试器,或者可以在线找到1个以构建GROK表达式。

^%{TIMESTAMP_ISO8601:event_timestamp}%{SPACE}\[%{DATA:thread}\]%{SPACE}%{LOGLEVEL:log_level}%{GREEDYDATA}Status Code: %{NUMBER:status:int}%{GREEDYDATA}$
© www.soinside.com 2019 - 2024. All rights reserved.